รวบรวมคำถามและคำตอบโดย Victoria Demidova
โทรเลข Bot โดย cmttd
คำถามสัมภาษณ์นักพัฒนา Java
- อุ๊ย
- เจวีเอ็ม
- จาวาคอร์
- กรอบงานคอลเลกชัน Java
- จาวา 8
- สตรีม I/O ใน Java
- การทำให้เป็นอนุกรม
- มัลติเธรด
- การเขียนโปรแกรมเชิงโต้ตอบ
- เซิร์ฟเล็ต, JSP, JSTL
- ฐานข้อมูล
- SQL
- เจดีบีซี
- การทดสอบ
- การบันทึก
- UML
- XML
- รูปแบบการออกแบบ
- พื้นฐาน HTML
- พื้นฐาน CSS
- พื้นฐานเว็บ
- อาปาเช่ คาฟคา
- วัสดุเพิ่มเติม
อุ๊ย
- OOP คืออะไร?
- หลักการพื้นฐาน ของ OOP คืออะไร?
- "การห่อหุ้ม" คืออะไร?
- “มรดก” คืออะไร?
- "ความหลากหลาย" คืออะไร?
- "นามธรรม" คืออะไร?
- “ข้อความ” คืออะไร?
- บอกเราเกี่ยวกับแนวคิดพื้นฐานของ OOP: “class” , “object” , “interface”
- ข้อดีและข้อเสียของแนวทางการเขียนโปรแกรมเชิงวัตถุมีอะไรบ้าง
- นิพจน์ "เป็น" และ "มี" หมายถึงอะไรในแง่ของหลักการ OOP
- ความแตกต่างระหว่าง องค์ประกอบ และ การรวมกลุ่ม คืออะไร?
- การเชื่อมโยง แบบคงที่ และ ไดนามิก คืออะไร?
ไปยังเนื้อหา
เจวีเอ็ม
- JVM รับผิดชอบอะไร?
- คลาสโหลดเดอร์
- พื้นที่ข้อมูลรันไทม์
- เฟรม
- เครื่องยนต์ดำเนินการ
- ลิงค์ที่มีประโยชน์
ไปยังเนื้อหา
จาวาคอร์
- JRE, JVM และ JDK แตกต่างกันอย่างไร?
- มีตัวแก้ไขการเข้าถึงอะไรบ้าง?
- คำหลัก
final
หมายถึงอะไร? - ตัวแปรเริ่มต้นมีค่าอะไรบ้าง?
- คุณรู้อะไรเกี่ยวกับฟังก์ชัน
main()
บ้าง? - คุณรู้จักการดำเนินการและตัวดำเนินการเชิงตรรกะอะไรบ้าง
- ตัวดำเนินการเลือกแบบไตรภาคคืออะไร?
- คุณรู้การดำเนินการระดับบิตอะไรบ้าง?
- ตัวดัดแปลง
abstract
ใช้ที่ไหนและเพื่ออะไร? - กำหนดแนวคิดของ “อินเทอร์เฟซ” ฟิลด์และวิธีการอินเทอร์เฟซมีตัวแก้ไขเริ่มต้นอะไรบ้าง
- คลาสนามธรรมแตกต่างจากอินเทอร์เฟซอย่างไร เมื่อใดที่คุณควรใช้คลาสนามธรรม และเมื่อใดที่คุณควรใช้อินเทอร์เฟซ
- เหตุใดบางอินเทอร์เฟซจึงไม่กำหนดวิธีการเลย
- เหตุใดคุณจึงไม่สามารถประกาศวิธีการอินเทอร์เฟซด้วยตัวแก้ไข
final
ได้ - สิ่งที่เป็นนามธรรมในระดับที่สูงกว่า - คลาส, คลาสนามธรรมหรืออินเทอร์เฟซ?
- วัตถุสามารถเข้าถึงตัวแปรคลาส
private
หรือไม่? ถ้าใช่แล้วทำอย่างไร? - ลำดับของการเรียกตัวสร้างและบล็อกการเริ่มต้นคืออะไร โดยคำนึงถึงลำดับชั้นของคลาส?
- เหตุใดจึงจำเป็นต้องมีบล็อกการเริ่มต้นและบล็อกเหล่านี้คืออะไร?
- ตัวดัดแปลง
static
ใช้กับโครงสร้าง Java ใด - เหตุใดจึงใช้บล็อกการเริ่มต้นแบบคงที่ใน Java
- จะเกิดอะไรขึ้นหากมีข้อยกเว้นเกิดขึ้นในบล็อกการเริ่มต้น?
- มีข้อยกเว้นอะไรบ้างเกิดขึ้นเมื่อเกิดข้อผิดพลาดในบล็อกการเริ่มต้นคลาส
- วิธีการคงที่สามารถแทนที่หรือโอเวอร์โหลดได้หรือไม่?
- วิธีการที่ไม่คงที่สามารถโอเวอร์โหลดแบบคงที่ได้หรือไม่
- เป็นไปได้หรือไม่ที่จะจำกัดระดับการเข้าถึง/ประเภทการคืนสินค้าให้แคบลงเมื่อทำการแทนที่เมธอด
- เป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงเมื่อแทนที่เมธอด: access modifier; ประเภทการส่งคืน; ประเภทของอาร์กิวเมนต์หรือจำนวนอาร์กิวเมนต์ ชื่อของข้อโต้แย้งหรือลำดับ ลบ เพิ่ม เปลี่ยนลำดับขององค์ประกอบในส่วน
throws
? - จะเข้าถึงเมธอดที่ถูกแทนที่ของคลาสพาเรนต์ได้อย่างไร?
- เป็นไปได้ไหมที่จะประกาศวิธีการ abstract และ static พร้อมกัน?
- อะไรคือความแตกต่างระหว่างสมาชิกอินสแตนซ์คลาสและสมาชิกคลาสแบบคงที่?
- อนุญาตให้เริ่มต้นฟิลด์แบบคงที่/ไม่คงที่ได้ที่ไหน
- Java มีคลาสประเภทใดบ้าง?
- บอกเราเกี่ยวกับคลาสที่ซ้อนกัน พวกเขาใช้ในกรณีใดบ้าง?
- "คลาสคงที่" คืออะไร?
- อะไรคือคุณสมบัติของการใช้คลาสที่ซ้อนกัน: คงที่และภายใน? ความแตกต่างระหว่างพวกเขาคืออะไร?
- "ชั้นเรียนท้องถิ่น" คืออะไร? คุณสมบัติของมันคืออะไร?
- "คลาสที่ไม่เปิดเผยตัวตน" คืออะไร? พวกเขาใช้ที่ไหน?
- ฉันจะเข้าถึงฟิลด์ในคลาสภายนอกจากคลาสที่ซ้อนกันได้อย่างไร
- คำสั่ง
assert
ใช้ทำอะไร? - คนเก็บขยะมีไว้ทำอะไร?
- คนเก็บขยะทำงานอย่างไร?
- ตัวรวบรวมขยะประเภทใดบ้างที่ใช้ในเครื่องเสมือน HotSpot
- อธิบายอัลกอริทึมการทำงานของตัวรวบรวมขยะที่ใช้ในเครื่องเสมือน HotSpot
-
finalize()
คืออะไร? เหตุใดจึงจำเป็น? - จะเกิดอะไรขึ้นกับตัวรวบรวมขยะหากเมธอด
finalize()
ใช้เวลานานอย่างเห็นได้ชัดในการดำเนินการให้เสร็จสิ้น หรือหากมีข้อยกเว้นเกิดขึ้นระหว่างการดำเนินการ - อะไรคือความแตกต่างระหว่าง
final
, finally
และ finalize()
? - หน่วยความจำ Heap และ Stack ใน Java คืออะไร? ความแตกต่างระหว่างพวกเขาคืออะไร?
- เป็นความจริงหรือไม่ที่ประเภทข้อมูลดั้งเดิมจะถูกจัดเก็บไว้ในสแต็กเสมอ และอินสแตนซ์ของประเภทข้อมูลอ้างอิงจะถูกจัดเก็บไว้ในฮีปเสมอ
- ตัวแปรถูกส่งผ่านไปยังเมธอดอย่างไร โดยค่าหรือโดยการอ้างอิง?
- บอกเราเกี่ยวกับการหล่อแบบ การลดระดับและการเลื่อนระดับประเภทคืออะไร?
- เมื่อใดที่
ClassCastException
อาจถูกโยนลงในแอปพลิเคชัน - ตัวอักษรคืออะไร?
- autoboxing ใน Java คืออะไรและกฎสำหรับการบรรจุประเภทดั้งเดิมลงในคลาส wrapper คืออะไร
- คุณสมบัติของคลาส
String
คืออะไร? - "สตริงพูล" คืออะไร?
- เหตุใด
String
คลาสที่ไม่เปลี่ยนรูปและสรุปผลแล้ว - เหตุใด
char[]
จึงดีกว่า String
ในการจัดเก็บรหัสผ่าน - เหตุใด String จึงเป็นคีย์ยอดนิยมใน
HashMap
ใน Java - วิธี
intern()
ทำอะไรในคลาส String
? - เป็นไปได้ไหมที่จะใช้สตริงในโครงสร้าง
switch
? - อะไรคือความแตกต่างที่สำคัญระหว่าง
String
, StringBuffer
, StringBuilder
? - คลาส
Object
คืออะไร? มันมีวิธีการอะไรบ้าง? - บอกเราเกี่ยวกับการโคลนวัตถุ
- ความแตกต่างระหว่างการโคลนนิ่ง แบบผิวเผิน และ แบบลึก คืออะไร?
- วิธีการโคลนนิ่งแบบใดดีกว่า?
- เหตุใดวิธี
clone()
จึงถูกประกาศในคลาส Object
และไม่ได้อยู่ในอินเทอร์เฟซ Cloneable
- กำหนดแนวคิดของ "ตัวสร้าง"
- "ตัวสร้างเริ่มต้น" คืออะไร?
- อะไรคือความแตกต่างระหว่างตัวสร้างค่าเริ่มต้น การคัดลอก และพารามิเตอร์?
- คุณสามารถใช้คอนสตรัคเตอร์ส่วนตัวได้ที่ไหนและอย่างไร?
- บอกเราเกี่ยวกับคลาสตัวโหลดและการโหลดคลาสแบบไดนามิก
- การสะท้อนกลับ คืออะไร?
- เหตุใดจึงต้อง
equals()
มันแตกต่างจากการดำเนินการ ==
อย่างไร -
equals()
สร้างความสัมพันธ์ที่เท่าเทียมกัน ทัศนคติเช่นนี้มีคุณสมบัติอะไร? - หากคุณต้องการแทนที่
equals()
จะต้องปฏิบัติตามเงื่อนไขใดสำหรับวิธีการแทนที่ - กฎสำหรับการแทนที่
Object.equals()
วิธีการ - ความสัมพันธ์ระหว่าง
hashCode()
และ equals()
คืออะไร? - หาก
equals()
ถูกแทนที่ มีวิธีอื่นใดที่ควรแทนที่หรือไม่? - จะเกิดอะไรขึ้นหากคุณแทนที่
equals()
โดยไม่แทนที่ hashCode()
? ปัญหาอะไรที่อาจเกิดขึ้น? - วิธี
hashCode()
และ equals()
ถูกนำไปใช้ในคลาส Object
อย่างไร - วิธี
hashCode()
มีไว้เพื่ออะไร? - กฎสำหรับการแทนที่เมธอด
Object.hashCode()
- มีคำแนะนำเกี่ยวกับฟิลด์ใดที่ควรใช้เมื่อคำนวณ
hashCode()
หรือไม่ - วัตถุที่แตกต่างกันสามารถมี
hashCode()
เดียวกันได้หรือไม่ - ถ้าคลาส
Point{int x, y;}
ใช้ equals(Object that) {(return this.x == that.x && this.y == that.y)}
แต่สร้างรหัสแฮชในรูปแบบ int hashCode() {return x;}
จากนั้นจุดดังกล่าวจะถูกวางและดึงข้อมูลจาก HashSet
อย่างถูกต้องหรือไม่ - วัตถุที่แตกต่างกัน
(ref0 != ref1)
สามารถมี ref0.equals(ref1) == true
หรือไม่ - การอ้างอิงที่แตกต่างกันไปยังวัตถุเดียวกัน
(ref0 == ref1)
สามารถมี ref0.equals(ref1) == false
ได้หรือไม่ - เป็นไปได้ไหมที่จะใช้วิธีการ
equals(Object that) {return this.hashCode() == that.hashCode()}
เช่นนี้ -
equals()
ต้องตรวจสอบว่าอาร์กิวเมนต์ equals(Object that)
เป็นประเภทเดียวกันกับวัตถุนั้นเอง อะไรคือความแตกต่างระหว่าง this.getClass() == that.getClass()
และ that instanceof MyClass
? - เป็นไปได้ไหมที่จะใช้เมธอด
equals()
ของคลาส MyClass
เช่นนี้: class MyClass {public boolean equals(MyClass that) {return this == that;}}
? - มีคลาส
Point{int x, y;}
ทำไมรหัสแฮช 31 * x + y
ถึงดีกว่า x + y
? - อธิบายลำดับชั้นของข้อยกเว้น
- คุณรู้ข้อยกเว้นประเภทใดบ้างใน Java มันแตกต่างกันอย่างไร
- ข้อยกเว้น ที่ถูกตรวจสอบ และไม่ถูกตรวจสอบคืออะไร?
- โอเปอเรเตอร์ใดที่อนุญาตให้คุณบังคับให้มีข้อยกเว้นที่ถูกส่งออกไป?
- คีย์เวิร์ด
throws
หมายถึงอะไร - จะเขียนข้อยกเว้นของคุณเอง ("กำหนดเอง") ได้อย่างไร
- มี ข้อยกเว้นที่ไม่ได้ตรวจสอบ ประเภทใดบ้าง
-
Error
คืออะไร? - คุณรู้อะไรเกี่ยวกับ
OutOfMemoryError
บ้าง - อธิบายการทำงานของบล็อก try-catch-finally
- กลไก try-with-resources คืออะไร?
- เป็นไปได้ไหมที่จะใช้บล็อก try-finly (โดยไม่ต้อง
catch
) -
catch
block หนึ่งตัวสามารถจับข้อยกเว้นหลายรายการพร้อมกันได้หรือไม่ -
finally
บล็อกจะถูกดำเนินการเสมอหรือไม่? - มีสถานการณ์ใดบ้างที่การบล็อก
finally
จะไม่ถูกดำเนินการ? - เมธอดหลักสามารถส่งข้อยกเว้นจากภายนอกได้หรือไม่ และหากเป็นเช่นนั้น ข้อยกเว้นนี้จะถูกจัดการที่ไหน
- สมมติว่ามีวิธีที่สามารถส่ง
IOException
และ FileNotFoundException
ได้ บล็อก catch
ควรเรียงลำดับอย่างไร catch
Block จะถูกดำเนินการกี่บล็อก? - ยาชื่อสามัญ คืออะไร?
- “ความเป็นสากล” , “การแปลเป็นภาษาท้องถิ่น” คืออะไร?
ไปยังเนื้อหา
คอลเลกชั่นจาวา
- "คอลเลกชัน" คืออะไร?
- ตั้งชื่ออินเทอร์เฟซ JCF หลักและการใช้งาน
- จัดเรียงอินเทอร์เฟซต่อไปนี้ในลำดับชั้น:
List
, Set
, Map
, SortedSet
, SortedMap
, Collection
, Iterable
, Iterator
, NavigableSet
, NavigableMap
- เหตุใด
Map
จึงไม่ใช่ Collection
ในขณะที่ List
และ Set
เป็น Collection
น - อะไรคือความแตกต่างระหว่างคลาส
java.util.Collection
และ java.util.Collections
? - “พฤติกรรมล้มเหลวเร็ว” คืออะไร?
- ความแตกต่างระหว่างความล้มเหลวที่รวดเร็วและความล้มเหลวที่ปลอดภัยคืออะไร?
- ยกตัวอย่างตัววนซ้ำที่ใช้พฤติกรรมที่ไม่ปลอดภัย
- ความแตกต่างระหว่าง
Enumeration
และ Iterator
คืออะไร -
Iterable
และ Iterator
เกี่ยวข้องกันอย่างไร -
Iterable
, Iterator
และ “for-each” เกี่ยวข้องกันอย่างไร - เปรียบเทียบ
Iterator
และ ListIterator
- จะเกิดอะไรขึ้นเมื่อคุณเรียก
Iterator.next()
โดยไม่เรียก Iterator.hasNext()
ก่อน - จะมีกี่องค์ประกอบที่จะถูกข้ามหาก
Iterator.next()
ถูกเรียกหลังจากการเรียก Iterator.hasNext()
10 ครั้ง - คอลเลกชันจะทำงานอย่างไรหากเรียก
iterator.remove()
- ตัววนซ้ำที่สร้างอินสแตนซ์แล้วสำหรับ
collection
ชันจะทำงานอย่างไรหากเรียกใช้ collection.remove()
- จะหลีกเลี่ยง
ConcurrentModificationException
ในขณะที่วนซ้ำคอลเลกชันได้อย่างไร - คอลเลกชันใดที่ใช้ระเบียบวินัยในการบริการ FIFO
- คอลเลกชันใดที่ใช้ระเบียบวินัยในการให้บริการของ FILO
- ความแตกต่างระหว่าง
ArrayList
และ Vector
คืออะไร? - ทำไมพวกเขาถึงเพิ่ม
ArrayList
ถ้ามี Vector
อยู่แล้ว? - ความแตกต่างระหว่าง
ArrayList
และ LinkedList
คืออะไร? ในกรณีใดจะดีกว่าถ้าใช้อันแรกและอันที่สองในกรณีใด -
ArrayList
หรือ LinkedList
เร็วกว่าคืออะไร - เวลาทำงานที่แย่ที่สุดสำหรับเมธอด
contains()
บนองค์ประกอบที่อยู่ใน LinkedList
คืออะไร - เวลาทำงานที่แย่ที่สุดสำหรับเมธอด
contains()
บนองค์ประกอบที่อยู่ใน ArrayList
คืออะไร - เวลาทำงานที่แย่ที่สุดสำหรับเมธอด
add()
บน LinkedList
คืออะไร - เวลาทำงานที่แย่ที่สุดสำหรับเมธอด
add()
บน ArrayList
คืออะไร - ต้องเพิ่ม 1 ล้านองค์ประกอบ ใช้โครงสร้างอะไรครับ?
- คุณจะลบองค์ประกอบออกจาก
ArrayList
ได้อย่างไร ขนาดของ ArrayList
ในกรณีนี้เปลี่ยนแปลงอย่างไร - เสนออัลกอริทึมที่มีประสิทธิภาพสำหรับการลบองค์ประกอบที่อยู่ติดกันหลายรายการออกจากตรงกลางรายการที่ใช้งานโดย
ArrayList
- จำเป็นต้องใช้หน่วยความจำเพิ่มเติมเท่าใดเมื่อเรียก
ArrayList.add()
? - มีการจัดสรรหน่วยความจำเพิ่มเติมเท่าใดเมื่อเรียกใช้
LinkedList.add()
? - ประมาณจำนวนหน่วยความจำสำหรับจัดเก็บหนึ่ง
byte
ดั้งเดิมใน LinkedList
? - ประมาณจำนวนหน่วยความจำสำหรับจัดเก็บหนึ่ง
byte
ดั้งเดิมใน ArrayList
? - สำหรับ
ArrayList
หรือสำหรับ LinkedList
การดำเนินการเพิ่มองค์ประกอบตรงกลาง ( list.add(list.size()/2, newElement)
) ช้าลงหรือไม่ - การใช้งานคลาส
ArrayList
มีฟิลด์ต่อไปนี้: Object[] elementData
, int size
อธิบายว่าทำไมคุณควรจัดเก็บ size
แยกกันหากคุณสามารถรับ elementData.length
ได้ตลอดเวลา - เปรียบเทียบอินเทอร์เฟซ
Queue
และ Deque
- ใครขยายใคร:
Queue
ขยาย Deque
หรือ Deque
ขยาย Queue
? - เหตุใด
LinkedList
จึงใช้ทั้ง List
และ Deque
-
LinkedList
เป็นรายการที่เชื่อมโยงเดี่ยว รายการที่เชื่อมโยงสองเท่า หรือรายการที่เชื่อมโยงสี่รายการ - จะวนซ้ำองค์ประกอบ
LinkedList
ในลำดับย้อนกลับโดยไม่ต้องใช้ slow get(index)
ได้อย่างไร -
PriorityQueue
ช่วยให้คุณทำอะไรได้บ้าง? -
Stack
ถือว่า "ล้าสมัย" แนะนำให้แทนที่ด้วยอะไร? ทำไม - ทำไมเราต้องมี
HashMap
ถ้าเรามี Hashtable
? - ความแตกต่างระหว่าง
HashMap
และ IdentityHashMap
คืออะไร? IdentityHashMap
มีไว้เพื่ออะไร? - ความแตกต่างระหว่าง
HashMap
และ WeakHashMap
คืออะไร? WeakHashMap
ใช้ทำอะไร? -
WeakHashMap
ใช้ WeakReferences ทำไมไม่สร้าง SoftHashMap
บน SoftReferences -
WeakHashMap
ใช้ WeakReferences ทำไมไม่สร้าง PhantomHashMap
บน PhantomReferences -
LinkedHashMap
- อะไรมาจาก LinkedList
และอะไรมาจาก HashMap
-
SortedMap
“เรียงลำดับ” อย่างไร นอกเหนือจากข้อเท็จจริงที่ว่า toString()
แสดงองค์ประกอบทั้งหมดตามลำดับ -
HashMap
ทำงานอย่างไร - จากข้อมูลของ Knuth และ Cormen มีการใช้งานตารางแฮชหลักสองแบบ: แบบที่อยู่แบบเปิดและแบบผูกมัด
HashMap
ถูกนำไปใช้อย่างไร? เหตุใดคุณจึงคิดว่าการดำเนินการเฉพาะนี้ได้รับเลือก ข้อดีและข้อเสียของแต่ละวิธีมีอะไรบ้าง? -
HashMap
ทำงานอย่างไรเมื่อคุณพยายามเก็บสององค์ประกอบไว้ในนั้นด้วยคีย์ที่มี hashCode()
เหมือนกัน แต่สิ่งใด equals() == false
? - จำนวนที่เก็บข้อมูลเริ่มต้นใน
HashMap
คือเท่าใด - การประมาณความซับซ้อนของเวลาในการดำเนินการกับองค์ประกอบจาก
HashMap
คืออะไร HashMap
รับประกันความซับซ้อนในการดึงข้อมูลองค์ประกอบที่ระบุหรือไม่ - เป็นไปได้ไหมที่
HashMap
จะลดลงในรายการแม้ว่าจะมีคีย์ที่มี hashCode()
ที่แตกต่างกันก็ตาม - องค์ประกอบใน
HashMap
จะหายไปในกรณีใด - เหตุใดจึงไม่สามารถใช้
byte[]
เป็นคีย์ใน HashMap
ได้ - บทบาท
equals()
และ hashCode()
ใน HashMap
คืออะไร? - ค่า
hashCode()
สูงสุดคือเท่าใด - รันไทม์ที่แย่ที่สุดสำหรับเมธอด get(key) สำหรับคีย์ที่ไม่ได้อยู่ใน
HashMap
คืออะไร - เวลาทำงานที่แย่ที่สุดสำหรับเมธอด get(key) สำหรับคีย์ที่อยู่ใน
HashMap
คืออะไร - เหตุใดถึงแม้ไม่จำเป็นต้องใช้คีย์ใน
HashMap
เพื่อใช้งานอินเทอร์เฟซ Comparable
แต่รายการที่เชื่อมโยงแบบทวีคูณสามารถแปลงเป็นต้นไม้สีแดงดำได้เสมอ - มีการเปลี่ยนกี่ครั้งที่เกิดขึ้นเมื่อ
HashMap.get(key)
ถูกเรียกบนคีย์ที่อยู่ในตาราง - มีวัตถุใหม่จำนวนเท่าใดที่ถูกสร้างขึ้นเมื่อคุณเพิ่มองค์ประกอบใหม่ให้กับ
HashMap
- จำนวนที่เก็บข้อมูลใน
HashMap
เพิ่มขึ้นอย่างไรและเมื่อใด - อธิบายความหมายของพารามิเตอร์ในตัวสร้าง
HashMap(int initialCapacity, float loadFactor)
-
HashMap
จะทำงานได้หรือไม่หากคีย์ที่เพิ่มทั้งหมดมี hashCode()
เหมือนกัน - จะวนซ้ำคีย์ทั้งหมด
Map
ได้อย่างไร - จะวนซ้ำค่า
Map
ทั้งหมดได้อย่างไร - จะวนซ้ำคู่คีย์-ค่าทั้งหมดใน
Map
ได้อย่างไร -
TreeSet
และ HashSet
แตกต่างกันอย่างไร? - จะเกิดอะไรขึ้นหากคุณเพิ่มองค์ประกอบให้กับ
TreeSet
ตามลำดับจากน้อยไปหามาก -
LinkedHashSet
แตกต่างจาก HashSet
อย่างไร - มีคลาสพิเศษสำหรับ
Enum
java.util.EnumSet
เพื่ออะไร? เหตุใดผู้เขียนจึงไม่พอใจกับ HashSet
หรือ TreeSet
- มีวิธีใดบ้างในการวนซ้ำองค์ประกอบของรายการ?
- ฉันจะรับออบเจ็กต์ที่ซิงโครไนซ์ของคอลเลกชันมาตรฐานได้อย่างไร
- จะรับคอลเลกชันแบบอ่านอย่างเดียวได้อย่างไร
- เขียนโปรแกรมแบบเธรดเดียวที่ทำให้คอลเลกชันส่ง
ConcurrentModificationException
- ยกตัวอย่างเมื่อคอลเลกชันใด ๆ ส่ง
UnsupportedOperationException
- ใช้ความแตกต่างแบบสมมาตรของสองคอลเลกชันโดยใช้วิธี
Collection
( addAll(...)
, removeAll(...)
, retainAll(...)
) - จะสร้างแคชด้วย "นโยบายการทำให้ใช้ไม่ได้" โดยใช้ LinkedHashMap ได้อย่างไร
- ฉันจะคัดลอกองค์ประกอบของ
collection
ใด ๆ ลงในอาร์เรย์ในหนึ่งบรรทัดได้อย่างไร - วิธีรับ
List
ที่มีองค์ประกอบทั้งหมดยกเว้น 3 รายการแรกและรายการสุดท้ายด้วยการโทรเพียงครั้งเดียวจาก List
- วิธีแปลง
HashSet
เป็น ArrayList
ในหนึ่งบรรทัด - วิธีแปลง
ArrayList
เป็น HashSet
ในหนึ่งบรรทัด - สร้าง
HashSet
จากคีย์ HashMap
- สร้าง
HashMap
จาก HashSet<Map.Entry<K, V>>
ไปยังเนื้อหา
จาวา 8
- มีนวัตกรรมใดบ้างที่ปรากฏใน Java 8 และ JDK 8
- "แลมบ์ดา" คืออะไร? โครงสร้างและคุณสมบัติการใช้งานของนิพจน์แลมบ์ดาคืออะไร
- ตัวแปรใดที่นิพจน์แลมบ์ดาสามารถเข้าถึงได้
- จะเรียงลำดับรายการสตริงโดยใช้นิพจน์แลมบ์ดาได้อย่างไร
- "การอ้างอิงวิธีการ" คืออะไร?
- คุณรู้การอ้างอิงวิธีการประเภทใดบ้าง
- อธิบายนิพจน์
System.out::println
- "อินเทอร์เฟซการทำงาน" คืออะไร?
- ฟังก์ชั่นอินเทอร์เฟซ
Function<T,R>
, DoubleFunction<R>
, IntFunction<R>
และ LongFunction<R>
มีไว้เพื่ออะไร? - อะไรคืออินเทอร์เฟซการทำงาน
UnaryOperator<T>
, DoubleUnaryOperator
, IntUnaryOperator
และ LongUnaryOperator
เพื่อ? -
BinaryOperator<T>
, DoubleBinaryOperator
, IntBinaryOperator
และ LongBinaryOperator
มีอินเทอร์เฟซการทำงานอะไรบ้าง -
Predicate<T>
, DoublePredicate
, IntPredicate
และ LongPredicate
อินเตอร์เฟสการทำงานมีไว้ทำอะไร? - อะไรคืออินเทอร์เฟซการทำงาน
Consumer<T>
, DoubleConsumer
, IntConsumer
และ LongConsumer
ใช้สำหรับ? -
Supplier<T>
, BooleanSupplier
, DoubleSupplier
, IntSupplier
และ LongSupplier
อินเทอร์เฟซการทำงานมีไว้เพื่ออะไร - อินเทอร์เฟซการทำงาน
BiConsumer<T,U>
มีไว้เพื่ออะไร -
BiFunction<T,U,R>
อินเทอร์เฟซการทำงานจำเป็นสำหรับอะไร? - อินเทอร์เฟซฟังก์ชัน
BiPredicate<T,U>
มีไว้เพื่ออะไร - อินเทอร์เฟซการทำงานเช่น
_To_Function
จำเป็นสำหรับอะไรบ้าง - ฟังก์ชั่นอินเทอร์เฟซ
ToDoubleBiFunction<T,U>
, ToIntBiFunction<T,U>
และ ToLongBiFunction<T,U>
จำเป็นสำหรับอะไร - ฟังก์ชั่นอินเทอร์เฟซ
ToDoubleFunction<T>
, ToIntFunction<T>
และ ToLongFunction<T>
มีไว้ทำอะไร? - อะไรคืออินเทอร์เฟซการทำงาน
ObjDoubleConsumer<T>
, ObjIntConsumer<T>
และ ObjLongConsumer<T>
มีไว้เพื่ออะไร? -
StringJoiner
คืออะไร? - วิธีการอินเทอร์เฟซ
default
คืออะไร? - จะเรียกวิธี
default
ของอินเทอร์เฟซในคลาสที่ใช้อินเทอร์เฟซนี้ได้อย่างไร - วิธีอินเทอร์เฟซ
static
คืออะไร? - จะเรียกวิธีอินเทอร์เฟซ
static
อย่างไร? -
Optional
คืออะไร? -
Stream
คืออะไร? - มีวิธีใดบ้างในการสร้างสตรีม?
- ความแตกต่างระหว่าง
Collection
และ Stream
คืออะไร? - วิธี
collect()
ใช้สำหรับสตรีมคืออะไร? - เหตุใดจึงใช้เมธอด
forEach()
และ forEachOrdered()
ในสตรีม - อะไรคือ
map()
และ mapToInt()
, mapToDouble()
, mapToLong()
วิธีการที่ใช้ในสตรีม? - วัตถุประสงค์ของเมธอด
filter()
ในสตรีมคืออะไร? - วิธี
limit()
ใช้สำหรับสตรีมคืออะไร? - จุดประสงค์ของวิธี
sorted()
ในสตรีมคืออะไร? - อะไรคือ
flatMap()
, flatMapToInt()
, flatMapToDouble()
, flatMapToLong()
วิธีการที่ใช้ในสตรีม? - อธิบายเกี่ยวกับการประมวลผลแบบขนานใน Java 8
- คุณรู้วิธีการทำงานกับสตรีมขั้นสูงสุดอะไรบ้าง
- คุณรู้วิธีการทำงานระดับกลางกับสตรีมอะไรบ้าง
- จะพิมพ์ตัวเลขสุ่ม 10 ตัวลงบนหน้าจอโดยใช้
forEach()
ได้อย่างไร - คุณจะแสดงตัวเลขกำลังสองที่ไม่ซ้ำกันโดยใช้เมธอด
map()
ได้อย่างไร - จะแสดงจำนวนบรรทัดว่างโดยใช้เมธอด
filter()
ได้อย่างไร? - จะแสดงตัวเลขสุ่ม 10 ตัวตามลำดับจากน้อยไปมากได้อย่างไร?
- จะหาจำนวนสูงสุดในชุดได้อย่างไร?
- จะหาจำนวนขั้นต่ำในชุดได้อย่างไร?
- จะรับผลรวมของตัวเลขทั้งหมดในชุดได้อย่างไร?
- จะรับค่าเฉลี่ยของตัวเลขทั้งหมดได้อย่างไร?
- มีวิธีเพิ่มเติมสำหรับการทำงานกับอาเรย์แบบเชื่อมโยง (แผนที่) ที่ปรากฏใน Java 8 หรือไม่
-
LocalDateTime
คืออะไร -
ZonedDateTime
คืออะไร - วิธีรับวันที่ปัจจุบันโดยใช้ Date Time API จาก Java 8
- จะเพิ่ม 1 สัปดาห์, 1 เดือน, 1 ปี, 10 ปีถึงวันที่ปัจจุบันโดยใช้ Date Time API ได้อย่างไร
- จะได้รับวันอังคารหน้าโดยใช้ Date Time API ได้อย่างไร
- วิธีรับวันเสาร์ที่สองของเดือนปัจจุบันโดยใช้ Date Time API
- วิธีรับเวลาปัจจุบันที่แม่นยำถึงมิลลิวินาทีโดยใช้ Date Time API
- วิธีรับเวลาท้องถิ่นปัจจุบันที่แม่นยำถึงมิลลิวินาทีโดยใช้ Date Time API
- จะกำหนดคำอธิบายประกอบที่ทำซ้ำได้อย่างไร?
-
Nashorn
คืออะไร? -
jjs
คืออะไร? - คลาสใดที่ปรากฏใน Java 8 สำหรับการเข้ารหัส / ถอดรหัสข้อมูล
- จะสร้างตัวเข้ารหัสและตัวถอดรหัส Base64 ได้อย่างไร
ไปยังเนื้อหา
สตรีม I/O ใน Java
- อะไรคือความแตกต่างระหว่าง IO และ NIO?
- คุณรู้จักคุณสมบัติอะไรบ้างของ NIO?
- “ช่องทาง” คืออะไร?
- มีสตรีม I/O ประเภทใดบ้าง
- ตั้งชื่อคลาสหลักของสตรีม I/O
- แพ็คเกจใดบ้างที่มีคลาสสตรีม I/O
- คุณรู้จักคลาสย่อยใดของคลาส
InputStream
และมีไว้เพื่ออะไร -
PushbackInputStream
ใช้ทำอะไร? -
SequenceInputStream
ใช้ทำอะไร? - คลาสใดที่อนุญาตให้คุณอ่านข้อมูลจากสตรีมไบต์อินพุตในรูปแบบของประเภทข้อมูลดั้งเดิม
- คุณรู้จักคลาสย่อยใดของคลาส
OutputStream
และมีไว้เพื่ออะไร - คุณรู้จักคลาสย่อยของคลาส
Reader
ใดบ้างและมีไว้เพื่ออะไร - คุณรู้จักคลาสย่อยใดบ้างของคลาส
Writer
และมีไว้เพื่ออะไร? - อะไรคือความแตกต่างระหว่างคลาส
PrintWriter
และ PrintStream
? - อะไรคือความแตกต่างและ
InputStream
, OutputStream
, Reader
, Writer
มีอะไรเหมือนกัน? - คลาสใดที่อนุญาตให้คุณแปลงไบต์สตรีมเป็นสตรีมอักขระและในทางกลับกัน
- คลาสใดที่อนุญาตให้คุณเพิ่มความเร็วในการอ่าน/เขียนโดยใช้บัฟเฟอร์
- คลาสใดที่ออกแบบมาเพื่อทำงานกับองค์ประกอบระบบไฟล์?
- คุณรู้วิธีใดของคลาส
File
? - คุณรู้อะไรเกี่ยวกับอินเทอร์เฟซ
FileFilter
? - จะเลือกองค์ประกอบทั้งหมดของไดเร็กทอรีตามเกณฑ์ได้อย่างไร (เช่น มีนามสกุลบางอย่าง)
- คุณรู้อะไรเกี่ยวกับ
RandomAccessFile
บ้าง? -
RandomAccessFile
มีโหมดการเข้าถึงไฟล์ใดบ้าง - คลาสใดบ้างที่รองรับการอ่านและการเขียนสตรีมในรูปแบบที่บีบอัด
- เป็นไปได้หรือไม่ที่จะเปลี่ยนเส้นทางสตรีมอินพุต/เอาต์พุตมาตรฐาน
- ตัวคั่นคืออักขระใดเมื่อระบุพาธในระบบไฟล์
- "เส้นทางสัมบูรณ์" และ "เส้นทางสัมพัทธ์" คืออะไร?
- "ลิงค์สัญลักษณ์" คืออะไร?
ไปยังเนื้อหา
การทำให้เป็นอนุกรม
- "การทำให้เป็นอนุกรม" คืออะไร?
- อธิบายกระบวนการซีเรียลไลซ์/การดีซีเรียลไลซ์โดยใช้
Serializable
- ฉันจะเปลี่ยนพฤติกรรมการทำให้เป็นอนุกรม/ดีซีเรียลไลซ์เริ่มต้นได้อย่างไร
- จะแยกฟิลด์ออกจากการทำให้เป็นอนุกรมได้อย่างไร
- คีย์เวิร์ด
transient
หมายถึงอะไร - ตัวแก้ไขฟิลด์
static
และ final
มีผลกระทบต่อความสามารถในการทำให้เป็นอนุกรมอย่างไร - จะป้องกันการซีเรียลไลซ์ได้อย่างไร?
- จะสร้างโปรโตคอลซีเรียลไลซ์ของคุณเองได้อย่างไร?
- บทบาทของฟิลด์
serialVersionUID
ในการทำให้เป็นอนุกรมคืออะไร? - เมื่อใดที่คุณควรเปลี่ยนค่าของฟิลด์
serialVersionUID
- ปัญหาของการทำให้เป็นอนุกรมของ Singleton คืออะไร
- วิธีการควบคุมค่าของวัตถุดีซีเรียลไลซ์มีอะไรบ้าง?
ไปยังเนื้อหา
มัลติเธรด
- บอกเราเกี่ยวกับโมเดลหน่วยความจำ Java หน่อยได้ไหม?
- "ความปลอดภัยของเธรด" คืออะไร?
- อะไรคือความแตกต่างระหว่าง "การแข่งขัน" และ "ความเท่าเทียม" ?
- "มัลติทาสกิ้งแบบร่วมมือ" คืออะไร? Java ใช้มัลติทาสกิ้งประเภทใด เหตุผลในการเลือกนี้คืออะไร?
- อะไรคือ การเรียงลำดับ ความหมายเสมือน อนุกรม ความสอดคล้องตามลำดับ การมองเห็น ความเป็นอะตอมมิก เกิดขึ้นก่อน การกีดกันซึ่งกันและกัน การเผยแพร่ที่ปลอดภัย
- อะไรคือความแตกต่างระหว่างกระบวนการและเธรด?
- เธรดสีเขียว คืออะไรและมีอยู่ใน Java หรือไม่
- คุณจะสร้างเธรดได้อย่างไร?
- ความแตกต่างระหว่าง
Thread
และ Runnable
คืออะไร? - อะไรคือความแตกต่างระหว่างเมธอด
start()
และ run()
? - จะบังคับให้เธรดเริ่มต้นได้อย่างไร?
- "จอภาพ" ใน Java คืออะไร?
- กำหนดแนวคิดของ "การซิงโครไนซ์"
- วิธีการซิงโครไนซ์ใน Java คืออะไร?
- เธรดสามารถอยู่ในสถานะใด
- เป็นไปได้หรือไม่ที่จะสร้างอินสแตนซ์ใหม่ของคลาสในขณะที่วิธี
static synchronized
ที่กำลังทำงานอยู่ - เหตุใดจึงจำเป็นต้องมี mutex
private
-
wait()
และ notify()
/ notifyAll()
วิธีการทำงานอย่างไร - ความแตกต่างระหว่าง
notify()
และ notifyAll()
คืออะไร? - เหตุใดเมธอด
wait()
และ notify()
จึงถูกเรียกในบล็อกซิงโครไนซ์เท่านั้น - อะไรคือความแตกต่างระหว่างเมธอด
wait()
ที่มีและไม่มีพารามิเตอร์? - อะไรคือความแตกต่างระหว่างเมธอด
Thread.sleep()
และ Thread.yield()
- วิธี
Thread.join()
ทำงานอย่างไร - การหยุดชะงัก คืออะไร?
- ไลฟ์ล็อค คืออะไร?
- จะตรวจสอบได้อย่างไรว่าเธรดกำลังมอนิเตอร์ของทรัพยากรเฉพาะอยู่หรือไม่?
- การซิงโครไนซ์เกิดขึ้นเมื่อเรียกวิธี
static synchronized
บนวัตถุใด - คำหลัก
volatile
, synchronized
, transient
, native
ใช้สำหรับทำอะไร - อะไรคือความแตกต่างระหว่างตัวแปร
volatile
และตัวแปร อะตอม ? - อะไรคือความแตกต่างระหว่าง
java.util.concurrent.Atomic*.compareAndSwap()
และ java.util.concurrent.Atomic*.weakCompareAndSwap()
- "ลำดับความสำคัญของเธรด" หมายถึงอะไร
- "เธรด daemon" คืออะไร?
- เป็นไปได้ไหมที่จะทำให้เธรดหลักของโปรแกรมเป็นเดมอน?
- “ทำให้กระแสน้ำหลับ” หมายความว่าอย่างไร?
- อะไรคือความแตกต่างระหว่างอินเทอร์เฟซทั้งสอง
Runnable
และ Callable
? -
FutureTask
คืออะไร? -
CyclicBarrier
และ CountDownLatch
แตกต่างกันอย่างไร - สภาพการแข่งขัน คืออะไร?
- มีวิธีแก้ไขปัญหา สภาพการแข่งขันหรือ ไม่?
- จะหยุดการไหลได้อย่างไร?
- เหตุใดจึงไม่แนะนำให้ใช้เมธอด
Thread.stop()
- จะเกิดอะไรขึ้นเมื่อเธรดส่งข้อยกเว้น?
- ความแตกต่างระหว่าง
interrupted()
และ isInterrupted()
คืออะไร? - "เธรดพูล" คืออะไร?
- เธรดพูลควรมีขนาดเท่าไร?
- จะเกิดอะไรขึ้นหากคิวเธรดพูลเต็มแล้ว แต่มีการส่งงานใหม่
- อะไรคือความแตกต่างระหว่างวิธี
submit()
และ execute()
ของเธรดพูล? - อะไรคือความแตกต่างระหว่างสแต็กและฮีปจากมุมมองแบบมัลติเธรด?
- จะแชร์ข้อมูลระหว่างสองเธรดได้อย่างไร?
- ตัวเลือกการเริ่มต้น JVM ใดที่ใช้ในการควบคุมขนาดของสแต็กของเธรด
- จะรับการถ่ายโอนข้อมูลเธรดได้อย่างไร?
- ตัวแปร ThreadLocal คืออะไร?
- อะไรคือความแตกต่างระหว่าง
synchronized
และ ReentrantLock
? -
ReadWriteLock
คืออะไร - "วิธีการปิดกั้น" คืออะไร?
- “เฟรมเวิร์ก Fork/Join” คืออะไร
-
Semaphore
คืออะไร? - Double Checking Locking Singleton คืออะไร?
- จะสร้างเธรดที่ปลอดภัย Singleton ได้อย่างไร
- วัตถุที่ไม่เปลี่ยนรูปมีประโยชน์อย่างไร?
- ยุ่งหมุน คืออะไร?
- แสดงรายการหลักการที่คุณปฏิบัติตามในการเขียนโปรแกรมแบบมัลติเธรด?
- ข้อความเกี่ยวกับ Flows ข้อใดต่อไปนี้เป็นเท็จ
- รับ 3 สตรีม T1, T2 และ T3 หรือไม่ จะดำเนินการตามลำดับ T1, T2, T3 ได้อย่างไร
- เขียนสแต็กแบบไม่บล็อกขั้นต่ำ (มีเพียงสองวิธี -
push()
และ pop()
) - เขียนสแต็กแบบไม่บล็อกขั้นต่ำ (เพียงสองวิธี -
push()
และ pop()
) โดยใช้ Semaphore
- เขียน ArrayList ที่ไม่ปิดกั้นน้อยที่สุด (มีเพียงสี่วิธีเท่านั้น -
add()
, get()
, remove()
, size()
) - เขียนการใช้งานคลาสที่ปลอดภัยสำหรับเธรดด้วยวิธี
BigInteger next()
ที่ไม่ปิดกั้นซึ่งส่งคืนองค์ประกอบของลำดับ: [1, 2, 4, 8, 16, ...]
- เขียนบัฟเฟอร์ที่มีขอบเขตแบบมัลติเธรดอย่างง่ายโดยใช้
synchronized
- เขียนบัฟเฟอร์ที่มีขอบเขตแบบมัลติเธรดอย่างง่ายโดยใช้
ReentrantLock
ไปยังเนื้อหา
การเขียนโปรแกรมเชิงโต้ตอบ
- Reactive Programming คืออะไร และแตกต่างจาก Procedural Programming อย่างไร
- อธิบายแนวคิดเรื่องการไหลของข้อมูลในการเขียนโปรแกรมเชิงโต้ตอบ
- รูปแบบ Observer คืออะไร และรองรับการเขียนโปรแกรมเชิงโต้ตอบอย่างไร
- อธิบายบทบาทของ Observable และ Observer ในการเขียนโปรแกรมเชิงโต้ตอบ
- Backpressure ในบริบทของการเขียนโปรแกรมแบบโต้ตอบคืออะไร?
- อธิบายความแตกต่างระหว่างการสังเกตแบบร้อนและแบบเย็น
- บทบาทของการสมัครสมาชิกในการเขียนโปรแกรมเชิงโต้ตอบคืออะไร?
- จะยกเลิกการสมัครจากเธรดเพื่อป้องกันหน่วยความจำรั่วได้อย่างไร?
- ตัวดำเนินการใน Project Reactor คืออะไร และใช้ทำอะไร
ไปยังเนื้อหา
เซิร์ฟเล็ต, JSP, JSTL
- "เซิร์ฟเล็ต" คืออะไร?
- ข้อดีของเทคโนโลยีเซิร์ฟเล็ตเหนือ CGI (Common Gateway Interface) คืออะไร
- โครงสร้างของโครงการเว็บคืออะไร?
- "คอนเทนเนอร์เซิร์ฟเล็ต" คืออะไร?
- เหตุใดเราจึงต้องมีแอปพลิเคชันเซิร์ฟเวอร์หากเรามีคอนเทนเนอร์เซิร์ฟเล็ต
- คอนเทนเนอร์เซิร์ฟเล็ตจัดการวงจรการใช้งานเซิร์ฟเล็ตอย่างไร เรียกว่าเมธอดใดและเมื่อใด
- "ตัวอธิบายการปรับใช้" คืออะไร
- ต้องดำเนินการขั้นตอนใดบ้างเมื่อสร้างเซิร์ฟเล็ต?
- เมื่อใดจึงจำเป็นต้องแทนที่
service()
วิธีการ? - มันสมเหตุสมผลไหมที่จะกำหนด Constructor สำหรับเซิร์ฟเล็ต? วิธีที่ดีที่สุดในการเริ่มต้นข้อมูลคืออะไร?
- เหตุใดจึงจำเป็นต้องแทนที่เฉพาะเมธอด
init()
โดยไม่มีข้อโต้แย้ง - งานทั่วไปส่วนใหญ่ที่ดำเนินการในคอนเทนเนอร์เซิร์ฟเล็ตคืออะไร?
- คุณรู้อะไรเกี่ยวกับ ตัวกรองเซิร์ฟเล็ต
- เหตุใดเซิร์ฟเล็ตจึงใช้ Listener ที่แตกต่างกัน
- เมื่อใดที่คุณควรใช้ตัวกรองเซิร์ฟเล็ต และเมื่อใดที่คุณควรใช้ Listener
- จะใช้การเปิดตัวเซิร์ฟเล็ตพร้อมกับการเปิดตัวแอปพลิเคชันได้อย่างไร
- วิธีจัดการกับข้อยกเว้นที่เกิดจากเซิร์ฟเล็ตอื่นในแอปพลิเคชันของคุณ
-
ServletConfig
คืออะไร? -
ServletContext
คืออะไร? - อะไรคือความแตกต่างระหว่าง
ServletContext
และ ServletConfig
? - อินเทอร์เฟซ
ServletResponse
มีไว้เพื่ออะไร? - อินเทอร์เฟซ
ServletRequest
มีไว้ทำอะไร? -
Request Dispatcher
คืออะไร? - จะเรียกเซิร์ฟเล็ตอื่นจากเซิร์ฟเล็ตหนึ่งได้อย่างไร?
-
sendRedirect()
และ forward()
แตกต่างกันอย่างไร? - แอ็ตทริบิวต์เซิร์ฟเล็ตใช้สำหรับอะไร และคุณใช้งานแอ็ตทริบิวต์เหล่านี้อย่างไร?
- คุณจะอนุญาตให้มีการหยุดชะงักในเซิร์ฟเล็ตได้อย่างไร?
- จะรับตำแหน่งจริงของเซิร์ฟเล็ตบนเซิร์ฟเวอร์ได้อย่างไร?
- จะรับข้อมูลเซิร์ฟเวอร์จากเซิร์ฟเล็ตได้อย่างไร?
- จะรับที่อยู่ IP ของลูกค้าบนเซิร์ฟเวอร์ได้อย่างไร
- คุณรู้จักคลาส wrapper servlet ใดบ้าง
-
GenericServlet
และ HttpServlet
แตกต่างกันอย่างไร? - เหตุใดคลาส
HttpServlet
จึงถูกประกาศเป็นนามธรรม - วิธีการหลักที่มีอยู่ในคลาส
HttpServlet
คืออะไร? - ฉันควรกังวลเกี่ยวกับความปลอดภัยของเธรดด้วยเซิร์ฟเล็ตหรือไม่
- วิธี HTTP ใดที่ไม่เปลี่ยนรูปแบบ?
- การส่งข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์มีวิธีการใดบ้าง?
- อะไรคือความแตกต่างระหว่างวิธี
GET
และ POST
? - อะไรคือความแตกต่างระหว่าง
PrintWriter
และ ServletOutputStream
? - เป็นไปได้ไหมที่จะใช้ทั้ง
PrintWriter
และ ServletOutputStream
ใน servlet ในเวลาเดียวกัน? - บอกเราเกี่ยวกับอินเทอร์เฟซ
SingleThreadModel
- การเข้ารหัส URL หมายถึงอะไร วิธีการทำเช่นนี้ใน Java?
- คุณรู้วิธีการต่างๆ ในการจัดการเซสชันในเซิร์ฟเล็ตอะไรบ้าง?
- คุกกี้ คืออะไร?
- servlets มีวิธีการใดบ้างในการทำงานกับคุกกี้?
- การเขียน URL ใหม่ คืออะไร?
- ทำไมเราถึงต้องการและอะไรคือความแตกต่างระหว่างเมธอด
encodeURL()
และ encodeRedirectURL()
- "เซสชั่น" คืออะไร?
- จะแจ้งวัตถุในเซสชันได้อย่างไรว่าเซสชันไม่ถูกต้องหรือสิ้นสุดลงแล้ว
- วิธีที่มีประสิทธิภาพเพื่อให้แน่ใจว่าเซิร์ฟเล็ตทั้งหมดสามารถเข้าถึงได้โดยผู้ใช้ที่มีเซสชันที่ถูกต้องเท่านั้น
- เราจะจัดให้มี การรักษาความปลอดภัยเลเยอร์การขนส่ง สำหรับเว็บแอปพลิเคชันของเราได้อย่างไร
- จะจัดระเบียบการเชื่อมต่อกับฐานข้อมูลและให้การบันทึกในเซิร์ฟเล็ตได้อย่างไร?
- คุณสมบัติหลักที่แนะนำในข้อกำหนดของ Servlet 3 คืออะไร?
- เซิร์ฟเล็ตมีวิธีการรับรองความถูกต้องใดบ้าง
- Java Server Pages (JSP) คืออะไร
- ทำไมคุณถึงต้องการ JSP?
- อธิบายวิธีการประมวลผลเพจ JSP ตั้งแต่คำขอไปยังเซิร์ฟเวอร์ไปจนถึงการตอบสนองต่อผู้ใช้
- อธิบายระยะ (ระยะ) ของวงจรชีวิตของ JSP
- อธิบายวิธีวงจรชีวิต JSP
- วิธีวงจรชีวิต JSP ใดที่สามารถแทนที่ได้
- ฉันจะป้องกันการเข้าถึงเพจ JSP โดยตรงจากเบราว์เซอร์ได้อย่างไร
- เนื้อหา JSP แบบไดนามิก และ แบบคง ที่แตกต่างกันอย่างไร
- จะแสดงความคิดเห็นโค้ดใน JSP ได้อย่างไร
- แท็ก JSP ประเภทหลักคืออะไร
- คุณรู้อะไรเกี่ยวกับการดำเนินการของ JSP ( แท็กการดำเนินการ และ องค์ประกอบการดำเนินการ JSP )
- การโต้ตอบ JSP-servlet-JSP
- JSP มีขอบเขตตัวแปรใดบ้าง
- มีออบเจ็กต์และวิธีการภายในโดยนัยอะไรบ้างในหน้า JSP
- อ็อบเจ็กต์โดยนัยใดที่ไม่มีอยู่ในเพจ JSP ปกติ
- คุณรู้อะไรเกี่ยวกับ
PageContext
และประโยชน์ของการใช้ PageContext คืออะไร - จะกำหนดค่าพารามิเตอร์การเริ่มต้นสำหรับ JSP ได้อย่างไร?
- เหตุใดจึงไม่แนะนำให้ใช้ scriptlets (องค์ประกอบสคริปต์) ใน JSP
- เป็นไปได้ไหมที่จะกำหนดคลาสภายในหน้า JSP?
- คุณรู้อะไรบ้างเกี่ยวกับ JSP Expression Language (EL)
- คุณรู้จักผู้ให้บริการ EL ประเภทใดบ้าง
- ตั้งชื่ออ็อบเจ็กต์ JSP EL ภายในโดยนัย และความแตกต่างจากอ็อบเจ็กต์ JSP
- จะปิดการใช้งานความสามารถในการใช้ EL ใน JSP ได้อย่างไร?
- จะค้นหาประเภทวิธี HTTP โดยใช้ JSP EL ได้อย่างไร
- JSTL (ไลบรารีแท็กมาตรฐาน JSP) คืออะไร
- ไลบรารี JSTL ประกอบด้วยกลุ่มแท็กใดบ้าง
- ความแตกต่างระหว่าง
<c:set>
และ <jsp:useBean>
คืออะไร? - อะไรคือความแตกต่างระหว่างคำสั่ง
<c:import>
และ <jsp:include>
และ <%@include %>
? - คุณจะขยายฟังก์ชันการทำงานของ JSP ได้อย่างไร?
- คุณรู้อะไรเกี่ยวกับการเขียนแท็ก JSP แบบกำหนดเอง
- ยกตัวอย่างการใช้แท็กที่กำหนดเอง
- จะสร้างตัวแบ่งบรรทัดใน HTML โดยใช้ JSP ได้อย่างไร
- เหตุใดจึงไม่จำเป็นต้องกำหนดค่าแท็ก JSP มาตรฐานใน
web.xml
- คุณจะจัดการกับข้อผิดพลาดของเพจ JSP ได้อย่างไร
- การจัดการข้อผิดพลาดทำงานอย่างไรกับ JSTL
- วิธีกำหนดค่า JSP ในตัวอธิบายการปรับใช้
- เป็นไปได้ไหมที่จะใช้ Javascript บนหน้า JSP?
- ออบเจ็กต์เซสชันถูกสร้างขึ้นบนเพจ JSP เสมอ เป็นไปได้ไหมที่จะปิดการใช้งานการสร้าง
-
JSPWriter
และ servlet PrintWriter
แตกต่างกันอย่างไร - อธิบายหลักปฏิบัติทั่วไปสำหรับการทำงานร่วมกับ JSP
ไปยังเนื้อหา
ฐานข้อมูล
- “ฐานข้อมูล” คืออะไร?
- “ระบบการจัดการฐานข้อมูล” คืออะไร?
- "แบบจำลองข้อมูลเชิงสัมพันธ์" คืออะไร?
- กำหนดคำว่า "simple " "composite " "candidate" และ "alternate"
- “คีย์หลัก” คืออะไร? เกณฑ์สำหรับการเลือกคืออะไร?
- "คีย์ต่างประเทศ" คืออะไร?
- "การทำให้เป็นมาตรฐาน" คืออะไร?
- รูปแบบปกติคืออะไร?
- "denormalization" คืออะไร? มันใช้ทำอะไร?
- มีความสัมพันธ์ประเภทใดในฐานข้อมูล? ยกตัวอย่าง
- "ดัชนี" คืออะไร? พวกเขาใช้อะไร? ข้อดีและข้อเสียของพวกเขาคืออะไร?
- มีดัชนีประเภทใดบ้าง?
- อะไรคือความแตกต่างระหว่างดัชนีแบบคลัสเตอร์และไม่คลัสเตอร์?
- การจัดทำดัชนีข้อมูลที่มีค่าน้อยจำนวนเล็กน้อยหรือไม่?
- การสแกนชุดข้อมูลทั้งหมดดีกว่าการเข้าถึงดัชนีเมื่อใด
- "ธุรกรรม" คืออะไร?
- ตั้งชื่อคุณสมบัติหลักของการทำธุรกรรม
- มีการแยกธุรกรรมในระดับใด?
- ปัญหาใดที่สามารถเกิดขึ้นได้กับการเข้าถึงแบบขนานโดยใช้ธุรกรรม
ต่อเนื้อหา
SQL
- "SQL" คืออะไร?
- มีคำสั่ง SQL อะไรบ้าง?
-
NULL
หมายถึงอะไรใน SQL? - "ตารางชั่วคราว" คืออะไร? มันใช้ทำอะไร?
- "มุมมอง" คืออะไรและใช้เพื่ออะไร?
- ไวยากรณ์ทั่วไปของคำสั่ง
SELECT
คืออะไร? -
JOIN
คืออะไร? - มี
JOIN
ประเภทใด? - จะดีกว่าที่จะใช้
JOIN
หรือ subqueries? - มีผู้ให้
HAVING
ที่ใช้เพื่ออะไร? - อะไรคือความแตกต่างระหว่าง
HAVING
และคำ WHERE
? -
ORDER BY
คำสั่งที่ใช้สำหรับอะไร? -
GROUP BY
ผู้ประกอบการใช้ทำอะไร? -
GROUP BY
จัดการค่า NULL
ได้อย่างไร? - ความแตกต่างระหว่าง
GROUP BY
และข้อความ DISTINCT
คืออะไร? - แสดงรายการฟังก์ชั่นรวมหลัก
- ความแตกต่างระหว่าง
COUNT(*)
และ COUNT({column})
คืออะไร? - คำสั่ง
EXISTS
ทำอะไร? - มี
LIKE
อยู่ IN
ผู้ประกอบ BETWEEN
ที่ใช้? - คำหลัก
UNION
ใช้ทำอะไร? - ข้อ จำกัด ด้านความสมบูรณ์ของข้อมูลใน SQL คืออะไร?
- อะไรคือความแตกต่างระหว่างข้อ จำกัด
PRIMARY
และ UNIQUE
? - คอลัมน์ที่อยู่ภายใต้ข้อ จำกัด ของ
FOREIGN KEY
เป็น NULL
? - จะสร้างดัชนีได้อย่างไร?
- คำสั่ง
MERGE
ทำอะไร? -
DELETE
และ TRUNCATE
ความแตกต่างคืออะไร? - "ขั้นตอนที่เก็บไว้" คืออะไร?
- "ทริกเกอร์" คืออะไร?
- "เคอร์เซอร์" คืออะไร?
- อธิบายถึงความแตกต่างระหว่างประเภทข้อมูล
DATETIME
และ TIMESTAMP
- ประเภทตัวเลขใดที่เป็นไปไม่ได้ที่จะใช้การดำเนินการเพิ่มเติม/การลบ?
- จุดประสงค์ของตัว
PIVOT
และผู้ใช้ UNPIVOT
ใน Transact-SQL คืออะไร? - อธิบายฟังก์ชั่นการจัดอันดับพื้นฐานใน Transact-SQL
-
INTERSECT
คืออะไร EXCEPT
ผู้ประกอบการที่ใช้ใน Transact-SQL? - เขียนคำขอ ...
ต่อเนื้อหา
JDBC
- JDBC คืออะไร?
- การใช้ JDBC มีประโยชน์อย่างไร?
- URL JDBC คืออะไร?
- ส่วนใดของ JDBC คืออะไร?
- แสดงรายการประเภทข้อมูลหลักที่ใช้ใน JDBC พวกเขาเกี่ยวข้องกับประเภท Java อย่างไร?
- อธิบายขั้นตอนพื้นฐานของการทำงานกับฐานข้อมูลโดยใช้ JDBC
- จะลงทะเบียนไดรเวอร์ JDBC ได้อย่างไร?
- จะสร้างการเชื่อมต่อกับฐานข้อมูลได้อย่างไร?
- รองรับการแยกธุรกรรมใดใน JDBC
- การสืบค้นฐานข้อมูลถูกสร้างขึ้นอย่างไร?
- ความแตกต่างระหว่างคำแถลงและการเตรียมการตั้งค่าคืออะไร?
- การสืบค้นฐานข้อมูลและผลลัพธ์ประมวลผลอย่างไร
- จะเรียกขั้นตอนที่เก็บไว้ได้อย่างไร?
- จะปิดการเชื่อมต่อฐานข้อมูลได้อย่างไร?
ต่อเนื้อหา
การทดสอบ
- "การทดสอบหน่วย" คืออะไร?
- "การทดสอบการรวม" คืออะไร?
- การทดสอบการรวมแตกต่างจากการทดสอบหน่วยอย่างไร
- มีวัตถุทดสอบประเภทใดบ้าง?
- ต้นขั้ว แตกต่างจาก การเยาะเย้ย อย่างไร?
- “ การติดตั้ง” คืออะไร?
- มีคำอธิบายประกอบการติดตั้งอะไรใน Junit?
- คำอธิบายประกอบ
@Ignore
ที่ใช้สำหรับใน Junit คืออะไร?
ต่อเนื้อหา
การตัดไม้
- มีบันทึกประเภทใดบ้าง?
- ระบบบันทึกการบันทึก Log4J ส่วนใดประกอบด้วย?
- Logger ใน log4j คืออะไร?
- Appender ใน log4j คืออะไร?
- เลย์เอาต์ ใน log4j คืออะไร?
- แสดงรายการระดับการบันทึกใน log4j? ระบุลำดับความสำคัญของพวกเขา
- วิธีการกำหนดค่า log4j แตกต่างกันอย่างไร
ต่อเนื้อหา
UML
- UML คืออะไร?
- "ไดอะแกรม" , "สัญกรณ์" และ "Metamodel" คืออะไรใน UML?
- มีแผนภูมิประเภทใดบ้าง?
- มีความสัมพันธ์ประเภทใดในแผนภาพโครงสร้างคลาส?
ต่อเนื้อหา
XML
- XML คืออะไร?
- DTD คืออะไร?
- XML ที่มีรูปแบบดี แตกต่างจาก XML ที่ถูกต้อง อย่างไร?
- "เนมสเปซ " ใน XML คืออะไร?
- XSD คืออะไร? อะไรคือข้อดีของ XML DTD?
- XSD มีประเภทใดบ้าง?
- คุณรู้จักวิธีการอ่าน XML แบบใด? อธิบายถึงจุดแข็งและจุดอ่อนของแต่ละวิธี
- คุณควรใช้ DOM เมื่อใดและเมื่อใดที่คุณควรใช้ SAX , Stax Analyzers?
- คุณรู้วิธีการเขียน XML แบบไหน?
- JAXP คืออะไร?
- XSLT คืออะไร?
ต่อเนื้อหา
รูปแบบการออกแบบ
- "รูปแบบการออกแบบ" คืออะไร?
- คุณลักษณะหลักของเทมเพลตคืออะไร?
- ประเภทของรูปแบบการออกแบบ
- ยกตัวอย่างรูปแบบการออกแบบขั้นพื้นฐาน
- ให้ตัวอย่างของรูปแบบการออกแบบกำเนิด
- ยกตัวอย่างรูปแบบการออกแบบโครงสร้าง
- ยกตัวอย่างรูปแบบการออกแบบพฤติกรรม
- "antipattern" คืออะไร? คุณรู้จัก antipatterns อะไร?
- การฉีดพึ่งพา คืออะไร?
ต่อเนื้อหา
พื้นฐาน HTML
- "html" คืออะไร?
- "XHTML" คืออะไร?
-
DOCTYPE
คืออะไรและทำไมจึงจำเป็น? - จุดประสงค์ของแท็ก
<head>
คืออะไร? - อะไรคือความแตกต่างระหว่าง
<div>
และ <span>
? - ความคิดเห็นมีการทำเครื่องหมายใน HTML อย่างไร?
- คุณตั้งที่อยู่ของเอกสารให้ไปที่อย่างไร?
- จะเชื่อมโยงไปยังที่อยู่อีเมลได้อย่างไร?
- จุดประสงค์ของแท็ก
<em>
คืออะไร? -
<ol>
, <ul>
, <li>
แท็กสำหรับอะไร? - แท็ก
<dl>
, <dt>
, <dd>
คืออะไร? - แท็ก
<tr>
, <th>
, <td>
คืออะไร? - จำเป็นต้องเขียนแอตทริบิวต์
alt
ในแท็ก <img>
หรือไม่? - ในกรณีใดที่จะเขียนโค้ด HTML ได้ดีกว่ากัน?
- “ ช่วยในการจำ (เอนทิตี)” คืออะไร?
ต่อเนื้อหา
พื้นฐาน CSS
- "CSS" คืออะไร?
- ความคิดเห็นเป็นอย่างไรใน CSS?
- "ตัวเลือก" คืออะไร?
- แสดงรายการประเภทหลักของตัวเลือก
- คลาสหลอกคืออะไร?
- มีตัวเลือกแอตทริบิวต์อะไรบ้าง?
- ความแตกต่างระหว่าง
#my
และ .my
คืออะไร? - ความแตกต่างระหว่าง
margin
และ padding
คืออะไร? - ความแตกต่างระหว่างค่า
0
และ auto
ในคุณสมบัติ margin
คืออะไร? - คุณสมบัติใดที่ระบุสีพื้นหลัง?
- จะลบการขีดเส้นใต้สำหรับลิงก์ทั้งหมดบนหน้าเว็บได้อย่างไร?
- คุณสมบัติ
clear
ใช้สำหรับอะไร? - จะสร้างข้อความในองค์ประกอบทั้งหมด
<p>
ได้อย่างไร? - ฉันจะตั้งค่าสีแดงสำหรับองค์ประกอบทั้งหมดที่มีชั้นเรียน
red
ได้อย่างไร
ต่อเนื้อหา
พื้นฐานของเว็บ
- www คืออะไร?
- W3C คืออะไร?
- เลเยอร์ของโมเดล OSI คืออะไร?
- TCP/IP คืออะไร?
- UDP คืออะไร?
- ความแตกต่างระหว่าง TCP และ UDP คืออะไร?
- โปรโตคอลการถ่ายโอนข้อมูลคืออะไร? คุณรู้จักโปรโตคอลอะไรบ้าง?
- HTTP และ HTTPS คืออะไร? พวกเขาแตกต่างกันอย่างไร?
- FTP คืออะไร?
- ความแตกต่างระหว่างวิธี การรับ และ โพสต์ คืออะไร?
- ประเภท MIME คืออะไร?
- เว็บเซิร์ฟเวอร์ คืออะไร?
- เว็บแอปพลิเคชัน คืออะไร?
- แอปพลิเคชันเซิร์ฟเวอร์ คืออะไร?
- ความแตกต่างระหว่าง เว็บเซิร์ฟเวอร์ และ แอปพลิเคชันเซิร์ฟเวอร์ คืออะไร
- อาแจ็กซ์ คืออะไร? เทคโนโลยีนี้ใช้งานได้อย่างไร?
- WebSocket คืออะไร?
- JSON คืออะไร?
- JSON Schema คืออะไร?
- คุกกี้ คืออะไร?
- "เซสชัน" คืออะไร?
- “ การอนุญาต” และ “ การรับรองความถูกต้อง” คืออะไร? พวกเขาแตกต่างกันอย่างไร?
ต่อเนื้อหา
Apache Kafka
- Apache Kafka คืออะไร?
- องค์ประกอบหลักของ Kafka
สถาปัตยกรรมส่วนประกอบ
- หัวข้อ
- สถาปัตยกรรมหัวข้อ
- การตั้งค่าหัวข้อ kafka
- นายหน้า
- สถาปัตยกรรมนายหน้า
- การตั้งค่านายหน้า Kafka
- ผู้ผลิต
- สถาปัตยกรรมผู้ผลิต
- การตั้งค่าผู้ผลิต
- ตัวอย่างการกำหนดค่าผู้ผลิต Kafka
- ผู้บริโภค
- สถาปัตยกรรมผู้บริโภค
- การตั้งค่าผู้บริโภค
- ตัวอย่างการกำหนดค่าผู้บริโภค Kafka
Kafka API
- APIs Kafka ขั้นพื้นฐาน
- บทบาทของผู้ผลิต API คืออะไร?
- บทบาทของผู้บริโภค API คืออะไร?
- บทบาทของตัวเชื่อมต่อ API คืออะไร?
- บทบาทของสตรีม API คืออะไร?
- บทบาทของธุรกรรม API คืออะไร?
- Outa API บทบาทคืออะไร?
- บทบาทของ API Adminclient คืออะไร?
ผู้บริโภคคาฟคา
- ทำไมคุณถึงต้องการผู้ประสานงานกลุ่ม?
- กระทู้การเต้นของหัวใจของผู้บริโภคคืออะไร?
- Kafka ประมวลผลข้อความอย่างไร
- Kafka จัดการกับความล่าช้าของผู้บริโภคได้อย่างไร?
- วิธีการสมัครสมาชิก () และแบบสำรวจ () ที่ใช้สำหรับ?
- วิธีการตำแหน่ง () ใช้สำหรับอะไร?
- วิธีการ commitsync () และ commitasync () คืออะไร?
คำถามอื่นๆ
- ผู้ผลิต idempotent คืออะไร?
- อินเทอร์เฟซพาร์ติชันสำหรับอะไร?
- ชุดทำความสะอาดบันทึกโบรกเกอร์คืออะไร?
- Kafka Mirror Maker ใช้อะไร?
- เหตุใดจึงจำเป็นต้องใช้ Schema Registry?
- ทำไมคุณถึงต้องการสตรีม DSL?
- Kafka จัดเตรียมเวอร์ชันข้อความอย่างไร
- ผู้บริโภคได้รับข้อความจากนายหน้าอย่างไร
เปรียบเทียบกับส่วนประกอบและระบบอื่น ๆ
- ความแตกต่างระหว่าง Kafka Consumer และ Kafka Stream คืออะไร?
- ความแตกต่างระหว่างสตรีมคาฟคากับ Apache Flink คืออะไร?
- Kafka และ Flume ต่างกันอย่างไร?
- ความแตกต่างระหว่าง Kafka และ RabbitMQ คืออะไร?
ต่อเนื้อหา
วัสดุเพิ่มเติม
- 4 ช่อง Smart YouTube เกี่ยวกับการสัมภาษณ์ทางเทคนิค
- รายการคำถามแฟนซีที่ฉันถูกถามในระหว่างการสัมภาษณ์ที่ฉันมี
- สัมภาษณ์งานภาษาอังกฤษ: วิธีเตรียมและจะตอบอย่างไร
- วิศวกรอาวุโสกำลังมองหางาน เกี่ยวกับงานสัมภาษณ์ทางเทคนิคและคำถามเชิงทฤษฎี
- สิ่งที่จะถามผู้สัมภาษณ์ในระหว่างการสัมภาษณ์ทางเทคโนโลยี
- คำถามสัมภาษณ์ Spring Boot
- คำถามสัมภาษณ์ Framework Top Spring Framework
- คำถามสัมภาษณ์ฤดูใบไม้ผลิ
- คำถามสัมภาษณ์ไฮเบอร์เนต
ต่อเนื้อหา
แหล่งที่มา
- คำถามสัมภาษณ์นักพัฒนา Java Java