Based on one hour session with Dylan from the senior class.
Dylan is one of the first in the senior class to receive and accept a job offer. He must have something special.
The employers looked at the following things:
– his personal project.
– his group project
– his personal website.
– his GitHub profile
Personal website:
– His website is fantastic. Hence, whenever the employer wants to see the portfolio, he sends the website to impress them.
– It has to be responsive. Employers would literally resize the window to check.
– A good model is alexpaley.com
Personal projects:
– Working and pretty/presentable
– Not necessarily the most complicated project
– The other extreme is the technical challenging ones, such as building a WebRTC framework or build a REST interface to Mongo(?)
Group projects:
– Understand all the code other people wrote.
– Implement a couple of design patterns such as observer or mediator in the project.
– Make sure the code is nice / clean / presentable to employers
GitHub profile:
– Activities are important. Similar to your undergraduate GPA, it is hard to cheat on your commit activities.
– Showcase a couple of the projects
Other recruiting channels:
– AngelList
– LinkedIn (change your title to software engineer)
High level thoughts:
– 50% technical details
– 50% like-ability
Practical stats:
– all interviews coming from hiring days
– 5+ onsite interviews with more voluntarily declined
– To nail the 5 minutes speed dating in hiring day, be personable, smiling. A lot of conversations end up being non technical. Don’t underestimate the people you meet since he might become your biggest advocate inside the company.
Phone interview:
– 50% tech depth
– 50% personable
Onsite interview:
– 3-4 hours each, one hour per person
– All coding on whiteboard
– Talk through the coding process
– Practice writing code on the whiteboard
– Be proactive. Reach out and not necessarily aggressive.
– When struggling, don’t get frustrated. Ask for help.
– After making a mistake, admitted it.
Other thoughts:
– Meteor.js is cool to know. However, it is so new and so powerful that few companies are using it in production. Also, employers might not take you seriously if you build a project with Meteor. Meteor is definitely the go-to weapon in a Hackathon.
– When asked about the expected salary. First, avoid giving a definitive number, saying “average market rate / what is competitive”. Second, if pressed again, referring to a high anchor point, “Peter in our previous class got an offer of $125k with signing bonus. While I don’t expect your company to offer the same salary, it does give us some range to think about.”
Common interview questions:
– Write SQL to join two tables
– Explain CSS box model
– Promises
– Implement promises in jQuery without using .done() or .success()
– jQuery events
– Make a drag & drop modal without using any library. Hint: mouse_down -> mouse_move -> mouse_up
– Backbone
– Some angularjs
May or may not be true:
– People likes Ruby but don’t like Rails
– CoffeeScript is ok
Example – what is the output for the following program:
var a = 8;
alert(a);
var f1 = function(){
var a = 7;
alert(a);
var f2 = function(){
alert(a);
var a = 6;
}
f2();
}
f1();