Earlier quoted context omitted.
I never put my GPA on any resume. I had a garbage GPA because the only classes I went to were CS classes so I got horrible grades in all my required electives. I was worried someone would ask and no one did.
Did you not have to submit transcripts of your results?
Tech Interview Handbook
31–40 of 132 posts
Re: Tech Interview Handbook
#32This is... incredibly disconnected from my 15-odd years of experience in my career. Is this how Silicon Valley engineering careers work?
Re: Tech Interview Handbook
#33This is... incredibly disconnected from my 15-odd years of experience in my career. Is this how Silicon Valley engineering careers work?
Re: Tech Interview Handbook
#34"GPA does matter" No, it does not, unless you're a recent graduate. Absolutely nobody pays attention to your GPA, if you're more than a few years in your career.
Re: Tech Interview Handbook
#35"GPA does matter" No, it does not, unless you're a recent graduate. Absolutely nobody pays attention to your GPA, if you're more than a few years in your career.
Re: Tech Interview Handbook
#36I disagree with this resume advice actually. He for example removes that he was in the military sniper team and won best shot, but keeps high school education? I would totally say the opposite, keep the cool the side thing that's a conversation starter, but remove irrelevant educational experience. Including the number of stars on the github projects they worked on seems so.... narcissistic? Promotional? Idk but its…
Re: Tech Interview Handbook
#37Let me give a cautionary tale in the form of an ad (my email is in my profile). Full disclaimer: it's both, but the value to the discussion is the cautionary tale part. Feel free to ignore the ad part. Edit: I tacked on a perspective how I started to like leetcode questions, I hope that helps people find some inspiration to get through the leetcode grind. If I can do it during the evenings, then so can you! ;-) I'm l…
If it helps, I didn't really start to grok system design and architecture until more than 2 years full time. Before that it was just a bunch of functions/methods, classes that used each other. Slowly though, you start to notice the patterns, you see what failed badly and how it failed (bad design). You get burnt having to solve problems in badly designed code. You get stuck trying to test badly designed code. You slo…
Sigh.
I just think it's so absurd that "system design" is now an interview category that's expected of new grads. I'm talking about the fanciful form of this, where the bright eyed and bushy tailed new grad is somehow working on a problem that is the equivalent of the Large Hadron Collider or the Apollo space program.
I've sat on the other side of these interviews, and what I'm hoping for, especially from beginners, is just some common sense, and some reassurance that they can identify at least the main design tradeoffs and make appropriate decisions based on the information available. And then we look at what should happen to the design of our system if I modify our assumptions, or add new use cases that create new forms of stress on the system.
What I get instead is stuff like "I'll use a key value store", and when I ask why, I get "because it scales better", and when I ask "compared to what, why, under what conditions", I get blank stares, because they've barely used either. Then I learn that they said a thing because they read some github repo with 100 system design questions that said so. Or they read a prep bible that told them this is how Google does things. Or they read an actual book about a subject (a bit better) but didn't really absorb the ideas (which is fine! happens to me too!), but wanted to use the thing they learned about anyway.
What I actually wanted was "because the data is simple and non-relational and this will suffice for the foreseeable future, and features XYZ help remove complexity from the app" or "this is a single-purpose system designed to do one thing very well, and we can pack a lot more storage / throughput per node this way" or "Never mind, the requirements and the future are fairly vague, I'll just use something I understand well, is flexible, well supported and easy to migrate out of" or ANY sort of sense that we do things because of reasons, and we don't do things if we don't have good reasons to do them.
I remember being a beginner too - not knowing things and inexperience is perfectly fine, the point is we want you to do your best with what you have. It's fine to be honest about your knowledge and capabilities. You can look silly otherwise.
What are fairly nuanced, philosophical or "it depends on ..." questions to me after two degrees and almost a decade and a half into my career, for some of these folks is "of course it's X", and I'm just flabbergasted at the level of confidence that's projected. Please just a) exercise judgement b) based on the facts available c) leveraging your existing knowledge of core software concepts. Try a design, say why you did each thing this way, say what you like and don't like about it, say what you're uncertain about, what a few alternatives would look like, what you don't like about those, and what you'd change if you had a bit more information. This is the kind of "how do I do this" thing everyone building anything should be doing every day.
It's not impressive for you to be able to regurgitate the X types of cache policies according to wikipedia. It is, however, impressive when I point out a potential problem with the way you set up your caching scheme, and so you look at what you designed, actually think about what that means, and are able to tweak it to better fit the requirements. I don't mind whether you're aware that you just re-discovered a thing that already has a name.
My plea to whoever is posing and judging these system design interview questions in this way causes young interviewees to think they need to participate in a kind of veteran staff engineer cosplay tech-braggadocio circus: for god's sake, just test what's required for the job, please and thank you.
Re: Tech Interview Handbook
#38Re: Tech Interview Handbook
#39Earlier quoted context omitted.
Well yes. To get a software engineering job, step 1 is to quit your software engineering job to study full time to get a job doing something very similar. Doing your job as a software engineer is an impediment to interviewing as one.
Except for all those stories of people who have been interviewing for months but can't seem to land anything. Much better to realize you have developed some behavioral problems and seek treatment for them while you are employed rather than after you leave your job.
Re: Tech Interview Handbook
#40I think this may be very targeted to certain cultures and while its useful to take elements from maybe for your first job. Now I have a pitch style CV and have dumped the chronological for well over a decade. However writing a guide like this you need up front to show that you have actually done a lot of recruiting.