Lessons from the 15 interviews I have given! (Google, Adobe, DE Shaw, Samsung)

(These 15 interviews include Google, Adobe, Samsung, Arcesium, DE Shaw, but as they are on campus calls, sharing more details is against university's policies.)
I am a final year student about to graduate from my Bachelors and I recently interviewed for a tech giant. Obviously, I was very nervous before the interview and was trying to give myself pep talk by counting in my head how many interviews I have faced before and it would be fine etc. Well, I just realized including 4 interviews recently, the count sums up to 15.
I felt I should probably review this roller coaster couple of years.

Interview 1

My strengths were core CS subjects and I was an academics-oriented student. Lots of my peers were really good competitive coders and to an extent, these coders were worshipped in the college. On the other hand, students like me were nerds and studying subjects was not "cool". But after this interview, I realized these subjects are my strong point and I should be proud of it. Some very good competitive coders were rejected after the first round because they were not able to answer OS/DBMS.

Interview 2

I need to solve "random" questions without looking at the topic tag. When a question had the tag of, "Graphs", I didn't even tried, thinking it would be too difficult. There are so many array/linked lists hard questions and easy graph questions, and I was rejected on an easy graph question.

Interview 3

I did not have enough awareness of technologies and general CS knowledge. There were questions like, what you see first when you open cmd, how did you install "ubuntu" (dual boot) on your laptop, and sometimes I just need to open my eyes and know the nitty-gritty of basic things I do on my laptop.

Interview 4 (HR)

  • There are some things called estimate questions. Estimate dominos outlet, pens sold per day in your university. I had no idea why he was aking that, but he helped and only approach matters, do not get lost in minor details like what if someone buys a month's pen on a day blah blah, just keep it simple and consider normal cases.
  • They go into a long and detailed discussion about hobbies, and things you believe. Mention your hobbies carefully and know them inside out. (I mentioned Quora and he actually checked my profile, read my answers, and we discussed them.)

Interview 5

  • My multithreading concepts are weak.
  • Some interviewers try to see how you perform under pressure, and it was my first of this kind. They are not looking for correct bookish answers, but how you attack the question. They turn the interview into grilling session just to see whether you collapse or not.
  • Also, when the interviewer asks to ask a question, it's better to ask about technologies and his work, which shows you are passionate and the interviewer would also like to talk about it. I used to ask any feedback about me, and he said, "I would not reply that" somewhat bitterly.

Interview 6 (Machine Learning)

Machine Learning MOOCs like Andrew Ng and college courses helped a lot. I had done the courses and also prepared Andrew Ng course notes. So, that proved to be helpful even though making notes takes a lot of patience, I am grateful to myself I did it.
Also, there are some courses online which teach you how to apply an algorithm in Python without knowing its proof or mathematics. Staying away from them helped me.

Interview 7 (Online Teaching)

It was for a startup and I was giving a video call interview where I was supposed to teach as I would teach in the (online) class. (Interviewer was for an online instructor role.) I was rejected since they expected that I would write on a whiteboard kind of software live, but I expected they would have their own software/tools which I would have access to after joining. So, I prepared a presentation to teach. Also, I had to code live for the class, which I was not prepared for. Just clear all this before the interview, if things are left vague.

Interview 8

It was a very fun discussion about the complete journey when we compile a C++ program, how it is converted into .exe, and how .exe is run. He asked me to write a function of checking whether a number is prime or not, and trace it all the way. Compiling/Assembling/Linking/Loading/making a Process Control Block/which variables are stored where etc. I had some confusions regarding what exactly is an .exe file and allocation of variables likeiin for(int i = 0; i*i <= n; ++i). (Read more about ELF Format and it is a local variable which is stored in the stack, Also, try to compile, assemble, link separately (gcc -c, ldd etc. ) and just check for the output of each step. It just cleared all confusions for me.)

Interview 9 (HR)

It was a very light interview for the PPO of the company I interned at. She just asked about my internship experience and career goals etc. If you are going/may go for Masters, just don't mention. (or you can be honest if you like). Secondly, if they ask about things you didn't like while interning there, do not mention things which makes it look like you do not want to join as Full Time (Telling from a friend's experience).Things like, "Work pressure was too much", "I did not like this city" because these things are not likely to change when you join as Full Timer. Stick to the things like, "In the pantry, there are cold drinks only, healthier options like juices can be added", "I would have preferred more team meetings. " and similar things which are changeable in short run.

Interview 10

Lessons from interview 5 actually helped here, and even though questions were out of my comfort zone, I just didn't collapse into "I don't know", I also practiced writing code on google docs which made my thought process more organized in the interview. Also, check for edge cases before interviewer asks you to or if possible while writing code. Or mention the interviewer when he starts looking at your code that you have not tested yet.

Interview 11

I just can't identify when a question can be solved by DP. I wrote the whole backtracking solution and analyzed its time complexity O(2^n) then thought about DP approach. So, my clue to start thinking DP is always getting TLE or having exponential complexity, or interviewer hinting ("Are you recalculating something?" :p). I need to check for overlapping subproblems on reading the question the first time.

Interview 12

Just write clean codes and a couple of days before interview start practizing on whiteboard/paper. Regarding manipulation of a linked list, keep checking they are NULL or not, and have descriptive names like previousNode and currNode, and not do things like a->next->next = b->next->next, and get confused yourself, lmao. Luckily, he gave me another chance to change the code and he himself renamed the variables.

Interview 13

I need to work on my system design concepts. Yeah, that's it. Very frequent questions like designing music app, Book My Show, Amazon, have a prior discussion about them with your friends on different requirements.

Interview 14

  • Be prepared for unexpected. It was manager round for a company, in which past trend has been asking OS/Resume Based/Design questions. He asked competitive questions which were out of my league and was not discussing. He just said think of your final solution and give me that.
  • Both of the questions, I was not able to solve completely, are on LeetCode, so just practice more. LeetCode has a really good collection of DP/Graphs as compared to other platforms, which currently are my weak points.

Interview 15 (HR)

This was my first HR interview which turned into grilling session. (:P) I already had a job offer (ABC) and was interviewing for someone else (XYZ). Both were on-campus, so you can't lie as they can ask the college about your offers already. She asked me which one I would join if I received the XYZ offer. I replied, XYZ only because it is one of the best in terms of work culture. She said, when you join, you will know the culture is not that good. Then I talked about work in both the companies, and she said, we will give you a bad team and bad work, then which one you would join. I kept on giving reasons for joining XYZ and she kept on eliminating them. I was actually not sure which one I would1 join, and maybe that's why I was not able to convince, or maybe she was grilling everyone. Before these interviews, just be prepared with 100 good things about the company you are interviewing for. (and maybe 100 reasons why you are leaving/not joining other company).

Overall, I have had good interviews and bad interviews. But, while drafting this post, all those which I remember clearly and had a lot of valuable lessons were bad bad interviews. I have grown to like these interviews. Desperation to get the call, nervousness, a night before the day, the process itself, wait for the result, everything about them.

Happy Interviewing!!

Comments (2)