As someone who recently graduated from college, by far the best interview I ever had was just question all day and asked about projects I would want to work on and asked to explain how I would go about designing my project on the whiteboard. No I didn't get that job; I screwed up the last part (well I did answer some questions incorrectly but I think they didn't care much about that). For what it is worth, the position has to do with security research and engineering. The coding part I had to go through was fairly quickly (but the interviewer, IMO, didn't do a good job at it and caused me a lot of trouble). Geesh, I wish I was given a offer, but looking back I wasn't ready to deliver ANYTHING valuable as an [researcher]engineer yet.

When people just say a bunch of smart words like async and parallelism, ask them to define them with concrete examples. Ask them further to break down their "textbook knowledge." That's by far, IMHO, the best way to evaluate whether a junior prospective engineer knew a lot than average or not. You want a hard question? Just ask people to go as deep as they can to explain to you what happen after a URL is entered into a HTTP client such as browser or curl.

I am terrible at coding under pressure. Actually, I am terrible at coding. I constantly read books and github projects and I end up asking a lot of questions: is this a good practice to do such. You see, I am all for style and I want to be better writing code close to what people prefer to write. I went to talks and learned tips how to write better code and I will immediately employe those new techniques in my new projects.

I will end up with questions and I always wish someone could be around and help. I usually go to IRC or stackoverflow for opinion but I hope when I do get a job soon, I will be able to ask my senior colleague and hope they could provide feedback.

I haven't done everything like some superstar already have at my age. I suck and I am sorry, but I think I am one smart ass person capable of delivering a project with some guidance and day-to-day meeting and mentorship.

In fact there are senior engineers I've met or worked very very briefly during hackathon and when I asked them certain design question they will blur about their ideas and don't really know how to contribute, or up to me to explore what could be done. In essence, neither of us know everything. Senior knows more because they have done more, almost certainly something repetitive. It is like asking me to write hello world every day and I will have no problem responding to it. Sometimes when you look at code written by senior engineers their code smell even worse than what I write (but there are definitely the good one I can always use as reference).

Conclusion is: when you want to hire a new engineer, especially a junior engineer, ask yourself: are you ready to be a mentor and is there anyone ready to believe they can be a good mentor. Actually, when you hire someone, ask your co-workers whether they are ready to be each other's mentor. I don't want to work at a company where everyone is hiding in a cave and think everyone is smart and autonomous. There are times you need to be there to guide someone through his or her obstacle. A company encourages brownbag and training will be ideal for me.

I am serious; don't ask me to code quick sort. I am not going to do it. I know I am just going to memorize it and after I've written one a dozen time it will just become hello world. No, I am kidding. I need a job so I will do it. I will, but feeling a time bomb ticking next to me. I will either fail or go on with another few rounds writing more quick sort.