4 ms·
I am stressed out about interviews
I have an interview at facebook and google coming up. I have about 7+ years of experience. I have been doing leetcode and studying for last month.
I have tried to motivate myself, I have been reasonably diligent in studying, but when I read through these forums it seems like people treat these interviews as FT jobs. I want to do that to, but I lack the motivation because I don't think I can compete. I feel I am hard worker, but apparently not compared to other folks. The only way to really compete is to put in as much work as these people. I got like a 100 in my algo classes, but they can ask the gambit of questions. They can ask anything from heaps to recursion to dfs to red black trees to I don't know what. I graduated top 10% from one the 10 best CS schools in country. I don't think I am dumb, but I feel I am just not as sharp as I was when I was younger.
I feel like not going because its just stressing me out. Heck I didn't even apply for these jobs. Sure I would love the money and having google or fb on your resume looks nice, but its not helping my mental state. I really got to respect people who work at Google or FB for going through the tests.
Are there really that many people who are so good at algo that they can come up with o(log n) o(1) solution to a problem in 30min? I am guessing they are recruiting a million people so they get 1% to pass through their tests, but is the stress really worth it?
- AnimalMuppet 7y agoFirst of all, what's your downside? You didn't seek the interviews, so I suspect you're already employed? Then your downside is that you may waste a vacation day or two on interviews that don't result in a new job. That's not the worst thing in the world. They aren't necessarily testing your ability to solve the exact problem. The thing is, at Google or FB scale, the difference between o(log n) and o(1) can be huge. It can be millions of dollars in hardware cost. So they really care about the ability of people to find a way to do it in as optimal a way as possible. But, again, they aren't necessarily expecting you to solve it in 30 minutes. They want to watch your thinking process as you tackle the problem. And, if they do ask something that you know cold, your reward will probably that they very quickly ask something else. They (I presume) aren't trying to see if you know all the algorithms. (We've got this company called Google that does a pretty good job of helping you look up an algorithm if you need it.) They want to see how you work on one you don't. If I'm reading their intent correctly, then you cannot study well enough for this, because they will move away from what you know. So don't worry that your studying wasn't good enough. Nobody's is. If, from your studying, you kind of got how to attack problems like these, then that's about as good a preparation as is possible. And if you completely fail... you didn't lose much.
- karim 7y agoHere's one way to see things – there's around 3.6M software engineers in the US. Google has 100k employees, so let's assume they have 50k engineers. Do you think the top 1% of engineers in the US all work at Google? Obviously they don't. The truth is, there's no perfect interview process, and chances are you may fail (or succeed) for reasons completely out of your control. You've been studying for a month, and have a degree from a great school – what else can you do to improve your chances? Relax, accept that interviews are a crapshoot and try doing your best. Worst case you won't get an offer but guess what? Plenty of great engineers got passed by Google or Facebook.
- croo 7y agoI second this. Do your best and know that you will be a better programmer because of the one month study and the experience of the interview.
- Jemaclus 7y agoThere are three things I'd like to share with you. First, I've hired dozens of people in the last year, and the main piece of advice is this: I'm rooting for you. Seriously. I spend a TON of time sifting through resumes, doing phone screens, checking Github repositories, and on-site interviews. I really, really don't want to do it. Ideally, the first candidate that walks through the door is perfect, and I don't have to even talk to anyone else. Done. Finished. Now I get to do real stuff at work. I'm rooting for you. Honestly. Second, the answer to your question is "No". You don't have to know how to invert a binary tree or re-implement quicksort. For good interviewers, the point isn't for you to reinvent or regurgitate complex computer science problems in 30 minutes, but rather to allow you to demonstrate your thinking. Can you write code? Can you walk me through your thought process? If I throw a curve ball, can you adapt your solution to that? You don't need to know all of those things you mentioned, but you should be able to demonstrate that, given enough time, you can do those things. We only get 30-45 minutes with you. The goal is to figure out what you do know quickly, and then gauge your capacity to grow beyond that. Look, there are some things you must know to get a job with me, and there are some things that aren't important. "Can you write code?" is the bare minimum. I wouldn't hire a carpenter who doesn't know how to use a hammer, but just knowing how to use a hammer doesn't make a carpenter good, either. There are an infinite number of skills out there that you can learn. I don't expect you to know them all. I expect you to know SOME of them. I expect you to be able to write code, but I expect you to do a little bit more than that. Most jobs I've ever had required on-the-job training. I have to learn how the new job does code deployments, how they structure their code, maybe a new programming language. I have to learn how they do standups (if any), code coverage (if any), and one-on-ones (if any). I have to learn what's in this database and how it connects to that API and what framework they're using. Everyone uses frameworks differently, so I have to figure out the quirks and esoteric choices that this particular company made. The point is this: you don't have to know everything. You need to demonstrate that you can code (the bare minimum of the job), you have to demonstrate that you can learn and ideally learn quickly, and perhaps most importantly, you are hopefully someone that I would like to sit next to for the next six months. I'm not going to tell you not to stress out, because that's perfectly normal. But what I will say to summarize are these two things: 1. We are rooting for you. 2. You don't have to know everything. Just be your normal smart, enthusiastic self and do the best you can. Keep those in mind and you'll be fine.
- victorhn 7y agoYes, there are people that good at algorithms, you just need to enter a contest at leetcode/codeforces/topcoder where you can just amaze yourself how some people can solve these difficult problems in such a little amount of time. On the other hand, for FB and Google you just need to be decent enough at these questions not really a superstar. I would say if you can solve most medium problems in leetcode and occasionally a hard then you are good enough. Worst case you just get rejected and life follows its normal course. BTW, i have been rejected like 30 times from these companies, it does suck when they tell you, because you start doubting yourself, but then after a few days the feeling goes away.
- gnusty_gnurc 7y agoHaving just recently interviewed at one of the FAANG for a role that I felt was really well suited for me experience-wise, it's not worth the stress. I study all the time already, simply to do my job and out of interest. The average whiteboard interview nowadays doesn't reflect my day-to-day work and tests a narrow slice of my ability to solve problems. It also supremely fails to qualify people from non-traditional backgrounds. Enough of the "we should be thankful there's such a low bar of entry - you just need to cram exercises". FAANG and many others externalize the burden of qualifying employees by relying on volume and setting the bar very high. Many are going to wear themselves down when the entire process is skewed against them. So my advice - don't worry too much, you're probably a great candidate and it sounds like you've already done as much as you should to prepare.
- gcheong 7y agoThere is no amount of preparation that will prepare you 100% and guarantee you a job at any of these companies. I think we've gotten to a ridiculous point with the interview process now and at some point you just have to decide you've done enough to prepare on the technical end and it sounds like you're basically there. I would probably start looking at other aspects of preparation. Think about the human aspect of things and what you want to impress upon your interviewer. These are more subtle things that might make the difference when deciding a thumbs up or thumbs down. But in the end don't sweat it. Decide you're going to have fun with it and see what happens. Truly try to enjoy yourself and view each problem as an interesting puzzle instead of some do or die test. And hey, free lunch!
- muzani 7y agoTo quote Joel Spolsky, "...if you reject a good candidate, I mean, I guess in some existential sense an injustice has been done, but, hey, if they’re so smart, don’t worry, they’ll get lots of good job offers." It's part of the process. People accept that they'll have false negatives. But you'll get good job offers anyway. Google and Facebook probably don't have the best process either. They're giant brand names. They get a lot of garbage in their funnel and probably have to filter for minimum garbage, as opposed to having the best engineers. Not that they don't have great engineers, but the system is flawed and it's a bit of a gamble to get in. [0] https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guide-to-interviewing-version-30/ https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guid...
- tmaly 7y agoGo into an interview with an open mind and with curiosity. Your having a conversation and part of how you interact will reveal if your a good cultural fit and if your someone they can get along with.
- tmm84 7y agoYou don't sound like you really want to be a part of these companies your preparing to interview at by saying "Heck I didn't even apply for these jobs.". And you seem to be having trouble finding a good reason to really go to the interview. The more I read your post; the more I feel that you don't want to feel stupid or inadequate based on the interview. Everyone doesn't want to feel stupid or inadequate, this is normal. Also you've put the interviews on a pedestal that'll declare you as good enough by discounting your experience and achievements thus far. If you feel this wound up before the interview how do you think you'll feel working for these two companies? It'll be a daily anxiety/fear of being inadequate for the job. My advice is to lower your expectation/valuation of the interviewing company and go to the interview if you really deep down inside want to. These kinds of interviews have a history of making interviewees feel worse about themselves so bear that in mind.