เตรียมตัวก่อน สัมภาษณ์งาน JAVA PROGRAMMER (part 1)

Prach CM
2 min readJun 14, 2019

เนื่องด้วยตัวผมเอง กำลังจะมีสัมภาษณ์งาน สาย java เลยว่าจะมารวบรวมความรู้ ที่คิดว่าจะเจอในตอนสัมภาษณ์ไว้ในนี้ (ปล. ถ้า ข้อความไหน ขาดเครดิตไปขอโทษด้วยครับ แจ้งผมเพื่อให้ผมใส่เครดิต หรือลบข้อความได้เลยครับ)

  1. Website vs Web App
    คำสองคำนี้ ต่างกันเพียงนิดเดียว โดย Web App นั้นตรงๆคือมี Application ในตัวเวปไซต์นั้นๆ เช่นเป็นเวปที่มี โปรแกรมแปลงค่าเงิน โปรแกรมคำนวณต่างๆ
    ข้อดี ข้อเสีย Web App
    ข้อดี
    1. ต้นทุนในการพัฒนาต่ำ ทำให้ลูกค้าเข้าถึงได้ง่าย
    ข้อเสีย
    1. มีข้อจำกัดทางด้านความสวยงาน และไม่สามารถ ทำ function ยากๆบางอย่างได้
  2. XHTML vs HTML
    html (Hyper Text Markup Language) หมายถึง ภาษาที่ใช้ Tag ในการกำหนดการแสดงผลเว็บเพจที่ต่างก็เชื่อมถึงกันใน Hyperspace ผ่าน Hyperlink นั่นเอง
    xhtml (Extensible Hyper Text Markup Language) หมายถึง html + xml คือมีความสามารถมากขึ้น มี xml (มีอธิบายเพิ่มเติมข้างล่าง)เป็นแบบในการจัดเก็บและแสดงข้อมูล
  3. CSS and Bootstrap
    CSS (Cascading Style Sheets)คือ ภาษาที่ใช้สำหรับตกแต่งเอกสาร HTML/XHTML ให้มีหน้าตา สีสัน ระยะห่าง พื้นหลัง เส้นขอบและอื่นๆ ตามที่ต้องการ
    Bootstrap เป็น front-end framework ตัวหนึ่งที่ช่วยจัดการทั้ง การวาง layout จัดกล่อง (container) ด้วย grid system และมี plug in ในตัวให้ใช้ เช่น modal และช่วยเรื่องความสวยงามคล้าย css
  4. WEB 2.0
    เป็นคำที่ผมค้นหาอยู๋นานพอสมควร ซึ่งสามารถสรุปสั้นๆได้ว่า “เป็น web ที่มีการปฏิสัมพันกันของ ตัว web และ user” ซึ่งต่างจาก web 1.0 ที่ user เป็นเพียงผู้รับสารเพียงอย่างเดียว
  5. AJAX
    เป็นสิ่งที่ช่วยให้ UX (User experience)ของ web ดีขึ้น โดยทำให้ web ไม่ต้อง refresh ทุกครั้งที่มีการเปลี่ยนแปลง เวปที่ใช้ เช่น gmail
    source : https://www.tamemo.com/post/37/how-to-ajax-1/
    - มักใช้ tag <script> แปะไปใน html เพื่อให้แสดงผลเฉพาะส่วน
    - การใช้ Ajax โดยการเพิ่มเลเยอร์ระหว่าง user browser กับ server ทําให้ผู้ใช้สามารถทํางานได้โดยไม่ต้องรอให้ Client ติดต่อไปยัง Server รวมถึงการโหลดและการรีเฟรชหน้าจอทั้งหมดด้วย ดังนั้นผู้ใช้สามารถใช้งาน application ได้อย่างมีประสิทธิภาพมากขึ้น
  6. XML
    XML เกิดขึ้นมาเพื่อแก้ปัญหานการส่งข้อมูลข้าม browser มันจะทำหน้าที่เป็นตัวกลางเก็บข้อมูล โดยที่ ASP.net , JSP(Java) หรือภาษาอื่นๆ ใช้ภาษา XML เป็นมาตรฐานอยู่แล้ว
    source : http://www.nextproject.net/contents/default.aspx?00048
    ขอยกตัวอย่างให้เห็นชัด ๆ ASP.net ต้องการแลกเปลี่ยนข้อมูลกับ JSP เราก็เขียน ASP.net ให้สร้างไฟล์ XML พร้อมทั้งใส่โครงสร้างและข้อมูลตามที่เราต้องการ จากนั้นเราก็เขียน JSP ให้มาอ่านไฟล์ XML นั้นๆแค่นี้ ASP.net ก็แลกเปลี่ยนข้อมูลกับ JSP ได้แล้ว
  7. Asynchronous
    ปกติเราเขียนโปรแกรม ลำดับการทำงานเราจะทำงานจากบรรทัดบนสุดลงไปล่างเรื่อยๆ (เรียกว่า Synchronous) แต่สำหรับภาษา JavaScript นี้ การทำให้มันแสดงความสามารถออกมาได้สุดๆ นั่นเขาจะเขียนกันแบบ (เรียกว่า Asynchronous) คือเตรียม function ตัวนี้ๆ ไว้แล้วบอกว่าถ้าเราทำ Event เสร็จแล้ว (ไม่รู้ว่ามันจะเสร็จตอนไหน) ให้รัน function ตัวที่เตรียมไว้ให้เมื่อกี้ด้วยนะ
  8. JSON vs XML
    จากข้อ 2, 6 จะเห็นว่าเวปในยุคหลังๆเริ่มมีการคุยและส่งข้อมูลมากขึ้น จึงเกิดมาตรฐานกลางขึ้น แต่อย่างไรก็ดี XML นั้นเป็นไฟล์ที่มีขนาดใหญ่ จึงเกิด JSON ที่เน้นเป็นไฟล์ที่รับข้อมูลล้วนๆ เก็บในรูป string แต่ไม่ใช้ tag แบบ xml
  9. JQuery
    jQuery เป็น JavaScript Library ที่มีการรวบรวม function ของ JavaScript ต่าง ๆ ให้อยู่ในรูปแบบ Patterns Frameworkที่สะดวกและง่ายต่อการใช้งาน มีความยึดหยุ่นรองรับต่อการใช้งาน Cross Browser คือไม่ว่าจะใช้งานบน Web Browser ใด ใน Library ของ jQuery จะมีการเลือกใช้ function ที่สามารถ เหมาะสมต่อการทำงานและแสดงผลใน Web Browser ที่กำลังรันอยู่ ซึ่งช่วยลดปัญหาการทำงานที่ผิดพลาดในฝั่งของ Client ได้
  10. TCP/IP
    เกิดขึ้นเพื่อจัดการการติดต่อสื่อสารกันระหว่างคอมพิวเตอร์ โดยที่เครื่องความพิวเตอร์จะสื่อสารกันได้จำเป็นต้องมีภาษาที่ใช้ในการสื่อสารที่เรียกว่า โปรโตคอล(Protocol) ในระบบอินเตอร์เน็ตนั้น จะใช้ภาษาสื่อสารมาตราฐานที่เรียกว่า “ TCP/IP “ เป็นภาษาหลักในการสื่อสารกัน ไม่ว่าจะเป็น คอมพิวเตอร์ระดับไมโคร มินิคอมพิวเตอร์ เซิฟเวอร์ ก็สามารถสื่อสารกันได้ เป็นต้น
  11. OOP
    ต้องอันนี้เลยครับ ครบจบ ในที่เดียว source : https://medium.com/@phayao/4-%E0%B9%80%E0%B8%AA%E0%B8%B2%E0%B8%AB%E0%B8%A5%E0%B8%B1%E0%B8%81%E0%B8%82%E0%B8%AD%E0%B8%87-object-oriented-programming-247ca02c633b
  12. Servlet
    พัฒนาขึ้นมาเพื่อตอบโจทย์ user ทีแตกต่างกัน โดยประกอบ html ให้สอดรับกับ user นั้นๆ (เหมือนเป็นป้าขายข้าวแกง) โดยใช้หลัก mvc คือมี model (ข้อมูล) -> controller (Servlet) -> view (jsp)
  13. RDBMS
    การเก็บข้อมูลในรูปแบบ relation database เช่น mySQL
  14. NoSQL
    NoSQL แก้ปัญหาหลักๆ 2 อย่างที่มีใน RDBMS คือ 1) เพิ่มความสามารถในการจัดเก็บ unstructured data (หรือข้อมูลที่มีรูปแบบไม่แน่นอน) และ 2) เพิ่มความสามารถในการขยายระบบในรูปแบบแนวนอน (Horizontal Scalability)
    โดยในแต่ละ row จะมีการเก็บ key values ทำให้ column ในแต่ละ row มีความ flexibility สามารถเก็บข้อมูลที่ key แตกต่างกันได้ มีการส่งต่อข้อมูล เพื่อลดความซ้ำซ้อน โดยใช้ relation เรียกว่า graph database
    source : https://medium.com/@todspolwonhchomphu/sql-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-%E0%B9%81%E0%B8%A5%E0%B8%B0-nosql-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-561c750dbe4d

ก็จบไปแล้วครับสำหรับ part แรก ข้อมูลตรงไหนผิดพลาดไปสามารถแจ้งได้เลยนะครับ เนื้อหาจะเป็นหัวข้อคร่าวๆ รายละเอียด หากใครสนใจก็เอาหัวข้อนั้นๆไปค้นหาต่อได้เลยครับ

ป.ล. ก็หวังว่า บทความนี้จะช่วยทบทวนความรู้ให้กับคนที่กำลังหางานกันได้นะครับ

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Prach CM
Prach CM

Written by Prach CM

Gopher <3 and Blockchain Dev

No responses yet

Write a response