3 ms·
This is “grill you on everything” kind of interview. Open discussion on system design is IMO a really cruical round. I am not saying the candidates have to have
by yeukhon 9y ago
This is “grill you on everything” kind of interview. Open discussion on system design is IMO a really cruical round. I am not saying the candidates have to have years of experience in scaling - I doubt most applicants have. FWIW, the application I built for my CS department when I was an undergraduate was getting at least 10-20 times of that amount at peak every week (probably hundreds per night) as assignments were due. We were fine on a single server running three vagrants - one for main backend, two for grading assignments in a sandbox.
Shipping MVP is really crucial for a startup. Don’t build a mega-internet scale setup. Yes you can start using AWS and takes advantage of the basics scaling features, but there you go - talk about how to leverage those services to make scaling less a hurtle in the long round. That’s what I want to hear as an interviewer.
I want to hear about trade-offs and ramp-up. Picking the grading application I worked on, as the candidate I would want to know a high-level view of the stack, and try to identify and address shortcomings with the interviewers together. System design round should feel like a collaboration, whiteboard “pair-sketching” (analogus to pair-programming”. If that was not your experience, sorry.
Anyway, point being when there is a take-off, I want to be sure my coworkers and I have good intuitions and ready-to-use knowledge to keep our product afloat. More importantly, we want to start thinking about scaling, availability, fault tolerance and all the big words now. We don’t need a manager walk by and ask “so what should we do today team?”
Everyone should be proactive. That should be the point of a system design round. Much of that round shoukd be spent on questioning and then answering back and forth. The interviewer SHOULD be talking too as much as the candidate; it should not feel like giving a talk or giving an oral read of your PhD thesis. If most of your interviewers onsite behave like an exam proctor rather than a peer, consider the culture a bit unfit for yourself (take offer now and do another hunt is up to you). This is IMO the best “culture fit” test both sides can use. Don’t judge on the elegancy of the solution (big plus for clever soltion), but reward points for how pleasant it is to be in a room working together.
- lovich 9y agoThat would be wonderful is interviews were actually done with the idea of finding out if a prospective employee was proactive or not, but most interviews are just the interviewers going off a checklist of questions they think they need to ask because they are effectively in a cargo cult. Take the questions on scalability for instance. I personally don't have any experience with scaling on requests, my highest demand was an application with <5000 users for the entire client base. I want the experience so in my last job hunt I apply to a number of jobs that I know get a lot of traffic. I tell the recruiter the chance to get experience in that skill set is why I am applying. The recruiter tells me the desire to learn is all they want. I get to the interviews and have the same talk with the engineers and the same response. They then ask me system design questions and I answer as best as I can along with bringing up approaches I've heard of but don't have experience with. Interview ends and the recruiter tells me they are passing because I don't have the experience in scaling they want. I had this happen with multiple companies. Not wanting an employee without that experience is perfectly fine, but why waste everyone's time when an interviewee tells you from the get go that they don't have one of your must haves? When resumes are passed over for implicit signals like which school you're from, unusual names, spelling errors, etc, why go through all of it? It's because most companies and most people interviewing have no idea what they want or what they are doing and are just copying approaches they've seen before. It's the same problem that gets you interviews where they want you to reverse red black trees on a whiteboard but the actual job is just implementing CRUD api's, or building jobs that run an algorithm that is basic algebra once a day. At this point a "grill you on everything" interview for any position that's not director level or someone getting paid double the market, because they actually need you to know everything, is just a red flag that the company has no idea what's going on and you'll have better luck making the interviewers like you as a person than actually learning all those skills
- ryguytilidie 9y ago"most interviews are just the interviewers going off a checklist of questions they think they need to ask because they are effectively in a cargo cult." Recruiter here. I interviewed with a company ~9 months ago and they asked me "how do you choose whether to hire for experience or pedigree". I gave a bunch of reasons why you might trade off one for the other and the interviewer made a bit of a sour face. He then asked me "is there another way to phrase what you're saying?" I said "Well, the way you make those tradeoffs depends on..." and he cut me off and said "thats what i was looking for". When I asked what he meant, he said that the answer on the sheet was "It depends" and he wanted me to literally say those words. I didn't continue the process as I can't imagine the type of culture that gets people to that point of disengagement.
- lovich 9y agoUnfortunately its the kind of culture most companies seem to get. The few that don't have that culture, like early Facebook or google, can skyrocket from getting actual talent, but even those companies start to devolve into the scripts once they get large enough unless there is a concerted effort to avoid it. People are animals and animals are lazy so the path of least effort gets chosen the majority of the time, and that means going off of predetermined scripts.
- itronitron 9y agoUnfortunately this sounds pretty typical, there is often a disconnect between the different 'deciders' in the process.
- lovich 9y agoIt does not help that many of those deciders can have conflicting incentives. The line manager may want to take anyone willing to learn and has the basics of programming, but the HR manager may have cutting costs as their overriding concern so why hire anyone whose not perfect since that's not 100% "optimal"
- 9y ago