REST API Interview Questions (Advanced Level)

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 45

  • @tryexponent
    @tryexponent  11 місяців тому +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 8 місяців тому +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

  • @laponiec
    @laponiec Рік тому +3

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

  • @shrashetty8279
    @shrashetty8279 Рік тому +3

    Awesome!! Precise defination. On point explanation

  • @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 🙏

  • @TKGZONE
    @TKGZONE 2 роки тому +15

    I wish I got these questions in an interview 😂

  • @edwinrosales6322
    @edwinrosales6322 Рік тому +1

    Great tips!

  • @biancastefania184
    @biancastefania184 Рік тому

    You are awesome! Keep up the great work💯

  • @felipefreitas1498
    @felipefreitas1498 2 роки тому +1

    Great video! Thanks!!!

  • @kushalkamra3803
    @kushalkamra3803 2 роки тому +2

    Awesome ❤

  • @rasikasamith
    @rasikasamith 7 місяців тому

    Thanks a lot. Super video.

  • @johnybee5808
    @johnybee5808 Місяць тому

    Great!

  • @legostarwarszadzi
    @legostarwarszadzi Рік тому

    Golden content thank you

  • @pedepatopimenta
    @pedepatopimenta Рік тому

    Good stuff!

  • @rnrnrkrk994
    @rnrnrkrk994 5 місяців тому +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

  • @111rhishishranjan2
    @111rhishishranjan2 Рік тому +1

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

  • @Pablo-bl7nu
    @Pablo-bl7nu Рік тому +2

    cool, thnx

  • @shreyashachoudhary480
    @shreyashachoudhary480 2 роки тому +2

    Epic!

  • @suvrojyotibhuniya3524
    @suvrojyotibhuniya3524 2 роки тому

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

  • @jayavishnuramsaravanaraj1876
    @jayavishnuramsaravanaraj1876 2 роки тому

    Thanks for sharing the knowledge

  • @SethWilson
    @SethWilson 2 роки тому

    Thanks :) good stuff.

  • @ukaszkiepas57
    @ukaszkiepas57 5 місяців тому

    thank you! :")

  • @judepope6196
    @judepope6196 9 місяців тому

    love it

  • @samirmahmudlu
    @samirmahmudlu Рік тому

    Thank you

  • @rushikeswararaopolaki3602
    @rushikeswararaopolaki3602 Рік тому

    Good stuff

  • @matanbarlev968
    @matanbarlev968 2 місяці тому

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

  • @chaitanyakampara3944
    @chaitanyakampara3944 6 місяців тому

    good rest api

  • @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!

  • @wickylee4513
    @wickylee4513 3 місяці тому

  • @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

  • @aaqibhamdule73
    @aaqibhamdule73 Рік тому +8

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

    • @Nexatek
      @Nexatek 6 місяців тому +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..

  • @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 6 місяців тому +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