Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
Software Engineering Interviews — Decoded!
Let’s get started! I just graduated from USC and I must say it was a fabulous experience. Being at Grad School, you tend to spend a lot of time finding the right opportunities and making them count. But I assure you that every inch of effort that you put in will show results sooner or later. I will try my best to sum up all my experiences and bits of advice that I have to offer.
I have attached a few important links throughout the article and in the end as well.
A Rock-solid Resume
My first piece of advice is to START EARLY. Focus on building a resume that helps you stand-out. Ask yourself! What impact did the project create? If you are applying to Data Science (or Analytics) Positions, highlight the Data-focusing aspects of your projects. Mention all the numbers (performance metrics, train-test split, etc.), and the specific Algorithms used. Likewise, for Software Engineering Positions, mention the Technology Stack used, Overall Architecture, Testing Frameworks used and other project-specific details. I would recommend keeping two different resumes which highlight Data and Software related aspects of your projects.
When you join Grad School, every individual mentions the course projects on one’s resume. The course projects are great but having impactful team projects help you stand-out. Try to volunteer and be a researcher at any of the labs at your University. There’s some exciting research work going at your University, you might not be aware of. I ended up learning a lot about System Design, Kafka, Spark Streaming by working at one of the labs which eventually helped me ace my Project-based interviews.
A Strong LinkedIn Game
Build your LinkedIn profile thoroughly. Learn to contact people. Try reaching out to Engineering Managers, Recruiters, Alumni and other individuals of the companies that you are considering. Add an informative note before sending a connection request. Make use of those InMail credits wisely. Ask people about their projects, company culture and even get your resume evaluated from them. During this process, you can ask for a referral politely (‘Do you feel you can refer me for the position XYZ?’). It takes time for the right person to respond but effective conversations might help you grab some fantastic opportunities.
Live the LeetCode Life!
Now comes the most important part. LEETCODE! Start with Cracking the Coding interview book. Here’s the pdf link for this book.
Believe me, it’s a great steppingstone to get you started with coding interviews. While you complete this book, get your hands on LeetCode. If you master this thing, you’re DONE. LeetCode will take you places.
Right from your first semester at school, try your best to make this a habit. Three Questions per day. If you have lots of time, do two Medium and one Easy Question. Or else, do one Medium and two Easy Questions.
Keep revising the questions over the weekends. Try to come up with your approach. THINK! Look at multiple solutions. There will be a point from which you will start getting an intuition of the right approach. Keep practicing. There’s not strict count. But once you practice more than 200 questions, you will start feeling confident. Three questions a day will take you to 200 questions in just over a couple of months. KEEP REVISING!
Keep Giving Interviews!!
The best way to crack interviews is to keep giving countless interviews. There’s a website called Pramp that helps you schedule mock interviews. Try that! I kept giving interviews and failed a lot. You tend to underperform; sometimes because of nervousness and sometimes it’s lack of practice. Clearing an interview will give you 10X confidence. I failed almost all my tech interviews because of my inability to solve questions in time and not able to think out loud during my interviews. Try to solve questions quick! Keep some time for discussing complexity at the end of your problem-solving. Do state multiple approaches to the interviewer. This is very important.
If possible, try to adopt python for competitive programming. This will save a lot of your time writing code during the interviews. Python helps you write concise and self-explanatory code. Maintain an excel sheet of the companies that you have applied. Check Glassdoor and even consider LeetCode Premium for Company-wise questions. Maintain a document with all the notes as you proceed through your preparations. Keep track of all the useful links that you come across! Here’s a list of companies for your reference. There might be many more companies to be added to this list.
System Design comes into the Scene!
Finally, some of the tech companies do go for System Design interviews. As an individual with no prior experience; it gets tough to get started with this. I prepared for my System Design interviews through these resources.
- Youtube Videos (Tushar Roy)
3. Grokking the System Design Interview [Consider buying in groups]
Looking back at all the companies I interviewed at, here are my thoughts on each of them:
Wayfair — Had a Coding Assignment and a phone call to discuss my approach and additional modification for the same. This was followed by one final behavioral interview.
ESRI — To start with, I had a couple of phone interviews which were a mix of technical and behavioral discussions. I was invited for an On-Site round of interviews. There were 10 interviews throughout the day. Most of them were a mix of project discussion and coding. I consider ESRI to be a place with some awesome mentors and superb GIS-based projects.
Amazon — I had two technical assessments. Based on your performance in assessments, you are allotted either one or three final interviews. The final interviews are standard Easy-Medium LeetCode questions.
Facebook — First phone interview followed by an invitation for University Day. I had three On-Site interviews which were again coding (probably LeetCode Medium-Hard).
Microsoft — The best interview process of all. Got to interact with the Engineering Manager of my team and he was just perfect. There were five On-site interviews. All were a mix of Coding and some System Design concepts. Every interviewer was super helpful and very personable. The team was fabulous as well. I had the best interview experience with Microsoft.
That’s all from my end. I will be joining Facebook as a Software Engineer. Do email me if you have any questions. You can reach me at dramnani@usc.edu
Some Important Links throughout the article:
( I follow Education — Skills — Work Ex — Projects — Achievements design on my resume.)
Cracking the Coding Interview (PDF)
Software Engineering Interviews — Decoded! was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.