REST API Interview Questions (Advanced Level)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 45

  • @tryexponent
    @tryexponent  10 หลายเดือนก่อน +1

    Don't leave your software engineering career path to chance. Make sure you're interview-ready with Exponent's software developer interview prep course: bit.ly/3Cd56T5

  • @Boringpenguin
    @Boringpenguin 2 ปีที่แล้ว +39

    0:30 #1 What is the difference between PUT, POST and PATCH?
    1:22 #2 What is a payload in the context of a REST API?
    1:47 #3 What is a REST message?
    2:11 #4 What are the core components of an HTTP request?
    2:59 #5 What are the core components of an HTTP response?
    3:49 #6 What is an idempotent method and why are they important?
    4:32 #7 What is the difference between idempotent and safe HTTP methods?
    4:51 #8 Explain caching in a RESTful architecture

  • @snavesinned
    @snavesinned ปีที่แล้ว +28

    For "advanced", I'd expect more from the question on the difference between PUT, PATCH, and POST. POST requests the server create a new resource and respond with its newly created URI.
    PUT and PATCH will update, or MAY create, a resource at a specific URI. The difference being PUT replaces (overwrites) the resource and PATCH simply updates specific properties.
    It's important to note that PUT is the only true idempotent action of the three. PATCH may be idempotent but not always.
    It's also important to note that on PUT and PATCH operations, if the resource doesn't exist, the server MAY create the resource, but doesn't have to. This just depends on whether the service requires it creates URIs via POST or is OK with UTIs being created by PUT and PATCH requests. If the latter, handlers of those requests should validate if all fields required to create a resource are present before it creates the resource should it not exist.
    Most importantly, API developers should stop treating PUT like a PATCH operation which seems like common practice because GET, POST, PUT, and DELETE operations are too commonly likened to CRUD operations without the explanation of the differences.
    HTTP requests are an operation on the resource at a URI, not the datasource. It's not a 1:1 CRUD pass-through to the datasource, especially since URIs represent more than data in a datasource.

    • @Hey__Luna__912
      @Hey__Luna__912 ปีที่แล้ว +1

      Thank you. It was really useful info to learn. Do you have any suggestions of some resources where one can learn more such in-depth info about REST-api ?

    • @huywarrior
      @huywarrior ปีที่แล้ว +3

      I really like your interpretation of the question "What is the difference between PUT and PATCH". It cleans, simplifies, and filters the gist! Repeat at your own discretion and memorize to reinforce the knowledge, in my opinion:
      Put: Overwrite all
      Patch: Change only necessary components and attributes

  • @khushishareef2909
    @khushishareef2909 7 หลายเดือนก่อน +2

    Best practices
    1. Supporting JSON data transfer
    2. Using proper status codes
    3. Using URI hierarchy to represent the relationship between resources
    4. Using idempotent HTTP methods
    5. Using caching
    6. Incorporating security measures

  • @ArpithaIndira
    @ArpithaIndira 4 หลายเดือนก่อน

    Thank you for answering these type questions…. I understand some people here in the comment section telling these are not advanced questions but people like me are still getting to know answers to these type of questions and they are useful..thank you..keeping making videos 🙏

  • @laponiec
    @laponiec ปีที่แล้ว +3

    Short and sweet, love the fromat of your videos and thank you all the effort you put into them.

  • @TKGZONE
    @TKGZONE 2 ปีที่แล้ว +15

    I wish I got these questions in an interview 😂

  • @shrashetty8279
    @shrashetty8279 ปีที่แล้ว +3

    Awesome!! Precise defination. On point explanation

  • @matanbarlev968
    @matanbarlev968 2 หลายเดือนก่อน

    I think you should also mention that PUT method must be idempotent, while POST method may be not idempotent.

  • @biancastefania184
    @biancastefania184 ปีที่แล้ว

    You are awesome! Keep up the great work💯

  • @rasikasamith
    @rasikasamith 6 หลายเดือนก่อน

    Thanks a lot. Super video.

  • @edwinrosales6322
    @edwinrosales6322 ปีที่แล้ว +1

    Great tips!

  • @suvrojyotibhuniya3524
    @suvrojyotibhuniya3524 2 ปีที่แล้ว

    Thanks bro,you explained very efficiently,keep working...

  • @legostarwarszadzi
    @legostarwarszadzi ปีที่แล้ว

    Golden content thank you

  • @felipefreitas1498
    @felipefreitas1498 2 ปีที่แล้ว +1

    Great video! Thanks!!!

  • @rnrnrkrk994
    @rnrnrkrk994 4 หลายเดือนก่อน +1

    You said PUT is updating existing resource at 0:39, but in 1:00 you say PUT is replacing the entire resource vs PATCH. Seems contradicting

  • @jayavishnuramsaravanaraj1876
    @jayavishnuramsaravanaraj1876 2 ปีที่แล้ว

    Thanks for sharing the knowledge

  • @johnybee5808
    @johnybee5808 23 วันที่ผ่านมา

    Great!

  • @kushalkamra3803
    @kushalkamra3803 2 ปีที่แล้ว +2

    Awesome ❤

  • @dirktrash3455
    @dirktrash3455 ปีที่แล้ว

    Great video! I did have a question, though: how does caching work when RESTful APIs are supposed to be stateless? Doesn't that violate that principle?

    • @tryexponent
      @tryexponent  ปีที่แล้ว +4

      Hey dirktrash3455! You are right in that RESTful APIs follow the statelessness principle, where the server doesn't store client-specific information between requests i.e. each request contains all necessary data.
      Caching, a performance optimization technique, stores and reuses previous responses. Therefore, caching does not violate the statelessness principle because the server's response itself is cached, not the server's state.
      Hope this helps!

    • @dirktrash3455
      @dirktrash3455 ปีที่แล้ว

      @@tryexponent That's very helpful, thanks!

  • @Pablo-bl7nu
    @Pablo-bl7nu ปีที่แล้ว +2

    cool, thnx

  • @pedepatopimenta
    @pedepatopimenta 11 หลายเดือนก่อน

    Good stuff!

  • @111rhishishranjan2
    @111rhishishranjan2 ปีที่แล้ว +1

    what is meta data at 5:10 ? can anyone explain it ??

  • @ukaszkiepas57
    @ukaszkiepas57 5 หลายเดือนก่อน

    thank you! :")

  • @SethWilson
    @SethWilson 2 ปีที่แล้ว

    Thanks :) good stuff.

  • @samirmahmudlu
    @samirmahmudlu ปีที่แล้ว

    Thank you

  • @judepope6196
    @judepope6196 8 หลายเดือนก่อน

    love it

  • @wickylee4513
    @wickylee4513 3 หลายเดือนก่อน

  • @rushikeswararaopolaki3602
    @rushikeswararaopolaki3602 ปีที่แล้ว

    Good stuff

  • @chaitanyakampara3944
    @chaitanyakampara3944 6 หลายเดือนก่อน

    good rest api

  • @shreyashachoudhary480
    @shreyashachoudhary480 2 ปีที่แล้ว +2

    Epic!

  • @aaqibhamdule73
    @aaqibhamdule73 ปีที่แล้ว +8

    You should not do clickbait by saying Advanced Questions and just state plain basics.

    • @Nexatek
      @Nexatek 5 หลายเดือนก่อน +1

      Exponent is fake. You say advanced and talk about what is payload and all of your mock interviews are crap with bs candidates who are amateurs..

  • @milance123456
    @milance123456 2 ปีที่แล้ว +52

    Thats not really advanced

    • @Isomorphist
      @Isomorphist 2 ปีที่แล้ว +1

      because REST APIS are relatively simple

    • @shenth27
      @shenth27 ปีที่แล้ว +1

      It's advanced for the author

  • @stickysteve14
    @stickysteve14 ปีที่แล้ว

    im assuming the first question is to make sure the resume wasnt a lie lmao

  • @mysterio7385
    @mysterio7385 2 ปีที่แล้ว +5

    Good explanation, but this is not advanced level...

  • @Nexatek
    @Nexatek 5 หลายเดือนก่อน +1

    Exponent is fake. You say advanced and talk about what is payload and all of your mock interviews are crap with bs candidates who are amateurs..

  • @jscoding402
    @jscoding402 11 หลายเดือนก่อน

    Thank you