การส่งเสริม
มหาวิทยาลัยชวา
การเรียนรู้
หลักสูตร
งาน
แบบสำรวจและแบบทดสอบ
เกม
ช่วย
กำหนดการ
ฝึกงาน
ชุมชน
ผู้ใช้
ฟอรั่ม
แชท
บทความ
เรื่องราวความสำเร็จ
กิจกรรม
บทวิจารณ์
การสมัครรับข้อมูล
ธีมสว่าง
บทความ
  • บทวิจารณ์
  • เกี่ยวกับเรา
  • CS50
เริ่ม
เริ่มเรียนรู้
  • บทความ
  • ผู้เขียน
  • ทุกกลุ่ม
  • รายการบทความทั้งหมด
JavaRush /บล็อกจาวา /Random-TH /ระดับ 35 คำตอบสำหรับคำถามสัมภาษณ์ในหัวข้อระดับ
Afli
ระดับ
  • 28 February 2021
  • 315 views
  • 0 comments

ระดับ 35 คำตอบสำหรับคำถามสัมภาษณ์ในหัวข้อระดับ

เผยแพร่ในกลุ่ม
Telegram
ยินดีต้อนรับคำถาม/เพิ่มเติม/คำวิจารณ์ ระดับ 35 คำตอบสำหรับคำถามสัมภาษณ์ในหัวข้อระดับ - 1
  1. คุณรู้จักระบบควบคุมเวอร์ชันใด

    Git, SVN, บาซาร์, Mercurial

  2. SVN และ Git แตกต่างกันอย่างไร

    1. GIT เป็น VCS แบบกระจาย แต่ SVN ไม่ใช่ กล่าวอีกนัยหนึ่ง หากมีนักพัฒนาหลายคนทำงานกับพื้นที่เก็บข้อมูล แต่ละคนจะมีสำเนาทั้งหมดของพื้นที่เก็บข้อมูลนี้บนเครื่องภายในของตน แน่นอนว่ายังมีเครื่องกลางที่คุณสามารถโคลนพื้นที่เก็บข้อมูลได้ สิ่งนี้ทำให้นึกถึง SVN ข้อได้เปรียบหลักของ Git คือหากคุณไม่สามารถเข้าถึงอินเทอร์เน็ตโดยฉับพลัน คุณยังคงสามารถทำงานกับพื้นที่เก็บข้อมูลได้ จากนั้นเพียงทำการซิงโครไนซ์เพียงครั้งเดียวแล้วนักพัฒนารายอื่นทั้งหมดจะได้รับประวัติทั้งหมด

    2. GIT จัดเก็บการเปลี่ยนแปลงข้อมูลเมตา ในขณะที่ SVN จัดเก็บไฟล์ทั้งหมด ช่วยประหยัดพื้นที่และเวลา

  3. GitHub คืออะไร? คุณมีโปรเจ็กต์บน GitHub หรือไม่?

    GitHub เป็นบริการโฮสต์โครงการบนเว็บโดยใช้ระบบควบคุมเวอร์ชัน git รวมถึงเครือข่ายโซเชียลสำหรับนักพัฒนา ผู้ใช้สามารถสร้างพื้นที่เก็บข้อมูลได้ไม่จำกัดจำนวน โดยแต่ละแห่งมี Wiki มีระบบติดตามปัญหาให้ สามารถตรวจสอบโค้ดได้ ฯลฯ นอกจาก Git แล้ว บริการนี้ยังรองรับการรับและแก้ไขโค้ดผ่าน SVN และ Mercurial

  4. ทำไมเราต้องมีระบบควบคุมเวอร์ชัน?

    VCS ช่วยให้สามารถคืนไฟล์แต่ละไฟล์กลับไปเป็นรูปแบบก่อนหน้า คืนทั้งโปรเจ็กต์เป็นสถานะก่อนหน้า ดูการเปลี่ยนแปลงที่เกิดขึ้นเมื่อเวลาผ่านไป กำหนดว่าใครเป็นคนสุดท้ายที่ทำการเปลี่ยนแปลงโมดูลที่หยุดทำงานกะทันหัน ใครและเมื่อแนะนำบางประเภท ของข้อผิดพลาดในโค้ด ฯลฯ .. โดยทั่วไปหากใช้ VCS คุณทำลายทุกอย่างหรือสูญเสียไฟล์ทุกอย่างก็สามารถกู้คืนได้อย่างง่ายดาย

  5. ทั่วไปคืออะไร? มีการนำไปใช้งานใน Java อย่างไร?

    ข้อมูลทั่วไปเป็นประเภทที่กำหนดพารามิเตอร์ ด้วยความช่วยเหลือของพวกเขา คุณสามารถประกาศคลาส อินเทอร์เฟซ และวิธีการ โดยระบุประเภทข้อมูลเป็นพารามิเตอร์ ข้อมูลทั่วไปเพิ่มความปลอดภัยของประเภทให้กับภาษา

    ตัวอย่างการใช้งาน:

    class MyClass<T>{
      T obj;
      public MyClass(T obj){
        this.obj = obj;
      }
    }
    class MyClass<T>

    วงเล็บมุมใช้Tซึ่งเป็นชื่อของพารามิเตอร์ประเภท ชื่อนี้ใช้เป็นตัวยึดสำหรับชื่อของประเภทจริงที่ส่งไปยังชั้นเรียนMyClassเมื่อสร้างประเภทจริง นั่นคือ พารามิเตอร์ type Tถูกใช้ในคลาสทุกครั้งที่ต้องการพารามิเตอร์ type วงเล็บเหลี่ยมระบุว่าพารามิเตอร์สามารถสรุปได้ คลาสนั้นเรียกว่าคลาสทั่วไปหรือประเภทที่กำหนดพารามิเตอร์

    ถัดไปประเภทTที่ใช้ในการประกาศวัตถุตามชื่อobj:

    T obj;

    ประเภท จริงจะถูก ทดแทนTซึ่งจะถูกระบุเมื่อสร้างวัตถุของชั้นเรียน MyClassวัตถุobjจะเป็นวัตถุประเภทที่ส่งผ่านพารามิเตอร์Tประเภท หากTคุณส่งประเภท เป็นพารามิเตอร์ Stringอินสแตนซ์ จะ มีobjประเภทString

    พิจารณาตัวสร้างMyClass():

    public MyClass(T obj){
      this.obj = obj;
    }

    Параметр obj имеет тип T. Это значит, что реальный тип параметра obj определяется типом, переданным параметром типа T при создании an object класса MyClass.

    Параметр типа T также может быть использован для указания типа возвращаемого значения метода.

    В именах переменных типа принято использовать заглавные буквы. Обычно для коллекций используется буква E, буквами K и V — типы ключей и meaning (Key/Value), а буквой T (и при необходимости буквы S и U) — любой тип.

    Обобщения работают только с an objectми. Поэтому нельзя использовать в качестве параметра elementрные типы вроде int or char.

    *Так же считаю нужным упомянуть generic методы. Это методы вида:

    модификаторы <T, ...> возвращаемыйТип method name(T t, ...)

    Как я понял, если в качестве типа в сигнатуре метода используются параметры, необходимо перед типом возвращаемого значения их перечислить. Верно ли это?

    Более подробную информацию можно посмотреть по следующим linkм:

    • Обобщения (Generic)
    • Дженерики (Java, обучающая статья)
  6. What такое стирание типов?

    Внутри класса-дженерика не хранится информация о его типе параметре. Это и называется стиранием типов. На стадии компиляции происходит приведение an object класса к типу, который был указан при объявлении.

    Пример:

    ระดับ 35 คำตอบสำหรับคำถามสัมภาษณ์ในหัวข้อระดับ - 2
  7. What такое wildcard?

    Wildcard — это дженерик вида <?>, что означает, что тип может быть чем угодно. Используется, например, в коллекциях, где для всех коллекций базовым типом является Сollection<?>.

    Полезная link: Теория и практика Java. Эксперименты с generic-методами

  8. Расскажите про extends и super в Generic'ах?

    Whatбы наложить ограничение на wildcard необходимо использовать конструкции типа:

    • ? extends SomeClass — означает, что может быть использован любой класс-наследник SomeClass
    • ? super SomeClass — означает, что может быть использован класс SomeClass, либо класс-родитель (or интерфейс) SomeClass

    Это называется bounded wildcard.

    Для того, чтобы определиться с выбором между extends и super был придуман метод PECS.

    Подробно про это можно прочитать по ссылке ниже: Использование generic wildcards для повышения удобства Java API

  9. Как использовать wildcard?

    Пример использования wildcard:

    List<?> numList = new ArrayList<Integer>();

    Вопрос я не понял, но в принципе использование wildcard’ов рассматривается в материалах по linkм выше.

  10. В чем отличие ArrayList и ArrayList<?>

    Запись вида ArrayList называется raw type (обычный тип). Она эквивалентна записи вида ArrayList<T> и используется для обратной совместимости, т.к. до Java 1.5 не было дженерик коллекций. По возможности такой формы записи следует избегать.

    ArrayList<?> является супертипом для ArrayList.

Python-университет
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
เรียนรู้
  • Курси програмування
  • การลงทะเบียน
  • หลักสูตรจาวา
  • ช่วยงาน
  • ราคา
  • โครงการเกม
ชุมชน
  • ผู้ใช้
  • บทความ
  • ฟอรั่ม
  • แชท
  • เรื่องราวความสำเร็จ
  • กิจกรรม
บริษัท
  • เกี่ยวกับเรา
  • ติดต่อ
  • บทวิจารณ์
  • คำถามที่พบบ่อย
  • สนับสนุน
JavaRush JavaRush เป็นหลักสูตรออนไลน์สำหรับการเรียนรู้การเขียนโปรแกรม Java ตั้งแต่เริ่มต้น หลักสูตรนี้เป็นวิธีที่สมบูรณ์แบบสำหรับการเรียนรู้ Java สำหรับผู้เริ่มต้น ประกอบด้วยงานมากกว่า 1,200 รายการพร้อมการตรวจสอบทันทีและขอบเขตที่จำเป็นของทฤษฎีพื้นฐานของ Java เพื่อช่วยให้คุณประสบความสำเร็จในด้านการศึกษา เราได้ใช้ชุดคุณลักษณะที่สร้างแรงบันดาลใจ: แบบทดสอบ โครงการเขียนโค้ด เนื้อหาเกี่ยวกับการเรียนรู้อย่างมีประสิทธิภาพ และอาชีพของนักพัฒนา Java
ตามเรามา
โปรแกรมเมอร์ไม่ได้เกิดมา © 2025 JavaRush
ดาวน์โหลดแอป
  • Google Play
  • App Store
Mastercard Visa
โปรแกรมเมอร์ไม่ได้เกิดมา © 2025 JavaRush