interview questions on REST

I sometimes get asked about what is REST in an interview. I feel like I have a sense of what it is, yet the answer seems somewhat theoretical. When I built a website that supported sub domains for rock bands, I felt I got some sense of what it was, yet I was not sure exactly how to define it in my own words. I often feel like I don't give good interview answers or I am not sure why people seem to feel it is such an important question to ask, what it is they are looking for etc ..

Once when asked have I used rest, my answer was something of the form of I probably had used it without realizing it when I used rails scaffolding ..

Below is the definition I have from my interview prep notes

I sometimes get asked about what is REST in an interview. I feel like

I have a sense of what it is, yet the answer seems somewhat

theoretical. When I built a website that supported sub domains for

rock bands, I felt I got some sense of what it was, yet I was not sure

exactly how to define it in my own words. I often feel like I don’t

give good interview answers or I am not sure why people seem to feel

it is such an important question to ask, what it is they are looking

for etc …

I would advice anyone from giving you a direct answer on this because the point of an interview to see if you actually know what you claim on your resume. If you don’t know it you are not qualified for the job.

With that said, I will point you in the right direction for understanding and learning more about REST. It’s used in Rails but without a basic understanding of what is covered in it you will not understand the references to REST in other Rails docs and guides.

Start here: http://en.wikipedia.org/wiki/Representational_State_Transfer

Then go to here: http://blogs.sitepoint.com/restful-rails-part-i/

Be sure to look up and read up on any terms you don’t understand.

Good luck.

B.

I sometimes get asked about what is REST in an interview. I feel like

I have a sense of what it is, yet the answer seems somewhat

theoretical. When I built a website that supported sub domains for

rock bands, I felt I got some sense of what it was, yet I was not sure

exactly how to define it in my own words. I often feel like I don’t

give good interview answers or I am not sure why people seem to feel

it is such an important question to ask, what it is they are looking

for etc …

I would advice anyone from giving you a direct answer on this because the point of an interview to see if you actually know what you claim on your resume. If you don’t know it you are not qualified for the job.

That should have read “I would advise against anyone giving…”

Thanks,

I have been through that wikipedia dry and theoretical stuff a bit before. Some of it is useful, but I can't always seem to draw out what are the main points that I should care the most about and what is assumed such as client/server is obviously an assumption, but if I don't give a fully qualified answer then someone might think I am lacking I suppose. I have a degree in CS from 1990, so any response on what is a good answer to this type of question might be instructional to me.

I think I like Ruby alot as a language, but the front end GUI stuff with html, http, javascript, css and all gets me less excited. I realize I have to try to get into those areas a good deal in order to have some edge as a Rails developer, so I make some attempt but not enough to be a real expert the way I look at it. I then have had people think I was too much of a GUI person because of all of that stuff on my resume.

I did find the Restfull Rails blog post interesting, but it seemed like it was labeled part 1 and there was no follow up, but I see there are other articles on restfull rails so you may have pointed me in the right direction.

One thing that the article said was: "There are two other verbs that you might not have heard of because browsers don’t support them: PUT and DELETE"

rails templates don't cause PUT or DELETE to be sent to the server ?

I am not sure if this REST stuff is in any way related to how you can have a situation where the browser back and forward buttons don't work the same because the web page gets modified with dynamic html. I know there are ways around that, but sometimes when you are messing around and just adding some dynamic AJAX or RJS stuff you end up with something like that until you decide what the final site layout might be.

So I had done some things in the past with map.resources in the routes, but I never really fully understood all of it, especially when there was more than one level with children such as:

map.resources :bookmarks, :has_many => [:comments]

I had kind of rushed through some examples and I should probably study that a bit now that I have some time to do so.

I seemed to recall I had written some mixin modules to support some of this. The other thing that is a little frustrating is I get alot of questions in interviews on my previous work. I no longer have any of that code to look at and it was government work and there is no way I could have saved any of the code. People these days seem to ask alot more questions than years ago as well.

So I had done some things in the past with map.resources in the routes, but I never really fully understood all of it, especially when there was more than one level with children such as:

map.resources :bookmarks, :has_many => [:comments]

I had kind of rushed through some examples and I should probably study that a bit now that I have some time to do so.

I seemed to recall I had written some mixin modules to support some of this. The other thing that is a little frustrating is I get alot of questions in interviews on my previous work. I no longer have any of that code to look at and it was government work and there is no way I could have saved any of the code.

Nor could you have passed it on anyway. I got requests like that too in the past. My stock answer was a polite "no, it was done under a classified clearance."

People these days seem to ask alot more questions than years ago as well.

I agree. It's necessary because of the flood in the market of people that were not programmers and engineers getting those jobs in the late 90's/early 2000's. They ended up writing bad unsupported code that these companies got stuck with. Just grin and bear it. They're just trying to not get burned again.

B.