40 คำถามและคำตอบสัมภาษณ์ REST API ที่พบบ่อย [2023]

API ย่อมาจาก Application Programming Interface ทำหน้าที่เป็นเกตเวย์สำหรับแอปพลิเคชันในการเข้าถึงทรัพยากรบางอย่างจากแอปพลิเคชันอื่น

ข้อดีของการใช้ API คือเพื่อให้เข้าถึงแอปพลิเคชันของบุคคลที่สามได้ ดังนั้นพวกเขาจึงไม่สามารถเข้าถึงข้อมูลทั้งหมดของแอปพลิเคชันของคุณได้ พวกเขาสามารถเข้าถึงข้อมูลที่คุณเปิดเผยผ่าน API เท่านั้น

แอปพลิเคชันหรือผู้ใช้ที่ต้องการเข้าถึงข้อมูลเรียกว่าไคลเอนต์ และแอปพลิเคชันที่ให้บริการข้อมูลเรียกว่าเซิร์ฟเวอร์

ปัจจุบันมีการใช้ API กันอย่างแพร่หลายในทุกสถาปัตยกรรมซอฟต์แวร์ หากคุณสมัครตำแหน่ง front-end, back-end, full-stack หรือวิศวกรรมเครือข่าย คุณจะถูกถามคำถามมากมายเกี่ยวกับ API

จากที่กล่าวมา เรามาสำรวจคำถามสัมภาษณ์ที่พบบ่อยเกี่ยวกับ REST API

สารบัญ

ส่วนที่เหลือคืออะไร?

คำตอบ: REST คือการออกแบบสถาปัตยกรรมที่กำหนดข้อจำกัดบางประการในการทำงานของ API API ที่เป็นไปตามหลักการของ REST เรียกว่า RESTful API REST ย่อมาจาก Representational State Transfer

ไม่ใช่โปรโตคอลหรือมาตรฐาน แต่เป็นสถาปัตยกรรมที่สามารถใช้เพื่อปรับใช้ API ได้หลายวิธี

ให้ความยืดหยุ่นและอิสระสูงแก่นักพัฒนา และนั่นเป็นเหตุผลว่าทำไมจึงใช้กันอย่างแพร่หลายในการพัฒนา API นี่คือหลักการบางอย่างของสถาปัตยกรรม REST:

  • การแยกไคลเอนต์ & เซิร์ฟเวอร์: ใน RESTful API ไคลเอนต์ไม่ควรส่งผลกระทบต่อเซิร์ฟเวอร์ด้วยวิธีอื่นนอกเหนือจากการร้องขอข้อมูลผ่าน URI (Uniform Resource Identifier) ในทำนองเดียวกัน เซิร์ฟเวอร์ไม่ควรแก้ไขเนื้อหาของไคลเอ็นต์ในทางใดทางหนึ่ง
  • ภาวะไร้รัฐไร้สัญชาติ: เมื่อมีการร้องขอแยกกัน 2 คำขอ พวกเขาไม่รู้เรื่องซึ่งกันและกัน กล่าวอีกนัยหนึ่ง คำขอนั้นไร้สัญชาติและไม่รักษาสถานะ หากคำขอได้รับการตอบสนอง มันก็สิ้นสุดลง ทุกคำขอแยกออกจากคำขออื่นๆ
  • สถาปัตยกรรมแบบเลเยอร์: ไคลเอนต์หรือเซิร์ฟเวอร์ไม่ทราบว่าคำขอนั้นส่งตรงไปยังต้นทางหรือแอปพลิเคชันตัวกลาง พวกเขาสนใจเพียงการตอบสนองต่อคำขอเท่านั้น
  • การแคช: ข้อมูลหรือการตอบสนองสามารถแคชไว้บนไคลเอ็นต์และฝั่งเซิร์ฟเวอร์เพื่อปรับปรุงประสิทธิภาพและความสามารถในการขยายขนาด หากมีการร้องขอบ่อยครั้งสำหรับทรัพยากรเฉพาะ การตอบสนองต่อคำขอนั้นสามารถแคชและใช้เมื่อจำเป็น

ลักษณะสำคัญบางประการของ REST คืออะไร?

ตอบ ลักษณะสำคัญหรือคุณลักษณะของ REST คือ

  • ความยืดหยุ่น: คุณสามารถย้ายจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งได้ และจะไม่เปลี่ยนแปลงใดๆ เนื่องจาก API จะส่งการตอบกลับเดียวกันสำหรับคำขอหนึ่งๆ นอกจากนี้ คุณสามารถเพิ่มจุดสิ้นสุดได้มากเท่าที่คุณต้องการสำหรับข้อมูลประเภทต่างๆ
  • ความสามารถในการปรับขนาด: การแคชช่วยเพิ่มความสามารถในการปรับขนาดเนื่องจากการตอบสนองจะถูกบันทึกเพื่อใช้ในภายหลัง มันลดภาระบนเซิร์ฟเวอร์และลดเวลาแฝง
  • การอนุญาต: ด้วยความช่วยเหลือของ Authorization Header คุณสามารถระบุข้อมูลรับรองที่เซิร์ฟเวอร์สามารถใช้เพื่ออนุญาตคำขอ
  • การไร้สัญชาติ: นี่เป็นคุณลักษณะที่สำคัญที่สุดของ REST เนื่องจากป้องกันไม่ให้คำขอรู้ว่าเกิดอะไรขึ้นกับคำขออื่นๆ คำขอจะถูกแยกออกและยุติทันทีที่ดำเนินการสำเร็จ

ทรัพยากรใน REST Architecture คืออะไร?

คำตอบ: ทรัพยากรคือเอนทิตีที่มีการดำเนินการต่างๆ เช่น การดึงข้อมูล การอัพเดต หรือการลบ เป็นองค์ประกอบพื้นฐานของสถาปัตยกรรม REST

  คำศัพท์สำคัญที่นักพัฒนาซอฟต์แวร์ต้องรู้

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

กล่าวถึงข้อดีและข้อเสียของ REST API

คำตอบ: ข้อดีของ REST API มีดังนี้:

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

ข้อเสียคือ:

  • คุณไม่สามารถรักษาสถานะระหว่างคำขอได้
  • ไม่สามารถทราบแหล่งที่มาที่แท้จริงของทรัพยากรได้เนื่องจากสถาปัตยกรรมแบบเลเยอร์
  • ไม่เหมาะสำหรับคำถามหรือคำขอที่ซับซ้อน

กำหนดเทมเพลต REST

คำตอบ: เทมเพลต REST เป็นโปรแกรมอรรถประโยชน์หรือไคลเอนต์ที่คุณสามารถเข้าถึง REST APIs ใน Spring framework ได้ โดยทั่วไปจะซ่อนรหัสสำเร็จรูปที่คุณอาจต้องเขียนเพื่อขอทรัพยากรจาก REST API

RESTful คืออะไร?

คำตอบ: RESTful API หรือบริการเป็นอินเทอร์เฟซที่ใช้รูปแบบสถาปัตยกรรม REST (Representational State Transfer) และทำงานโดยใช้โปรโตคอล เช่น HTTP

RESTful Web Services คืออะไร?

คำตอบ: บริการเว็บ RESTful ถูกสร้างขึ้นเพื่อให้ทำงานได้ดีที่สุดบนเว็บ Regentational State Transfer (REST) ​​เป็นรูปแบบสถาปัตยกรรมที่ระบุข้อจำกัด เช่น อินเทอร์เฟซแบบเดียวกัน สถาปัตยกรรมแบบเลเยอร์ และความไร้สถานะ หากนำไปใช้กับเว็บเซอร์วิส จะทำให้เกิดคุณสมบัติที่ต้องการ เช่น ประสิทธิภาพและความสามารถในการปรับขนาด ซึ่งทำให้บริการทำงานได้ดีที่สุดบน เว็บ

คุณจะทดสอบบริการเว็บ RESTful ได้อย่างไร

คำตอบ: ในการทดสอบบริการเว็บ RESTful คุณสามารถใช้ไคลเอ็นต์ REST เช่น Postman หรือ Thunder Client และสอบถามบริการเว็บที่คุณต้องการทดสอบ จากนั้น เมื่อคุณได้รับคำตอบ ให้ทำความเข้าใจกับคำตอบนั้น นั่นคือส่วนสำคัญ

หากคุณต้องการทดสอบ API ที่ซับซ้อนด้วยจุดสิ้นสุดจำนวนมาก คุณอาจต้องแบ่งการทดสอบและทำการทดสอบหน่วย การทดสอบการรวม การทดสอบประสิทธิภาพ และการทดสอบตั้งแต่ต้นทางถึงปลายทาง

กล่าวถึงคุณสมบัติบางอย่างของ RESTful Web Services

คำตอบ: คุณสมบัติหลักบางประการของบริการเว็บ RESTful คือ:

  • รองรับสื่อหลายประเภท เช่น JSON และ XML
  • ความสามารถในการปรับขนาด
  • การแยกไคลเอ็นต์และเซิร์ฟเวอร์
  • ความยืดหยุ่น

กำหนดคลาสรีซอร์ส RESTful Root

คำตอบ: คลาสรีซอร์สรูทคือ “วัตถุจาวาแบบเก่าล้วน” (POJO) ที่มีคำอธิบายประกอบด้วย @Path หรือมีอย่างน้อยหนึ่งเมธอดที่มีคำอธิบายประกอบด้วย @Path หรือตัวกำหนดวิธีการร้องขอ เช่น @GET, @POST, @PUT หรือ @ลบ.

URI คืออะไร?

คำตอบ: URI ย่อมาจาก Uniform Resource Identifier เป็นลำดับของอักขระที่ใช้เพื่อค้นหาหรือระบุทรัพยากรของ API หรือบริการ ใช้ชื่อหรือตำแหน่งของทรัพยากรเพื่อระบุ แต่ไม่ได้อาศัยวิธีการหรือเทคนิคเฉพาะ

ความไร้สัญชาติใน REST คืออะไร?

คำตอบ: การไร้สัญชาติหมายถึงข้อจำกัดหนึ่งที่ใช้กับ API ซึ่งคำขอสองรายการไม่สามารถรู้ได้ว่าเกิดอะไรขึ้นระหว่างกัน กล่าวอีกนัยหนึ่ง สถานะของคำขอไม่ได้รับการปรับปรุง หากคำขอได้รับการตอบสนอง คำขอจะสิ้นสุดลงหลังจากได้รับการตอบกลับ

JAX-RS คืออะไร?

คำตอบ: JAX-RS เป็น Java API ที่ช่วยให้คุณสามารถพัฒนาแอปพลิเคชันใน Java ที่ใช้สถาปัตยกรรม REST API นี้ช่วยให้การพัฒนาแอปพลิเคชัน REST ใน Java เป็นเรื่องง่าย

คำอธิบายประกอบหลักใน JAX-RS API คืออะไร

คำตอบ: คำอธิบายประกอบใน JAX-RS ถูกใช้โดยนักพัฒนาเพื่อตกแต่งคลาส Java เพื่อกำหนดรีซอร์สและวิธีการที่สามารถดำเนินการกับรีซอร์สเหล่านั้น คำอธิบายประกอบที่สำคัญบางประการของ JAX-RS API คือ:

  • @GET: ใช้สำหรับสร้างคำขอ GET ใน HTTP
  • @POST: ใช้สำหรับส่งคำขอ POST ใน HTTP
  • @Path: หมายถึงเส้นทางสัมพัทธ์ของคลาส Java
  • @QueryParam: อ้างถึงพารามิเตอร์การค้นหาของ URI หรือ URL

คุณสมบัติหลักบางประการของ JAX-RS API คืออะไร

ตอบ คุณสมบัติของ JAX-RS คือ

  • การแคชฝั่งไคลเอ็นต์
  • การแคชฝั่งเซิร์ฟเวอร์
  • การปรับแต่งสตริงข้อความค้นหา
  • คำอธิบายประกอบรันไทม์
  ทำไมบัญชี Acorns ของคุณถึงสูญเสียเงิน?

จะกำหนดค่าแอปพลิเคชัน JAX-RS ได้อย่างไร

คำตอบ: แอ็พพลิเคชัน JAX-RS ประกอบด้วยคลาสรีซอร์สอย่างน้อยหนึ่งคลาสที่บรรจุในไฟล์ WAR URI ฐานที่ทรัพยากรของแอปพลิเคชันตอบสนองต่อคำขอสามารถตั้งค่าได้สองวิธี:

  • การใช้คำอธิบายประกอบ @ApplicationPath ในคลาสย่อยของ javax.ws.rs.core.Application ที่บรรจุภายใน WAR
  • การใช้แท็ก servlet-mapping ภายใน descriptor การปรับใช้ web.xml ของ WAR

JAX-WS และ JAX-RS คืออะไร

คำตอบ: JAX-WS คือ Jakarta XML Web Services API ที่ใช้สำหรับการพัฒนา API โดยใช้ Simple Object Access Protocol (SOAP) ซึ่งเป็นโปรโตคอลการส่งข้อความที่ใช้ XML

ในทางกลับกัน JAX-RS เป็น Java API ที่ใช้สำหรับสร้างบริการเว็บโดยใช้สถาปัตยกรรม REST

รหัสสถานะ HTTP คืออะไร

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

ไคลเอนต์สามารถทราบได้ว่าคำขอล้มเหลวหรือได้รับการตอบสนอง หรือมีบางอย่างผิดปกติกับการตอบสนองโดยใช้รหัสสถานะ

นี่คือรหัสสถานะทั่วไปของ HTTP:-

  • 200 – ย่อมาจากคีย์เวิร์ด “OK” หมายความว่าคำขอได้รับการตอบสนองและการตอบสนองไม่เป็นไร
  • 404 – ย่อมาจาก “ไม่พบ” ซึ่งหมายความว่าไม่มีทรัพยากรอยู่บนเซิร์ฟเวอร์หรือไม่มีจุดสิ้นสุด
  • 500 – ย่อมาจาก “Internal Server Error” ซึ่งมักจะเกิดขึ้นเมื่อเซิร์ฟเวอร์ไม่สามารถสร้างการตอบสนองที่ถูกต้อง หรือมีข้อผิดพลาดที่ไม่ได้เกิดขึ้นอย่างชัดแจ้ง
  • 503 – ย่อมาจาก “บริการไม่พร้อมใช้งาน” หมายความว่าในขณะนี้ เซิร์ฟเวอร์ไม่สามารถประมวลผลคำขอใดๆ ได้ อาจเป็นเพราะเซิร์ฟเวอร์ไม่ทำงานหรือใช้งานไม่ได้เนื่องจากมีคำขอมากเกินไป นอกจากนี้ยังสามารถเกิดขึ้นได้เมื่อเซิร์ฟเวอร์อยู่ในระหว่างการบำรุงรักษา

HTTP Methods คืออะไร?

คำตอบ: เมธอด HTTP ใช้เพื่อดำเนินการบางประเภทกับทรัพยากรเฉพาะของ API ตัวอย่างเช่น หากคุณต้องการดึงรายการภาพยนตร์จาก API คอลเลกชันภาพยนตร์ คุณสามารถใช้เมธอด GET ที่มาจาก HTTP หากต้องการอัปเดตข้อมูล คุณสามารถใช้เมธอด POST ที่ให้บริการโดย HTTP

วิธีการ HTTP ที่ใช้บ่อยมีดังนี้:

  • GET: คำขอที่ใช้ GET ควรดึงข้อมูลเท่านั้น
  • โพสต์: อัปเดตทรัพยากรโดยส่งทรัพยากรที่อัปเดตใหม่ไปยังเซิร์ฟเวอร์
  • ลบ: มันลบทรัพยากรที่ระบุ
  • PATCH: มันแก้ไขทรัพยากรบางส่วน

การรับรองความถูกต้องพื้นฐานของ HTTP ทำงานอย่างไร

คำตอบ: การพิสูจน์ตัวตนคือกระบวนการตรวจสอบความถูกต้องของไคลเอ็นต์เพื่อรักษาความปลอดภัยของข้อมูล ใน HTTP การรับรองความถูกต้องจะทำงานผ่าน Authorization Header ซึ่งไคลเอนต์ส่งมา

Authorization Header ประกอบด้วยชื่อผู้ใช้/รหัสและรหัสผ่านของไคลเอ็นต์ ซึ่งเซิร์ฟเวอร์จะตรวจสอบและให้สิทธิ์การเข้าถึง

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

คุณสามารถรักษาความปลอดภัยช่องได้โดยใช้เลเยอร์ SSL ซึ่งรวมเข้ากับ HTTPS ดังนั้น ขอแนะนำให้ใช้ HTTPS แทน HTTP แบบธรรมดา เมื่อจัดการกับข้อมูลรับรอง

องค์ประกอบหลักของคำขอ HTTP คืออะไร

คำตอบ: คำขอ HTTP ประกอบด้วยส่วนประกอบต่อไปนี้:

  • บรรทัดคำขอ: เป็นบรรทัดแรกในคำขอใดๆ และประกอบด้วยเมธอด HTTP เส้นทางหรือจุดสิ้นสุด และหมายเลขเวอร์ชัน HTTP
  • ส่วนหัว: ส่วนหัว HTTP ใช้เพื่อให้ข้อมูลเมตาของคำขอ
  • เนื้อหา (ไม่บังคับ): ส่วนประกอบนี้มีอยู่ในวิธีการร้องขอบางวิธีเท่านั้น ไม่จำเป็นสำหรับคำขอ GET แต่จำเป็นสำหรับคำขอ POST มันเป็นข้อความจริงของคำขอ

องค์ประกอบหลักของการตอบสนอง HTTP คืออะไร

คำตอบ: การตอบกลับ HTTP ประกอบด้วยส่วนประกอบต่อไปนี้:

  • สถานะ: หมายถึงรหัสสถานะ HTTP ที่เซิร์ฟเวอร์ส่งมา
  • ส่วนหัว: เช่นเดียวกับคำขอ คำตอบยังมีส่วนหัวตามลำดับ ซึ่งให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับการตอบกลับ
  • ข้อความ: นี่คือข้อมูลจริงที่เซิร์ฟเวอร์ส่งไปยังไคลเอนต์เพื่อขอทรัพยากรเฉพาะ

อะไรคือความแตกต่างระหว่าง REST และ AJAX?

คำตอบ: AJAX เป็นไคลเอนต์ที่คุณสามารถเข้าถึง RESTful API ได้ ใช้เพื่อส่งคำขอแบบอะซิงโครนัสโดยใช้ JavaScript

REST หรือ Representational State Transfer คือสถาปัตยกรรมที่สามารถนำไปใช้เพื่อสร้าง RESTful API กล่าวโดยย่อ ในการส่งคำขอ HTTP คุณสามารถใช้ AJAX ซึ่งทำหน้าที่เป็นไคลเอนต์ได้ แต่ถ้าคุณต้องการใช้ RESTful API คุณจะต้องใช้สถาปัตยกรรม REST

อะไรคือความแตกต่างระหว่าง SOAP และ REST?

คำตอบ: Representational State Transfer หรือ REST เป็นสถาปัตยกรรมที่มีข้อจำกัดในการสร้าง API น้อยที่สุด SOAP หรือ Simple Object Access Protocol เป็นโปรโตคอลที่มีข้อกำหนดเข้มงวดในการใช้ API

  วิธีสร้างแผนภูมิช่องทางใน Excel

REST มีความยืดหยุ่นและใช้งานง่ายกว่า SOAP การส่งข้อความแบบ XML ใช้ใน SOAP ขณะที่ใน REST คุณสามารถใช้การถ่ายโอนข้อมูลได้หลายประเภท เช่น JSON, XML เป็นต้น เมื่อเปรียบเทียบกับ SOAP แล้ว REST มีน้ำหนักเบาและรวดเร็วกว่า

บริการเว็บ SOAP มีการรักษาความปลอดภัยในตัว ซึ่งเป็นข้อดีอย่างหนึ่งของการใช้ SOAP เหนือ REST แต่คุณสมบัติที่เพิ่มเข้ามายังทำให้ซับซ้อนและใช้งานหนัก

ความแตกต่างระหว่าง PUT และ POST คืออะไร?

คำตอบ: POST เป็นวิธีการร้องขอ HTTP ที่ส่งข้อมูลบางส่วนไปยังเซิร์ฟเวอร์ หากคุณส่งคำขอ POST หลายครั้งสำหรับทรัพยากรเฉพาะ อาจมีผลข้างเคียงกับข้อมูลของคุณ ตัวอย่างเช่น หากคุณต้องการเพิ่มบทความลงในคอลเล็กชัน หากคุณส่งคำขอ POST หลายรายการ บทความหลายรายการจะถูกเพิ่มในคอลเล็กชันซึ่งนำไปสู่บทความซ้ำซ้อน

PUT เป็นวิธีการร้องขอ HTTP ที่ส่งข้อมูลไปยังเซิร์ฟเวอร์สำหรับทรัพยากรเฉพาะ แต่จะอัปเดตข้อมูลเพียงครั้งเดียวเท่านั้น หากคุณส่งคำขอ PUT หลายรายการสำหรับทรัพยากรหนึ่งๆ จะไม่มีผลข้างเคียงใดๆ เกิดขึ้น และข้อมูลจะถูกเพิ่มเพียงครั้งเดียว ใน PUT หากไม่มีทรัพยากร ก็จะสร้างทรัพยากรใหม่ และหากมีอยู่ ก็จะอัปเดตทรัพยากรที่มีอยู่

PUT เป็น idempotent ในขณะที่ POST ไม่ใช่

Payload คืออะไร?

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

ขนาดน้ำหนักบรรทุกสูงสุดที่สามารถส่งด้วยวิธีโพสต์คือเท่าใด

คำตอบ: ไม่มีขีดจำกัดเริ่มต้นที่กำหนดโดยโปรโตคอล HTTP เอง ขีดจำกัดสามารถขึ้นอยู่กับขีดจำกัดสูงสุดของไคลเอ็นต์หรือเซิร์ฟเวอร์ แล้วแต่จำนวนใดจะเป็นค่าต่ำสุด

ขณะสร้าง URI แนวทางปฏิบัติที่ดีที่สุดที่ต้องปฏิบัติตามคืออะไร

คำตอบ: ประเด็นสำคัญที่คุณต้องคำนึงถึงในขณะที่ออกแบบ URI ได้แก่:

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

วิธี Idempotent คืออะไร?

คำตอบ: เมธอด HTTP ของ Idempotent มีผลเช่นเดียวกันกับเซิร์ฟเวอร์แม้ว่าจะส่งคำขอที่เหมือนกันหลายรายการ ตัวอย่างเช่น หากคุณส่งคำขอ DELETE ที่เหมือนกันหลายรายการสำหรับทรัพยากรหนึ่งๆ ทรัพยากรนั้นจะไม่เปลี่ยนแปลงในทุกคำขอ มันจะอัปเดตราวกับว่ามีการส่งคำขอเดียวเท่านั้น

วิธีการ idempotent บางส่วน ได้แก่ :

  • ใส่
  • ลบ
  • รับ
  • ศีรษะ
  • ตัวเลือก

บุรุษไปรษณีย์คืออะไร?

คำตอบ: Postman เป็นเครื่องมือพัฒนา API สำหรับพัฒนา แก้ไข และทดสอบ API มีคุณสมบัติมากมายในการสร้างและทดสอบ API อย่างรวดเร็วโดยไม่จำเป็นต้องตั้งค่าไคลเอนต์

คำตอบ: ส่วนหัวของ Cache-Control ประกอบด้วยคำแนะนำหรือคำสั่งเพื่อกำหนดค่าการแคชในเบราว์เซอร์และเซิร์ฟเวอร์ มันบอกเบราว์เซอร์หรือเซิร์ฟเวอร์ว่าต้องแคชอะไรและควรแคชนานแค่ไหนก่อนที่จะถูกร้องขอผ่านคำขอเครือข่าย

ส่วนหัวของ Cache-Control มีคำสั่งต่อไปนี้:-

  • อายุสูงสุด
  • ไม่มีแคช
  • ส่วนตัว
  • สาธารณะ
  • ไม่มีร้านค้า
  • ไม่เปลี่ยนรูป

กำหนดข้อความใน RESTful Web Services

คำตอบ: การส่งข้อความในบริการเว็บ RESTful หมายถึงไคลเอนต์ที่ส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์ ซึ่งเซิร์ฟเวอร์ตอบกลับด้วย HTTP Response การสื่อสารระหว่างไคลเอ็นต์และเซิร์ฟเวอร์นี้เรียกว่าการส่งข้อความ

อะไรคือความแตกต่างระหว่างสถาปัตยกรรมเสาหิน SOA และไมโครเซอร์วิส

คำตอบ: ในสถาปัตยกรรมแบบเสาหิน ทุกสิ่งจะถูกจัดการในที่เดียว ฝั่งไคลเอ็นต์ เซิร์ฟเวอร์ รวมถึงฐานข้อมูลได้รับการจัดการทั้งหมดจากที่เดียว นั่นเป็นเหตุผลที่เรียกว่าเสาหินเพราะคำว่า “เสาหิน” หมายถึงบล็อกหรือหินก้อนเดียว

SOA ย่อมาจาก Service-Oriented Architecture ในสถาปัตยกรรมนี้ ลักษณะต่างๆ ของแอปพลิเคชันได้รับการจัดการโดยบริการต่างๆ ซึ่งรวมถึงซอฟต์แวร์ด้วย ดังนั้นจึงเป็นการรวมกันของโมดูลซอฟต์แวร์บริการหลายตัว การผสานรวมเป็นส่วนสำคัญของสถาปัตยกรรมนี้

สถาปัตยกรรม Microservices คล้ายกับ SOA แต่แตกต่างจาก SOA คือมีโปรแกรมซอฟต์แวร์อิสระหลายโปรแกรมที่สื่อสารกันโดยใช้ API ซึ่งแตกต่างจากสถาปัตยกรรมเสาหินทุกอย่างที่นี่เป็นอิสระและเป็นอิสระในระดับหนึ่ง

สถาปัตยกรรมไมโครเซอร์วิสทำงานอย่างไร

คำตอบ: ในสถาปัตยกรรมไมโครเซอร์วิส แอปพลิเคชันจะแบ่งออกเป็นหน่วยย่อยเล็กๆ ที่เป็นอิสระจากกันและทำงานด้วยตัวมันเอง แต่จะสื่อสารระหว่างกันผ่านชุด API ที่กำหนดไว้อย่างดี

ประโยชน์บางประการของสถาปัตยกรรม microservices ได้แก่ ความคล่องตัว ความยืดหยุ่น ความสามารถในการปรับขนาด เทคโนโลยีอิสระ บริการที่ใช้ซ้ำได้ และการปรับใช้ที่ง่ายดาย

CRUD คืออะไร?

คำตอบ: CRUD ย่อมาจาก Create, Read, Update, Delete นี่คือการดำเนินการที่สามารถดำเนินการกับทรัพยากรเฉพาะได้ API ที่รองรับการดำเนินการทั้งหมดนี้เรียกว่า CRUD API การดำเนินการเหล่านี้เป็นการดำเนินการขั้นพื้นฐานที่สุดที่ API สามารถทำได้บนทรัพยากร

การแคชคืออะไร?

คำตอบ: การแคชเป็นเทคนิคในการจัดเก็บการตอบสนองหรือคำขอบนไคลเอ็นต์หรือเซิร์ฟเวอร์เพื่อใช้อีกครั้งในภายหลัง

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

การใช้ @RequestMapping คืออะไร?

คำตอบ: เป็นคำอธิบายประกอบในกรอบสปริงซึ่งใช้เพื่อแมปคำขอเว็บกับคลาสตัวจัดการและ/หรือเมธอดตัวจัดการเฉพาะ

@PathVariable ทำอะไร?

คำตอบ: คำอธิบายประกอบ @PathVariable ในกรอบสปริงใช้เพื่อแยกค่าของตัวแปรเทมเพลตและกำหนดค่าให้กับตัวแปรเมธอด

กำหนด HttpMessageConverter

คำตอบ: เมื่อคำขอ HTTP (หรือบางส่วน) จำเป็นต้องแปลงเป็นประเภทที่จำเป็นสำหรับอาร์กิวเมนต์สำหรับเมธอดตัวจัดการ หรือเมื่อค่าที่ส่งคืนโดยเมธอดตัวจัดการจำเป็นต้องแปลงด้วยวิธีใดวิธีหนึ่งเพื่อสร้างการตอบสนอง HTTP, HTTP ใช้ตัวแปลงข้อความ

คำตอบ: เครื่องมือบางอย่างที่สามารถช่วยคุณในการทดสอบ API มีดังนี้:

  • บุรุษไปรษณีย์
  • มั่นใจได้
  • พักผ่อนให้เต็มที่
  • คาทาลอน
  • พร้อม API
  • อภิจิ

คำสุดท้าย

ปัจจุบัน API ได้รับความนิยมอย่างมากเนื่องจากการกำเนิดของอินเทอร์เน็ต อีกเหตุผลหนึ่งที่ทำให้ REST APIs เป็นที่นิยมก็คือ ง่ายต่อการพัฒนาและใช้งานง่าย

หากคุณกำลังเตรียมตัวสำหรับการสัมภาษณ์ ให้พิจารณาคำถามข้างต้นเกี่ยวกับ REST API ที่อาจถูกถามในการสัมภาษณ์ของคุณ

จากนั้น คุณสามารถตรวจสอบวิธีการขูดเว็บไซต์โดยใช้ Web Scraping API ของ admintrick.com

เรื่องล่าสุด

x