Daptar eusi[Sumputkeun][Témbongkeun]
- 1. Naon anu anjeun kaharti ku REST?
- 2. Naon anu anjeun maksud ku REST API?
- 3. Naon kahayang téh URI?
- 4. Naon ciri-ciri Layanan Wéb RESTful?
- 5. Naon prinsip pituduh REST?
- 6. Sebutkeun métode HTTP nu REST ngarojong.
- 7. Nerangkeun larangan ditempatkeun ku panganteur konsisten.
- 8. Naon kahayang téh Resource REST?
- 9. Naon hartina JAX-RS ka anjeun?
- 10. Naon anu ngabédakeun AJAX sareng REST?
- 11. Dupi anjeun daptar sababaraha drawbacks ladenan web RESTful?
- 12. Naon anu ngabédakeun téhnik PUT jeung POST?
- 13. Kumaha anjeun nguji jasa wéb RESTful?
- 14. Ngajelaskeun REST API di dunya nyata.
- 15. Kumaha Microservice Arsitéktur Gawé?
- 16. Naon kahayang téh cache?
- 17. Nerangkeun payload.
- 18. Bédakeun SABUN Vs REST?
- 19. Tiasa protokol kaamanan lapisan angkutan (TLS) dianggo sareng REST?
- 20. Métode idempotent: naon aranjeunna? Kumaha éta dilarapkeun ka dunya jasa wéb RESTful?
- 21. Naon fungsi tina auténtikasi Dasar HTTP?
- 22. Saur anjeun GraphQL mangrupa pilihan pangalusna pikeun nyieun arsitéktur microservice?
- 23. Naon anu ngabedakeun utama antara métode HTTP aman tur idempotent?
- 24. Naon anu JAX-RS API nunjukkeun ku Kelas Sumberdaya Akar RESTful?
- 25. Naon ari Tukang Pos téh, jeung naha dipaké?
- 26. Kumaha REST API dijaga aman?
- kacindekan
Évolusi REST parantos ngajantenkeun API tiasa diaksés sacara luar biasa bari ogé ngungkabkeun kakuatan sareng poténsi pinuhna. REST API gampang didamel sareng di-cache kusabab arsitektur berorientasi sumberdaya.
Salaku tambahan, sapanjang waktos, RESTful API mangrupikeun cikal bakal kamajuan anu penting sapertos komputasi awan sareng desain berbasis microservice.
Ku alatan éta, teu matak heran yén pamekar REST API dipénta dinten ayeuna kumargi kumaha aranjeunna nyayogikeun usaha anu nganggo jasa RESTful anu kompetitif. REST API mangrupikeun tren desain anu populer.
Loba firms IT hoyong REST API pangaweruh ti pamekar software jeung nanya ngeunaan eta dina wawancara teknis.
Ieu sababaraha patarosan wawancara REST API anu paling umum anu bakal ngabantosan anjeun siap pikeun ngawawancara di sababaraha perusahaan upami anjeun hoyong damel di widang pangembangan REST API.
1. Naon anu anjeun kaharti ku REST?
REST mangrupikeun paradigma arsitéktur pikeun ngarancang aplikasi basis wéb anu dumasar kana Hypertext Transfer Protocol (HTTP).
REST ngahartikeun standar-standar nu tangtu nu kudu minuhan jasa wéb pikeun dianggap RESTful. Rekomendasi ieu ngajamin yén pamundut sareng sumber dikirimkeun gancang sareng efektif antara klien sareng server nganggo protokol HTTP standar.
2. Naon anu anjeun maksud ku REST API?
Link software-to-software katelah antarbeungeut program aplikasi ngamungkinkeun komunikasi jeung babagi data antara program disebutkeun bebas. Contona, ramatloka warta bisa make Twitter API pikeun manggihan tweets pertinent otomatis tur ngahijikeun kana carita warta.
API anu taat kana prinsip REST katelah REST API, sok katelah RESTful API. Dina REST API, unggal sapotong data diatur salaku sumberdaya sarta dibéré identitas sumberdaya baku béda (URI).
Contona, Twitter API ngajadikeun unggal tweet sumberdaya retrievable anu sadia pikeun klien. API Twitter tiasa dianggo ku pangguna pikeun ngirim tweet sareng ngalaksanakeun tugas halaman wéb anu sanés.
3. Naon kahayang téh URI?
A jaringan komputer sumberdaya bisa disebut maké URI atawa identifier sumberdaya seragam. Ieu fungsi minangka sarana misahkeun hiji sumberdaya ti nu sejen. Sumberna tiasa atanapi henteu online.
Kusabab struktur standarna, URI ngajantenkeun saderhana pikeun nyambungkeun kana sababaraha jinis sumber daya. Lokasi atawa ngaran sumberdaya kaasup dina URIs babarengan jeung string of karakter.
URI diwangun ku jalur, skéma, query, sarta elemen séjén tapi teu kaasup protokol.
Nganggo protokol, URL (Uniform Resource Locators) dianggo pikeun milarian sumber dina internét atanapi tiasa diaksés ngalangkunganana.
4. Naon ciri-ciri Layanan Wéb RESTful?
- Paradigma Client-Server mangrupikeun pondasi jasa.
- Palayanan tiasa ngaksés sumber daya nganggo URI.
- Ladenan éta ngagunakeun Protokol HTTP pikeun meunangkeun data/sumber daya, ngajalankeun patarosan, sareng ngalaksanakeun tugas-tugas sanés.
- Olahtalatah mangrupikeun nami metode anu dianggo pikeun komunikasi antara klien sareng server.
- Ladenan ieu ogé tiasa nerapkeun pola arsitéktur REST nganggo jasa SOAP.
- Pikeun ngirangan sauran pangladén pikeun pamundut anu sami, jasa ieu ogé ngagunakeun ideu cache.
5. Naon prinsip pituduh REST?
Lima kriteria kedah dicumponan ku REST API:
decoupling klien-server: Ngan runtuyan requests na balesan bisa dipaké pikeun komunikasi antara klien tur server. Ngan klien sareng server anu tiasa ngirim pamundut sareng jawaban masing-masing. Gagasan anu lugas ieu ngamungkinkeun duanana pihak pikeun fungsina sacara mandiri.
Interface seragam: Kudu aya protokol seragam pikeun sakabéh sambungan klien-server. Protokol ieu pikeun REST nyaéta HTTP. Kusabab unggal aplikasi menta sareng ngirim data nganggo basa anu sami, antarmuka anu konsisten ngajantenkeun integrasi langkung saderhana.
Stateless: Server henteu nyimpen rékaman tina pamundut atanapi jawaban sateuacana dina komunikasi anu teu aya kaayaan. Unggal pamundut jeung jawaban nyadiakeun sagala rinci diperlukeun pikeun ngalengkepan bursa. Komunikasi stateless ningkatkeun kagancangan, ngahemat mémori, sareng ngirangan setrés dina server. Salaku tambahan, éta ngahindarkeun poténsi paménta gagal kusabab data anu teu lengkep.
Sistim Layered: Server nu reside antara klien tur server API disebut lapisan. Server tambahan ieu ngalakukeun rupa-rupa layanan, sapertos ngadeteksi spam sareng ngaoptimalkeun kagancangan. Lapisan dina REST téh modular, hartina maranéhna bisa ditambahkeun jeung dihapus tanpa impacting komunikasi antara klien tur server API.
Cacheable: Klién tiasa cache sumber naon waé pikeun ningkatkeun kagancangan upami jawaban pangladén nunjukkeun naha sumberna tiasa disimpen atanapi henteu.
On-demand coding: Salaku respon, hiji API bisa ngirimkeun kode komputer laksana ka konsumén. Aplikasi klien lajeng bisa ngajalankeun kode dina tungtung deui sorangan.
6. Sebutkeun métode HTTP nu REST ngarojong.
Metode HTTP anu dirojong REST nyaéta:
- GET: Metoda ieu naroskeun sumber daya dina URL anu ditangtukeun. A badan pamundut teu kudu kaasup sabab bakal dipaliré. Bisa jadi mungkin pikeun cache eta lokal atawa dina server.
- POST: Metoda ieu ngirimkeun data ka layanan pikeun ngolah, sarta jasa biasana kudu balik sumberdaya anyar atawa robah.
- PUT: Sumberdaya diropéa dina URL pamundut.
- DELETE: Sumberdayana dihapus dina pamundut URL.
- Pilihan: Ieu nangtukeun métode nu dirojong.
- KEPALA: Metadata URL pamundut dipulangkeun.
7. Nerangkeun larangan ditempatkeun ku panganteur konsisten.
Dina raraga misahkeun klien ti server, a panganteur konsisten diperlukeun.
Pikeun ngahontal antarmuka anu konsisten, opat konstrain di handap ieu diperyogikeun:
- Idéntifikasi sumberdaya: Paménta klien kedah nganggo ID sumberdaya standar pikeun ngaidentipikasi sumberdaya (URI)
- Manipulasi sumberdaya ngagunakeun répréséntasi ieu: Klién boga sagala informasi diperlukeun pikeun bisa ngarobah kaayaan sumberdaya nalika aranjeunna meunang ngagambarkeun sumberdaya ti server.
- Pesen timer deskriptif: Pesen ngawengku sakabeh metadata sareng inpo nu sejenna diperlukeun pikeun panarima ngartos aranjeunna.
- Hypermedia salaku mesin kaayaan aplikasi: Saluran pikeun komunikasi klien-server nyaéta hypermedia, sapertos HTML, sareng klien henteu peryogi dokuméntasi khusus API pikeun ngartos jawaban server.
8. Naon kahayang téh Resource REST?
Sumberdaya mangrupikeun komponén dasar tina jasa wéb RESTful dina arsitektur REST. Éta kalebet sadaya inpormasi penting anu kedah diaksés ku klien API.
Sakur jinis sumber daya, sapertos halaman HTML, gambar, pidéo, atanapi naon waé anu diperyogikeun pikeun kagiatan API, tiasa diaksés ngalangkungan server dina sistem klien-server.
Sumber daya diidentipikasi ku Uniform Resource Identifier. Téks, JSON, atanapi XML mangrupikeun répréséntasi sumberdaya anu tiasa ditampi. Saatos nyatakeun yén, henteu aya watesan dina format perwakilan.
9. Naon hartina JAX-RS ka anjeun?
Langkung saderhana pikeun ngadamel jasa wéb RESTful di Java berkat API Java pikeun Layanan wéb RESTful, sering katelah JAX-RS. Pamekar tiasa ngajelaskeun sumberdaya sareng operasi anu tiasa dilaksanakeun dina éta nganggo anotasi anu disayogikeun.
10. Naon anu ngabédakeun AJAX sareng REST?
Ajax:
- Ajax nyaéta grup téknologi anu ngamungkinkeun pikeun ngamutahirkeun dinamis tina interface pamaké elemen tanpa kudu ngamuat deui kaca.
- Ajax ngaleungitkeun komunikasi asinkron antara klien sareng server.
Istirahat:
- REST nungtut komunikasi antara server sareng klien.
- Pemanfaatan sumber daya penting pikeun struktur URL sareng pola pamundut / réspon anu dianggo ku REST.
11. Dupi anjeun daptar sababaraha drawbacks ladenan web RESTful?
Sesi teu tiasa diteruskeun sabab jasa patuh kana pamanggih statelessness. (Klien nanggungjawaban kanggo ngalangkungan id sési sapanjang simulasi sési.)
Konstrain kaamanan henteu dasar pikeun REST. Protokol anu ngagunakeun éta mewarisi pancegahan kaamanan. Ku alatan éta, nyandak caution bari nempatkeun ukuran kaamanan di tempat, kayaning integral tina SSL / auténtikasi basis TLS, penting.
12. Naon anu ngabédakeun téhnik PUT jeung POST?
PUT:
- Henteu aya cache pikeun réspon PUT.
- Idempotent (nyaéta sababaraha pamundut bakal ngahasilkeun hasil anu sami)
- apdet payload pamundut urang atawa ngaganti sumberdaya target.
POST:
- idempotent henteu (nyaéta, sababaraha pamundut bakal ngahasilkeun sababaraha sumber daya anu sami)
- Pangladén wéb ngolah beban pamenta dumasar kana sumber daya anu dimaksud.
- Upami header kontrol-cache anu cocog kalebet, balesan POST tiasa di-cache.
13. Kumaha anjeun nguji jasa wéb RESTful?
Uji layanan wéb anu tenang tiasa dibantuan ku sababaraha alat, kalebet Swagger sareng Postman. Inspecting parameter pamundut kawas parameter query, lulugu, sarta lulugu respon dimungkinkeun ku kaayaanana dimungkinkeun sacara fitur.
Tukang pos tiasa dianggo pikeun ngadamel pamenta ka titik tungtung sareng nunjukkeun hasilna. Sareng XML sareng JSON tiasa didamel tina jawaban ieu.
Tukang pos sareng Swagger duanana nyayogikeun fungsionalitas anu sabanding. Di sisi anu sanés, Swagger ogé nawiskeun kamampuan sapertos dokuméntasi titik akhir.
14. Ngajelaskeun REST API di dunya nyata.
- Situs wéb perjalanan sareng tiket tiasa ngungkit waktos penerbangan sareng harga anu disayogikeun ku maskapai ngalangkungan API.
- Supados aplikasi pemetaan sareng navigasi (sapertos Google Maps) tiasa dianggo, agénsi angkutan umum sering nyayogikeun datana sacara umum sacara real-time via API.
- Aplikasi cuaca nganggo API kabuka anu tukeur data cuaca pikeun ningalikeun inpormasi cuaca.
- Pamekar tiasa ngaksés data pemetaan Google Maps ngalangkungan sababaraha API anu di-host na. API ieu dianggo ku pamekar pikeun nyelapkeun peta dinamis dina aplikasi sareng situs wéb na.
15. Kumaha Microservice Arsitéktur Gawé?
- Paménta dikirim ku sababaraha palanggan nganggo sababaraha alat.
- Saatos ngonfirmasi identitas klien, panyadia identitas nyayogikeun token kaamanan.
- Paménta klien diurus ku API Gateway.
- Sakabéh bahan sistem dilestarikan salaku eusi statik.
- Alat manajemén mariksa kasaimbangan jasa dina titik sareng kasalahan naon waé.
- Ngajalajah jalur komunikasi antara microservices dibantuan ku penemuan jasa.
- Puseur data sareng server proxy ngadamel sistem jaringan anu sumebar anu disebut jaringan pangiriman eusi.
- Ladenan jauh nyadiakeun aksés informasi ti kajauhan.
16. Naon kahayang téh cache?
Praktek nyimpen samentawis salinan jawaban pangladén di mana waé (sapertos mémori komputer) pikeun ngaksés éta engké langkung gancang katelah cache.
Caching ningkatkeun kagancangan server nalika nganggo REST API ku ngirangan jumlah padamelan anu kedah dilakukeun ku server pikeun nyugemakeun pamundut. Aplikasi anu ngagunakeun API ngajalankeun langkung gancang berkat cache sabab henteu kedah ngalebetkeun pamundut énggal unggal waktos aranjeunna peryogi sumber daya.
Widang Cache-Control lulugu respon HTTP ngandung émbaran ngeunaan sabaraha lila sumberdaya bisa sindangan ku klien saméméh perlu diaksés deui.
17. Nerangkeun payload.
Beban dina REST nujul kana inpormasi anu aya dina awak réspon HTTP. Palanggan ngagunakeun téknik GET pikeun ménta data anu dimaksud.
Dokumén anu ngandung téks tweet sareng file anu dipikabutuh pikeun nempatkeun tweet dina halaman wéb bakal dilebetkeun kana payload, contona, upami anjeun naroskeun ka Twitter API pikeun tweet khusus. Salaku tambahan, payload tiasa dilebetkeun kana pamundut HTTP nganggo metode POST.
18. ngabedakeun SABUN Vs sésana?
- Beda sareng SOAP, anu ngan ukur tiasa ngadamel XML, REST ngamungkinkeun sajumlah format sumber daya anu langkung lega, kalebet XML, téks, HTML, gambar, pidéo, sareng seueur deui.
- Nalika kaamanan penting pikeun aplikasi online, SOAP ngabantosan. REST teu tiasa dianggo nalika transaksi kedah réngsé kalayan aman sabab éta henteu aman.
- Kusabab SOAP ngan ukur protokol, REST tiasa dianggo dina jasa wébna tapi sanés sabalikna.
- Nalika REST ngan ukur pola arsitéktur anu dianggo pikeun ngembangkeun jasa wéb sareng patuh kana watesan anu tangtu sapertos setelan klien-server, statelessness, réspon cache, sistem berlapis, sareng antarmuka anu konsisten, SOAP mangrupikeun protokol anu beroperasi dina standar khusus anu kedah dipatuhi sacara ketat. ka.
- Sedengkeun REST ngagunakeun universal resource identifiers (URI), SOAP ngagunakeun interfaces layanan pikeun nyadiakeun kamampuhna pikeun aplikasi klien. REST ngagaduhan kabutuhan rubakpita anu langkung handap tibatan SOAP sabab pesen SOAP langkung beurat inpormasi.
19. Tiasa protokol kaamanan lapisan angkutan (TLS) dianggo sareng REST?
Kanyataanna, urang tiasa. Komunikasi klien REST sareng server énkripsi via TLS, sareng protokol ogé masihan klien cara pikeun nga-asténtikasi server.
Alatan kanyataan yén éta téh ngagantian Secure Socket Layer, digunakeun pikeun komunikasi aman (SSL). Ngalaksanakeun jasa wéb RESTful suksés sareng HTTPS sabab tiasa dianggo sacara efektif sareng TLS sareng SSL.
The REST inherits ciri tina protokol eta implements, nu hiji hal anu kudu dicatet di dieu. Hasilna, panyalindungan kaamanan gumantung kana protokol anu dianggo REST.
20. Métode idempotent: naon aranjeunna? Kumaha éta dilarapkeun ka dunya jasa wéb RESTful?
Nalika URI sami, sababaraha metode HTTP dina pamundut gaduh dampak anu sami dina server naha aranjeunna dikirimkeun sakali atanapi sababaraha kali. Téhnik idempotent nyaéta naon anu katelah.
Contona, euweuh urusan sabaraha kali URI ngagunakeun métode GET dijalankeun, server bakal salawasna ngalaman hasil anu sarua. Métode idempotent kalebet GET, PUT, sareng PATCH, pikeun sababaraha ngaran.
Metode HTTP Idempotent mangrupikeun sababaraha anu dianggo ku RESTful aplikasi wéb. Éta dipikabutuh pikeun ngajamin konsistensi dina kagiatan ladenan wéb RESTful.
Konsumén anu nganggo REST API tiasa ngadamel kasalahan kode anu maksakeun REST API ngadamel pamundut anu teu kahaja. Telepon ieu berpotensi nyalahgunakeun sumber daya.
21. Naon fungsi tina auténtikasi Dasar HTTP?
Nalika nganggo Auténtikasi Dasar salaku bagian tina API, pangguna kedah ngalebetkeun nami pangguna sareng kecap akses, anu dihijikeun ku browser dina bentuk "ngaran pangguna: sandi" sareng base64 disandikeun.
Dina unggal pamundut HTTP ti browser, nilai disandikeun dikirimkeun salaku nilai pikeun lulugu "Otorisasi". Kusabab kredensial karek disandi, disarankeun pikeun nganggo formulir ieu nalika ngirim pamundut HTTPS sabab henteu aman sareng tiasa dicegat ku saha waé upami protokol kaamanan henteu dianggo.
22. Saur anjeun GraphQL mangrupa pilihan pangalusna pikeun nyieun arsitéktur microservice?
Microservices sareng GraphQL sajalan sampurna sabab GraphQL ngajaga arsitektur microservice anjeun rusiah ti klien anjeun.
Ti tungtung hareup, anjeun hoyong sadaya data anjeun asalna tina API tunggal, sedengkeun ti tungtung tukang, anjeun hoyong ngabagi kana microservices. Téhnik pangsaéna anu kuring terang pikeun ngahontal duanana nyaéta ku ngagunakeun GraphQL.
Éta ngamungkinkeun anjeun pikeun ngabagi backend anjeun kana microservices bari tetep masihan unggal aplikasi hiji API sareng ngamungkinkeun anjeun ngagabung kana data tina sababaraha jasa.
23. Naon anu ngabedakeun utama antara métode HTTP aman tur idempotent?
Métode idempotent ngahasilkeun hasil anu sami nalika disauran sakali atanapi sababaraha kali ngalangkungan pamundut anu sami. Metoda PUT nyaeta idempotent.
Sadaya cara anu aman mangrupikeun idempoten, tapi henteu sadayana metode idempoten aman sabab metode anu aman henteu ngarobih sumber daya. Salaku conto, GET aman sabab ngan ukur nyandak data sareng henteu ngarobih sumberna.
Salaku tambahan, éta idempotent, hartosna éta bakal salawasna ngabalikeun jawaban anu sami nalika disauran.
24. Naon anu JAX-RS API nunjukkeun ku Kelas Sumberdaya Akar RESTful?
Java Enterprise Edition nyayogikeun kelas sareng antarmuka anu patuh kana syarat API JAX-RS. Kalayan bantosan JAX-RS, nyiptakeun jasa wéb Java dina gaya arsitéktur REST janten langkung gampang.
Dina API JAX-RS, kelas sumberdaya root ngan "objék java heubeul polos," atawa POJO. Pikeun ngalaksanakeun sumber wéb anu diperyogikeun, aranjeunna nganggo anotasi JAX-RS.
Aranjeunna gaduh @path annotations atanapi sahenteuna salah sahiji metodena gaduh @path annotations. Éta bisa dijumlahkeun up salaku kelas Java kalawan métode pikeun nungkulan titik tungtung API.
25. Naon ari Tukang Pos téh, jeung naha dipaké?
Alat pamekaran API anu disebut Postman dianggo pikeun nyiptakeun, nguji, sareng ngarobih API. Alat ieu tiasa dianggo ku pamekar pikeun fitur naon waé anu diperyogikeun pikeun API. Éta nyederhanakeun sareng ngagampangkeun padamelan pamekar.
Tukang pos ngagampangkeun ngadamel rupa-rupa patarosan HTTP, kalebet GET, POST, PUT, sareng PATCH, simpen lingkungan pikeun dianggo engké, sareng ngarobih API kana kode dina sababaraha basa anu béda.
Unggal tahap siklus API dijieun basajan kalawan tukang pos, sarta gawé babarengan streamlined pikeun ngembangkeun API gancang.
Salaku tambahan, éta ngamungkinkeun pamekar pikeun ngatur dokuméntasi, spésifikasi, kasus uji, prosés, sareng katalog API.
26. Kumaha REST API dijaga aman?
Kusabab REST API henteu nganggo panjagaan kaamanan anu ketat sapertos SOAP API, data sénsitip henteu kedah dikirim atanapi dicandak nganggo aranjeunna.
Tapi, REST API anu dipercaya terus ngahijikeun kadali kaamanan pikeun pangiriman data anu aman sareng diandelkeun.
- Auténtikasi sareng otorisasina: Masing-masing sareng unggal pamundut anu dilakukeun pikeun API kedah lulus dua cek ieu. Verifikasi idéntitas klien ngaliwatan auténtikasi jeung validating yén maranéhna boga wewenang pikeun ngakses sumberdaya dipénta ngaliwatan otorisasina dua prosés béda.
- Validasi: Sateuacan API masihan aksés ka sumber dayana, pamundut kedah tetep dipariksa pikeun kode anu mungkin ngabahayakeun saatos auténtikasi sareng otorisasina. A server sahingga bakal kabuka pikeun serangan suntik.
- Validasi: Sateuacan API masihan aksés ka sumber dayana, pamundut kedah tetep dipariksa pikeun kode anu mungkin ngabahayakeun saatos auténtikasi sareng otorisasina. A server sahingga bakal kabuka pikeun serangan suntik.
- Enkripsi: Enkripsi TLS/SSL ngajaga sambungan antara klien sareng server sareng ngajaga peretas tina ngahalangan pamundut sareng jawaban.
- Téhnik ngawatesan laju, sapertos wates sareng throttling, ngajagi server tina serangan gaya brute sapertos DDoS anu tujuanana pikeun nguraikeun atanapi ngadat aranjeunna.
- Henteu aya inpormasi sénsitip dina URI: URI Sumberdaya henteu kedah ngandung data anu ditangtayungan (sapertos nami pangguna, kecap akses, atanapi token auténtikasi).
kacindekan
Wilujeng! Sababaraha patarosan wawancara REST API dasar sareng kompleks sareng solusi masing-masing ayeuna aya dina jari anjeun.
Ayeuna anjeun gaduh konsép anu hadé ngeunaan cara ngabales sababaraha patarosan wawancara REST API khas, anjeun tiasa teras ngaréspon kana wawancara. Lengkah saterusna gumantung kana tujuan anjeun.
nganjang Runtuyan Wawancara kalawan Hashdork pikeun nyiapkeun wawancara.
Leave a Reply