Mastering and cracking programmer interviews is never easy, particularly when preparing for an interview with top tech giants such as Apple, Facebook, Monster Lab, Bloomberg and Microsoft. The entire process of preparation can turn out to be a daunting experience. The key to crack such interviews is, however, careful planning and thoughtful preparation.
To make the process easier for you, our expert Meghalee Goswami shares her experience as to how she managed to crack her interview as a software engineer at Apple and at other top tech giants.
About Meghalee: Meghalee Goswami has been working as a software engineer at Apple for the past 5 years. At present she is engaged in developing products for Apple’s Content Delivery Network Team. After completing her Master’s in Computer Science and Communication Engineering from Waseda University, Tokyo she managed to get shortlisted for job interviews at Apple, Facebook, Monster Lab and Bloomberg. Belonging to a middle class Indian family, banking on her family’s finances was never an option for her to study in Japan and hence with her careful planning and strong networking skills, she managed to bag a scholarship from the Japanese government, allowing her to complete her entire education free of cost.
1. How did you manage to get shortlisted as a candidate at Apple? Can students apply to Apple outside of campus placements? If yes, then how?
As you can imagine, these kinds of companies get thousands of applications for a single position. The first step is to stand out from the rest and make sure your application is seen. This can be done in a couple of ways. One is an obviously known fact, the resume. I usually keep my resumes one page long, not cramping the space too much. After all, a resume is just to show a glimpse of your previous experiences and education, not to know everything about you. I personally prefer a very basic minimalist style.
The other part is a cover letter. Even if the company does not require a cover letter, I think it’s good to at least practice writing it. This will give you dedicated time to a) research the company and b) figure out why you want to apply for that position. This will also help you answer some questions during the interviews later on.
The other important but often overlooked thing is to know people within the organisation. I don’t hesitate to send messages to strangers or recruiters on LinkedIn if their work or career interests me. Please be careful to not come across as a spammer. Most people only care to reply to genuine texts backed by research. During my time in Tokyo, I networked a lot, went to a lot of career forums, and recruitment events, made a list of all the companies I was interested in applying to, and tried to figure out a way I could connect with people inside the organisations. I also made sure I have the recruiters added to my network.
In one such event at my university, I chanced upon a recruiter from Apple. I told her I was really interested in doing an internship. She told me she will get back to me if anything opens up. And a few months later, I got an email from her asking me if I was interested in applying for a position.
Meghalee received multiple scholarships during the tenure of her research work in Japan Source: Meghalee Goswami
2. You worked as an Intern at Apple for quite a few months. What were the areas you touched upon as an intern and on the basis of which qualities were you selected to work as a full-timer?
I was the first intern that was hired in my team and the bar was really high. I worked with extremely smart people from all over the world which meant a lot of growth but also imposter syndrome. I worked on technologies I did not know before. I think the most important thing to succeed was the ability to not know something but figure it out without giving up. Apart from the technical challenges, I gave presentations to the top-level management. I recorded myself for hours before each talk to make sure I sounded okay. Eventually, the project I worked on during the internship received a lot of recognition and was appreciated by everyone. And then, they extended me a full-time offer.
Thereafter, the first step was to clear all the interviews. I had 7 rounds of interviews. I needed to be technically prepared. So I practiced coding algorithms from books like How to Crack the Coding Interview and practiced problems from websites like Leetcode. I also revised System Design, Databases.
Meghalee Goswami completed her post graduation from Waseda University, Tokyo Source: Meghalee Goswami
3. How did you manage to get a scholarship from the Japanese government?
I wanted to go abroad for studies, and banking on finances from my family was never an option. The only way around this was to get a scholarship to study abroad that would cover my living expenses too. I narrowed down my priorities 1) get a scholarship; 2) go somewhere with comparatively cheaper living costs and choose a course that allows me to work part-time. I researched all kinds of scholarships. WeMakeScholars helped me narrow down scholarships. There’s a lot of content around this nowadays on Youtube, too. But everybody’s situation is unique and so are the challenges. There were a lot of deadlines and I remember having a huge calendar where I marked all the scholarship deadlines and worked accordingly. Each scholarship was unique and had separate requirements so I had to tailor what I was doing accordingly. Courses in Japan are research based and I don’t think I paid any money to apply to the colleges, unlike other countries where you have to spend money to apply to colleges. I needed a good research proposal that would be liked by a professor and therefore accepted into a university. Without the professor’s consent, the research won’t be accepted. I made a list of all universities that were doing areas in research I was interested in.
I studied how to write a research proposal, consulted with anyone I found doing research in the area, and eventually wrote a research proposal on how I want to use game theory and AI algorithms to solve gaps in areas of low connectivity. I collected the email IDs of professors from university websites and emailed them individually. Some replied with rejection, some did not reply and a few of them were interested in my research proposal and wanted to have a chat with me. I explained I wanted to come to Japan and do this research. I also was very honest and clear about my financial situation. I asked for help. Eventually, my professor recommended me for scholarships. Recommendations work a lot in Japan. That’s how I could get scholarships and even a research assistantship position.
4. How did you manage to get such a high-paying part-time job in Japan?
Although I got scholarships, it was not enough to live comfortably in Japan. I needed part-time jobs to sustain myself. Honestly, I was getting rejected from places like cafes or restaurants because back then I did not speak any Japanese. I applied to many jobs but the only places I could get accepted to were places that teach English or STEM subjects in English or as Programming Instructors. I realised I could make a lot of money by teaching kids how to code. The skill is very special in Japan or anywhere now and parents want their kids to know how to code. I got an interview call from a start-up in Tokyo that specialises in STEM and Coding Education, also SAT and ACT test prep. During the interview, I was asked to give a mock SAT & ACT test in Math, Physics, Chemistry, Programming, and English. I failed Chemistry but I passed Math, Physics, and Programming. I started teaching middle school, high school, and university students how to code, Math, and test prep. And I got paid 5 times the average salary in Japan per hour.
Meghalee Goswami is the director of Women Who Code, Tokyo Source: Meghalee Goswami
5. You cracked Monster lab’s interview as well? What was the entire process like? And how can a young student prepare for the same?
I think all coding interviews have a standard process. The first 2-3 rounds are the most difficult. Once you clear one company, it’s highly likely that you will have the foundation to clear all. Since I had prepared hard before the Apple Interview, all I needed to do is to keep practicing algorithms and brushing up on my fundamental Computer Science concepts. Apart from the website and book mentioned before, I also studied Orielly Core Java, Data Structures, and Algorithms. I also recommend practicing coding on a notepad or platforms like CoderPad. If you use an IDE often you’ll have a dependency on it for syntax corrections. Practicing one programming language was also important for me. I have coded in a lot of languages but I only stick to Java during my interviews even if my job demands knowledge of another programming language. I state my preference for the language and usually, they comply. It’s important to be comfortable in such nerve-wracking situations.
6. You even managed to get through a few rounds of interviews at Bloomberg and Facebook till you withdrew your applications midway as you wanted to join Apple. What was the entire interviewing process like there?
For these, I followed the same strategy. During the Facebook interview, I had a few initial calls with the recruiters where they asked me about my research work, and previous experiences. In the next round I had a talk with the hiring manager for the team. He asked me extensively about the algorithms that I used during my research work, what could I have done better in the algorithm, and questions like if you go to the browser, and type facebook.com, what sort of API calls give back the request. After this round I was asked to do a coding round, I prepared from the websites and books I mentioned above. By this time, I had received an offer from Apple and I really wanted to join Apple. So I just informed them that I’ll be taking another offer.
For Bloomberg, there were two major areas that they were recruiting for and I was interested in them. I set up some initial calls with the recruiters and asked for the details about what the team does so that I could prepare more for those skills. The first interview for Tech companies is usually always a call with the recruiters discussing your experience and if they think you're eligible they forward you to the next steps that are usually done with the team that you are applying for. For example, Bloomberg deals with a lot of fast transactions of data, so they would definitely be interested in someone who can performance-tune their code. So I focussed on writing more efficient and performant code during the interviews.
Most candidates are terrified of entering the daunting process of technical interviews. The main reason being the large number of applications these companies get for their vacant positions, leading to intense competition and difficult interview processes. Mastering a technical interview at a big tech company may seem nearly impossible, but as our expert Meghalee Goswami confirms, with thoughtful and systematic preparation, you can end up landing your dream job.