Bab lan Paragraf[Singidaken][Tampilake]
- 1. Apa sampeyan ngerti babagan REST?
- 2. Apa tegese REST API?
- 3. Apa sejatine URI?
- 4. Apa karakteristik Layanan Web RESTful?
- 5. Apa prinsip panuntun REST?
- 6. Sebutake metode HTTP sing didhukung REST.
- 7. Njlèntrèhaké Watesan diselehake dening antarmuka konsisten.
- 8. Apa sejatine Sumber Daya REST?
- 9. Apa tegese JAX-RS kanggo sampeyan?
- 10. Apa sing mbedakake AJAX lan REST saka siji liyane?
- 11. Apa sampeyan bisa dhaptar sawetara kekurangan layanan web RESTful?
- 12. Apa sing mbedakake teknik PUT lan POST saka siji liyane?
- 13. Kepiye sampeyan nyoba layanan web RESTful?
- 14. Njlèntrèhaké REST API ing donya nyata.
- 15. Kepiye Arsitektur Microservice?
- 16. Apa sejatine cache?
- 17. Nggambarake muatan.
- 18. Mbedakake SABUN Vs REST?
- 19. Apa protokol keamanan lapisan transportasi (TLS) bisa digunakake karo REST?
- 20. Metode idempoten: apa iku? Kepiye cara ditrapake ing jagad layanan web RESTful?
- 21. Apa fungsi Otentikasi Dasar HTTP?
- 22. Apa sampeyan mikir GraphQL minangka pilihan sing paling apik kanggo nggawe arsitektur microservice?
- 23. Apa bedane utama antarane metode HTTP sing aman lan idempoten?
- 24. Apa JAX-RS API tegese dening RESTful ROOT Resource Classes?
- 25. Apa sejatine Tukang Pos, lan apa sebabe digunakake?
- 26. Kepiye REST API tetep aman?
- kesimpulan
Évolusi REST wis nggawe API bisa diakses kanthi luar biasa nalika uga nuduhake kekuwatan lan potensial lengkap. REST API gampang digawe lan cache amarga arsitektur berorientasi sumber daya.
Kajaba iku, sajrone wektu, API RESTful minangka cikal bakal pangembangan penting liyane kayata komputasi awan lan desain adhedhasar layanan mikro.
Mula, ora kaget manawa pangembang REST API dikarepake saiki amarga cara nyedhiyakake bisnis sing nggunakake layanan RESTful kanthi kompetitif. REST API minangka tren desain sing populer.
Akeh perusahaan IT pengin kawruh API REST saka pangembang piranti lunak lan takon babagan iki ing wawancara teknis.
Mangkene sawetara pitakonan wawancara REST API paling khas sing bakal mbantu sampeyan siyap kanggo wawancara ing macem-macem perusahaan yen sampeyan pengin kerja ing lapangan pangembangan REST API.
1. Apa sampeyan ngerti babagan REST?
REST minangka paradigma arsitektur kanggo ngrancang aplikasi basis web sing adhedhasar Hypertext Transfer Protocol (HTTP).
REST nemtokake standar tartamtu sing kudu ditindakake layanan web supaya bisa dianggep RESTful. Rekomendasi kasebut njamin manawa panyuwunan lan sumber daya dikirim kanthi cepet lan efektif antarane klien lan server nggunakake protokol HTTP standar.
2. Apa tegese REST API?
Link software-to-software sing dikenal minangka antarmuka pemrograman aplikasi mbisakake komunikasi lan enggo bareng data ing antarane program sing independen. Contone, situs web warta bisa nggunakake API Twitter kanggo nemokake tweet sing relevan kanthi otomatis lan nggabungake menyang crita berita.
API sing netepi prinsip REST dikenal minangka REST API, kadhangkala dikenal minangka RESTful API. Ing REST API, saben potongan data ditangani minangka sumber daya lan diwenehi identitas sumber daya standar (URI).
Umpamane, API Twitter ndadekake saben tweet minangka sumber daya sing kasedhiya kanggo klien. API Twitter bisa digunakake dening pangguna kanggo ngirim tweets lan nindakake tugas situs web liyane.
3. Apa sejatine URI?
A jaringan komputer sumber daya bisa diarani nggunakake URI utawa sumber daya pengenal seragam. Iki minangka sarana kanggo misahake sumber daya siji saka liyane. Sumber kasebut bisa uga online utawa ora.
Amarga struktur standar, URI nggawe gampang nyambung menyang macem-macem jinis sumber daya. Lokasi utawa jeneng sumber kasebut kalebu ing URI bebarengan karo senar karakter.
URI digawe saka path, skema, query, lan unsur liyane nanging ora kalebu protokol.
Nggunakake protokol, URL (Uniform Resource Locators) digunakake kanggo nemokake sumber daya ing internet utawa bisa diakses liwat.
4. Apa karakteristik Layanan Web RESTful?
- Paradigma Client-Server minangka dhasar layanan kasebut.
- Layanan bisa ngakses sumber daya liwat nggunakake URI.
- Layanan kasebut nggunakake Protokol HTTP kanggo entuk data / sumber daya, mbukak pitakon, lan nindakake tugas liyane.
- Pesen iku jeneng cara sing digunakake kanggo komunikasi antarane klien lan server.
- Layanan kasebut uga bisa ngetrapake pola arsitektur REST nggunakake layanan SOAP.
- Kanggo nyuda panggilan server kanggo panjaluk sing padha, layanan kasebut uga nggunakake ide caching.
5. Apa prinsip panuntun REST?
Lima kritéria kudu dipenuhi dening REST API:
Decoupling klien-server: Mung sawetara panjalukan lan balesan sing bisa digunakake kanggo komunikasi antarane klien lan server. Mung klien lan server sing bisa ngirim panjalukan lan jawaban. Gagasan langsung iki ngidini loro pihak bisa mlaku kanthi mandiri.
Antarmuka Seragam: Kudu ana protokol seragam kanggo kabeh sambungan klien-server. Protokol iki kanggo REST yaiku HTTP. Amarga saben aplikasi njaluk lan ngirim data nggunakake basa sing padha, antarmuka sing konsisten ndadekake integrasi luwih gampang.
Stateless: Server ora nyimpen cathetan saka panjalukan sadurunge utawa jawaban ing komunikasi stateless. Saben panjalukan lan jawaban nyedhiyakake kabeh rincian sing dibutuhake kanggo ngrampungake ijol-ijolan. Komunikasi stateless nambah kacepetan, ngirit memori, lan nyuda stres ing server. Kajaba iku, ngindhari potensial panyuwunan gagal amarga data sing ora lengkap.
Sistem berlapis: Server sing manggon ing antarane klien lan server API diarani lapisan. Server ekstra iki nindakake macem-macem layanan, kayata ndeteksi spam lan ngoptimalake kacepetan. Lapisan ing REST iku modular, tegese bisa ditambah lan dibusak tanpa mengaruhi komunikasi antarane klien lan server API.
Cacheable: Klien bisa nyimpen sumber daya apa wae kanggo ngedongkrak kacepetan yen jawaban server nuduhake manawa sumber kasebut bisa di-cache utawa ora.
Coding on-demand: Nanggepi, API bisa ngirim kode komputer eksekusi kanggo pelanggan. Aplikasi klien banjur bisa mbukak kode ing mburi mburi dhewe.
6. Sebutake metode HTTP sing didhukung REST.
Cara HTTP sing didhukung REST yaiku:
- GET: Cara iki njaluk sumber daya ing URL sing ditemtokake. Badan panyuwunan ora kudu dilebokake amarga bakal diabaikan. Sampeyan bisa uga bisa cache lokal utawa ing server.
- POST: Cara iki ngirim data menyang layanan kanggo diproses, lan layanan kasebut biasane ngasilake sumber daya anyar utawa diganti.
- PUT: Sumber daya dianyari ing URL panyuwunan.
- Mbusak: Sumber daya wis dibusak ing URL request.
- Pilihan: Ngenali cara sing didhukung.
- KEPALA: Metadata URL panyuwunan bali.
7. Njlèntrèhaké Watesan diselehake dening antarmuka konsisten.
Kanggo misahake klien saka server, antarmuka sing konsisten dibutuhake.
Kanggo entuk antarmuka sing konsisten, papat watesan ing ngisor iki dibutuhake:
- Identifikasi sumber daya: Panjaluk klien kudu nggunakake ID sumber daya standar kanggo ngenali sumber daya (URI)
- Manipulasi sumber daya nggunakake perwakilan kasebut: Klien duwe kabeh informasi sing dibutuhake supaya bisa ngganti negara sumber nalika entuk perwakilan sumber daya saka server.
- Pesen poto-deskriptif: Pesen kalebu kabeh metadata lan informasi liyane sing dibutuhake kanggo panrima kanggo ngerti.
- Hypermedia minangka mesin negara aplikasi: Saluran kanggo komunikasi klien-server yaiku hypermedia, kayata HTML, lan klien ora mbutuhake dokumentasi khusus API kanggo mangerteni jawaban server.
8. Apa sejatine Sumber Daya REST?
Sumber daya minangka komponen dhasar saka layanan web RESTful ing arsitektur REST. Dheweke kalebu kabeh informasi penting sing kudu diakses klien API.
Sembarang jinis sumber daya, kayata kaca HTML, gambar, video, utawa liya-liyane sing dibutuhake kanggo kegiatan API, bisa diakses liwat server ing sistem klien-server.
Sumber daya diidentifikasi dening Uniform Resource Identifier. Teks, JSON, utawa XML kabeh minangka representasi sumber daya sing bisa ditampa. Sawise nyatakake, ora ana watesan babagan format perwakilan.
9. Apa tegese JAX-RS kanggo sampeyan?
Luwih gampang nggawe layanan web RESTful ing Jawa amarga API Java kanggo Layanan web RESTful, asring dikenal minangka JAX-RS. Pangembang bisa njlèntrèhaké sumber daya lan operasi sing bisa ditindakake kanthi nggunakake anotasi sing diwenehake.
10. Apa sing mbedakake AJAX lan REST saka siji liyane?
ajax:
- Ajax minangka klompok teknologi sing ngidini nganyari dinamis antarmuka panganggo unsur tanpa kudu mbukak maneh kaca.
- Ajax mbusak komunikasi asinkron antarane klien lan server.
ngaso:
- REST mbutuhake komunikasi antarane server lan klien.
- Pemanfaatan sumber daya penting kanggo struktur URL lan pola panjalukan / respon sing digunakake dening REST.
11. Apa sampeyan bisa dhaptar sawetara kekurangan layanan web RESTful?
Sesi ora bisa diterusake amarga layanan kasebut cocog karo konsep statelessness. (Klien tanggung jawab kanggo ngliwati id sesi sajrone simulasi sesi.)
Watesan keamanan ora dhasar kanggo REST. Protokol sing nggunakake kasebut menehi pancegahan keamanan. Mulane, ngati-ati nalika ngetrapake langkah-langkah keamanan, kayata nggabungake otentikasi basis SSL / TLS, penting.
12. Apa sing mbedakake teknik PUT lan POST saka siji liyane?
NDEKEK:
- Ora ana cache kanggo tanggapan PUT.
- Idempotent (yaiku sawetara panjaluk bakal ngasilake asil sing padha)
- nganyari payload request utawa ngganti sumber target.
POST:
- idempotent ora (yaiku, macem-macem panjalukan bakal ngasilake kelipatan saka sumber sing padha)
- Server web ngolah beban panjalukan adhedhasar sumber daya sing dituju.
- Yen header kontrol cache sing cocog kalebu, balesan POST bisa di-cache.
13. Kepiye sampeyan nyoba layanan web RESTful?
Pengujian layanan web sing tenang bisa dibantu dening sawetara alat, kalebu Swagger lan Postman. Mriksa paramèter panjalukan kaya paramèter pitakon, header, lan header respon bisa ditindakake kanthi akeh fitur sing terakhir.
Tukang pos bisa digunakake kanggo nggawe panjalukan kanggo titik pungkasan lan nuduhake asil. Lan XML lan JSON bisa digawe saka jawaban kasebut.
Postman lan Swagger loro-lorone nyedhiyakake fungsi sing bisa dibandhingake. Ing sisih liya, Swagger uga nawakake kemampuan kaya dokumentasi endpoint.
14. Njlèntrèhaké REST API ing donya nyata.
- Situs web lelungan lan tiket bisa nggunakake wektu penerbangan lan rega sing diwenehake maskapai liwat API.
- Supaya aplikasi pemetaan lan pandhu arah (kaya Google Maps) bisa digunakake, agensi transportasi umum kerep nyedhiyakake data kanggo publik kanthi nyata-nyata liwat API.
- Aplikasi cuaca nggunakake API mbukak sing ngganti data cuaca kanggo nampilake informasi cuaca.
- Pangembang bisa ngakses data pemetaan Google Maps liwat sawetara API sing di-host. API iki digunakake dening pangembang kanggo nampilake peta dinamis ing aplikasi lan situs web.
15. Kepiye Arsitektur Microservice?
- Panyuwunan dikirim dening macem-macem pelanggan nggunakake macem-macem piranti.
- Sawise konfirmasi identitas klien, panyedhiya identitas nyedhiyakake token keamanan.
- Panjaluk klien dikelola dening API Gateway.
- Kabeh materi sistem disimpen minangka konten statis.
- Alat manajemen mriksa imbangan layanan ing simpul lan kesalahan apa wae.
- Nemokake jalur komunikasi antarane layanan mikro dibantu dening panemuan layanan.
- Pusat data lan server proxy nggawe sistem jaringan sing kasebar sing diarani jaringan pangiriman konten.
- Layanan remot nyedhiyakake akses informasi saka kadohan.
16. Apa sejatine cache?
Praktek nyimpen salinan jawaban server ing endi wae (kayata memori komputer) supaya bisa diakses kanthi luwih cepet diarani cache.
Caching nambah kacepetan server nalika nggunakake API REST kanthi nyuda jumlah kerja sing kudu ditindakake server kanggo nyukupi panjaluk kasebut. Aplikasi sing nggunakake API bisa mlaku luwih cepet amarga caching amarga ora kudu ngirim panjaluk anyar saben butuh sumber daya.
Kolom Cache-Control header respon HTTP ngemot informasi babagan suwene sumber daya bisa di-cache dening klien sadurunge kudu diakses maneh.
17. Nggambarake muatan.
Muatan ing REST nuduhake informasi sing ana ing awak respon HTTP. Pelanggan nggunakake teknik GET kanggo njaluk data kasebut.
Dokumen sing ngemot teks tweet lan file sing dibutuhake kanggo nyelehake tweet ing situs web bakal dilebokake ing muatan, umpamane, yen sampeyan njaluk Twitter API kanggo tweet tartamtu. Kajaba iku, muatan bisa dilebokake ing panjalukan HTTP nggunakake metode POST.
18. Mbedakake SABUN Vs NGASO?
- Ora kaya SOAP, sing mung bisa nangani XML, REST mbisakake format sumber daya sing luwih akeh, kalebu XML, teks, HTML, gambar, video, lan liya-liyane.
- Nalika keamanan penting kanggo aplikasi online, SOAP mbiyantu. REST ora bisa digunakake nalika transaksi kudu rampung kanthi aman amarga ora aman.
- Amarga SOAP mung protokol, REST bisa digunakake ing layanan web nanging ora sebaliknya.
- Nalika REST mung minangka pola arsitektur sing digunakake kanggo ngembangake layanan web lan netepi watesan tartamtu kayata persiyapan klien-server, statelessness, respon cacheable, sistem berlapis, lan antarmuka sing konsisten, SOAP minangka protokol sing ngoperasikake standar tartamtu sing kudu dipatuhi kanthi ketat. kanggo.
- Nalika REST nggunakake universal resource identifiers (URI), SOAP nggunakake antarmuka layanan kanggo nyedhiyakake kemampuan kanggo aplikasi klien. REST mbutuhake bandwidth sing luwih murah tinimbang SOAP amarga pesen SOAP luwih akeh informasi.
19. Apa protokol keamanan lapisan transportasi (TLS) bisa digunakake karo REST?
Nyatane, kita bisa. Komunikasi klien lan server REST dienkripsi liwat TLS, lan protokol kasebut uga menehi klien cara kanggo otentikasi server.
Amarga kasunyatan sing ngganti Secure Socket Layer, digunakake kanggo komunikasi aman (SSL). Ngleksanakake layanan web RESTful sukses karo HTTPS amarga kerja sama efektif karo TLS lan SSL.
REST marisi karakteristik protokol sing dileksanakake, sing kudu dicathet ing kene. Akibaté, proteksi keamanan gumantung marang protokol sing digunakake REST.
20. Metode idempoten: apa iku? Kepiye cara ditrapake ing jagad layanan web RESTful?
Nalika URI padha, sawetara cara HTTP ing panyuwunan duwe pengaruh sing padha ing server manawa dikirim sepisan utawa kaping pirang-pirang. Techniques idempotent sing iki dikenal minangka.
Contone, ora preduli kaping pirang-pirang URI nggunakake metode GET, server bakal tansah ngalami asil sing padha. Cara idempoten kalebu GET, PUT, lan PATCH, kanggo sawetara jeneng.
Cara HTTP idempoten minangka sawetara sing digunakake dening RESTful aplikasi web. Iki perlu kanggo njamin konsistensi ing aktivitas layanan web RESTful.
Pelanggan sing nggunakake REST API bisa nggawe kesalahan kode sing meksa REST API nggawe panjalukan sing ora sengaja bola-bali. Telpon kasebut duweni potensi kanggo nyalahi panggunaan sumber daya.
21. Apa fungsi Otentikasi Dasar HTTP?
Nalika nggunakake Otentikasi Dasar minangka bagéan saka API, pangguna kudu ngirim jeneng pangguna lan sandhi, sing digabungake dening browser ing wangun "jeneng panganggo: sandi" lan base64 dienkode.
Ing saben panjalukan HTTP saka browser, nilai sing dienkode dikirim minangka nilai kanggo header "Wewenang". Amarga kredensial mung dienkode, disaranake nggunakake formulir iki nalika ngirim panjalukan HTTPS amarga ora aman lan bisa dicegat dening sapa wae yen protokol keamanan ora digunakake.
22. Apa sampeyan mikir GraphQL minangka pilihan sing paling apik kanggo nggawe arsitektur microservice?
Microservices lan GraphQL mlaku kanthi sampurna amarga GraphQL njaga arsitektur layanan mikro dadi rahasia saka klien sampeyan.
Saka mburi ngarep, sampeyan pengin kabeh data teka saka API siji, nalika saka mburi mburi, sampeyan pengin dibagi menyang microservices. Teknik paling apik sing aku ngerti kanggo entuk loro yaiku nggunakake GraphQL.
Iku ngijini sampeyan kanggo dibagi backend menyang microservices nalika isih menehi saben aplikasi siji API lan mbisakake nggabung antarane data saka macem-macem layanan.
23. Apa bedane utama antarane metode HTTP sing aman lan idempoten?
Cara idempoten ngasilake asil sing padha nalika dijaluk sapisan utawa kaping pirang-pirang liwat panyuwunan sing padha. Metode PUT idempoten.
Kabeh cara aman idempoten, nanging ora kabeh cara idempoten aman amarga cara aman ora ngowahi sumber daya. Contone, GET aman amarga mung njupuk data lan ora ngowahi sumber daya.
Kajaba iku, idempoten, tegese mesthi bakal ngasilake jawaban sing padha nalika dijaluk.
24. Apa JAX-RS API tegese dening RESTful ROOT Resource Classes?
Java Enterprise Edition nyedhiyakake kelas lan antarmuka sing tundhuk karo syarat API JAX-RS. Kanthi bantuan JAX-RS, nggawe layanan web Jawa kanthi gaya arsitektur REST dadi luwih gampang.
Ing JAX-RS API, kelas sumber daya ROOT mung "obyek java lawas kosong," utawa POJO. Kanggo ngetrapake sumber daya web sing dibutuhake, dheweke nggunakake anotasi JAX-RS.
Dheweke duwe anotasi @path utawa paling ora salah sawijining metode duwe anotasi @path. Bisa disimpulake minangka kelas Jawa kanthi cara kanggo ngatasi titik pungkasan API.
25. Apa sejatine Tukang Pos, lan apa sebabe digunakake?
Alat pangembangan API sing diarani Postman digunakake kanggo nggawe, nguji, lan ngowahi API. Alat iki bisa digunakake dening pangembang kanggo fitur apa wae sing dibutuhake kanggo API. Nyederhanakake lan nggampangake karya pangembang.
Tukang pos nggampangake nggawe macem-macem pitakon HTTP, kalebu GET, POST, PUT, lan PATCH, nyimpen lingkungan kanggo digunakake mengko, lan ngowahi API dadi kode ing sawetara basa sing beda-beda.
Saben tataran siklus API digawe prasaja karo Postman, lan kerjasama wis streamlined kanggo pembangunan API luwih cepet.
Kajaba iku, iki ngidini pangembang ngatur dokumentasi, spesifikasi, kasus uji, proses, lan katalog API.
26. Kepiye REST API tetep aman?
Amarga REST API ora nggunakake proteksi keamanan sing ketat kaya SOAP API, data sensitif ora kudu dikirim utawa dijupuk.
Nanging, REST API sing bisa dipercaya terus nggabungake kontrol keamanan kanggo transmisi data sing aman lan bisa dipercaya.
- Otentikasi lan wewenang: Saben panyuwunan sing digawe kanggo API kudu ngliwati loro cek kasebut. Verifikasi identitas klien liwat otentikasi lan validasi yen dheweke duwe wewenang kanggo ngakses sumber daya sing dijaluk liwat wewenang yaiku rong proses sing beda.
- Validasi: Sadurunge API menehi akses menyang sumber daya, panjalukan isih kudu dipriksa kanggo kode sing bisa mbebayani sawise otentikasi lan wewenang. Server bakal mbukak kanggo serangan injeksi.
- Validasi: Sadurunge API menehi akses menyang sumber daya, panjalukan isih kudu dipriksa kanggo kode sing bisa mbebayani sawise otentikasi lan wewenang. Server bakal mbukak kanggo serangan injeksi.
- Enkripsi: Enkripsi TLS/SSL nglindhungi sambungan antarane klien lan server lan nyegah peretas saka nyegat panjalukan lan jawaban.
- Teknik watesan tarif, kayata watesan lan throttling, nglindhungi server saka serangan brute-force kaya DDoS sing tujuane ngrusak utawa nabrak.
- Ora ana informasi sensitif ing URI: URI sumber daya ngirim ora ngemot data sing dilindhungi (kayata jeneng pangguna, sandhi, utawa token otentikasi).
kesimpulan
Sugeng rawuh! Sawetara pitakonan wawancara REST API dhasar nganti kompleks lan solusi masing-masing saiki ana ing pucuk driji.
Saiki sampeyan duwe konsep sing apik babagan carane nanggapi sawetara pitakonan wawancara REST API sing khas, sampeyan bisa nerusake kanggo nanggapi wawancara kasebut. Langkah sabanjure gumantung ing tujuan sampeyan.
Dolan maring Seri Wawancara karo Hashdork kanggo nyiapake wawancara.
Ninggalake a Reply