Donate
The Coding Interview

The Coding Interview

About four years ago, in August 2017, I began my journey to obtain my undergraduate degree as a biology major on the pre - health track. For the majority of my life, I dreamed of wearing the iconic white lab coat, listening to patients, and providing aid for their ailments. However, all of that changed when I enrolled in the first four courses of my freshman year of college: General Chemistry I, Introduction to Biology I, Composition II, and Faith and Critical Reasoning. I struggled through my first two science courses and after receiving my horrible midterm grades, I promptly decided that biology was no longer for me. I felt lost with what I wanted to do in my life, but I knew that I had to achieve my undergraduate degree one way or another. On average, about 36 million Americans attend college but are unable to complete all of their coursework in order to obtain their respective degrees (Fain, 2019). Although I was incredibly lost in my future, I knew that I wanted to push myself further and finish college as it is an extreme privilege that many do not have. This led me down the path of mathematics where I rediscovered a passion for logical reasoning and calculations. Following this, I enrolled in my first computer science course, Computer Science I. 

Although I am a Mathematics and Computer Science major, what I would like to pursue in the future is a profession within the vast computer science field. Mathematics and humanity are synonymous with one another as the discipline has been present for as long as humans have been alive (“The Story of Mathematics”, 2020). Counting and keeping track of objects has been around since the prehistoric era, with tribes in ancient Africa using bones to record tallies (“Prehistoric”, 2020). Computer Science, specifically in terms of algorithms and computation, was created relatively later in time with mathematicians Ada Lovelace and Charles Babbage who created a theory for the first computer as well as the first computer algorithm in the 1800s (Chen and Rossman, 2020). The first electric programmable computer would take another century to come into fruition with the Colossus, a machine created by Tommy Flowers in December 1943. The work laid out from multiple mathematicians and computer scientists throughout history have flourished into the world of technology today. Without them, I would not be writing this piece right now at my home computer, the world would not be able to convert in person education to “Zoom University” during the global pandemic, and you would not be reading my article. 

As a senior undergraduate student, I have learned about the history of technology and the theories that went behind creating powerful machines that we use today. In addition to my knowledge, I have also gained experience on what companies are looking for in technological professions. After going through hundreds of coding interviews and studying for countless hours, I believe that I am capable of offering some advice to those who want to pursue this career path. 

First, if you are considering the path of computer science or even learning some type of programming language to boost up your resume, you should check out my other article published on SnoQap’s website, entitled “What Programming Languages to Learn”. There, I outline a crash course of front end/back end development, popular programming languages, and some free/paid resources for enhancing your coding abilities. Reading through will give you a more well rounded perspective on what the industry is searching for. 

Second, now that you have decided that computer science is the path for you, the next step is to practice, practice, practice! Programming is learning an entirely new language, one that can be applied to physical machines like computers or even software like your favorite game. With the rise of computer science popularity and increase in technological use, companies are becoming stricter with their hiring practices. They are not just looking for certain programming languages on your resume anymore, they are looking for projects and experience that can only come from practice. 

So, let’s say that you applied for a job in a prominent tech company, like Amazon, Google, or Apple. After submitting your resume and application, they will either give you the boot, send you an online assessment link, schedule a phone screening, or schedule a virtual interview. Every company will have their own agenda for the interview process, but, after going through so many of them, I can give you a general idea of what actually goes down. 

In our scenario, let’s say that you receive an email with an online assessment. This assessment will either be through HackerRank, LeetCode, or some third party coding platform. Here is where you will be able to show off your computer science skills that you have been diligently working on! Depending on the company, you’ll receive about 4 - 8 coding questions on a timed scale, usually about 2 hours. These coding questions are usually pulled from basic computer science principles like sorting algorithms, data structures, loops, functions, and etc. The difficulty of the questions can range from beginner to advanced, so be prepared to answer anything. The companies are trying to see if you are able to handle basics, so do not be discouraged if you cannot answer all of the questions by the end of time. 

After the online assessment is submitted, you will (hopefully) hear back from the company or the recruiter with an invitation to schedule a virtual interview. If you are able to make it to the next round, that means you are one step closer to possibly landing the job. The virtual interview is with an employee of the company who is currently in the position that you applied for. This part of the interview process will vary in difficulty as every company is looking for different things. Sometimes there is a behavioral portion in this step of the process where you will be asked the typical interview questions like: “What are your goals for the future?”, “Tell me about a time where you exemplified leadership”, and so on. In addition to that portion, there is a live coding section where the interviewer will present you a problem where you will code on a shared screen online coding platform. For example, a question could be, “Create a program to generate a random list of ten numbers, sort that list from high to low, and find the average of those numbers.” You will then have to choose the language you would like to present your work in and then talk through your entire thought process in solving the problem. Many times you will be given multiple questions in this portion of the interview. In the past, the most that I have received is three questions while the majority of the time I only receive one. 

After doing the virtual interview where you code live in front of someone, you will probably either get the job or move onto another virtual interview with the same format. Once you accomplish all of these steps, then you will be notified of either a job offer or rejection. While the technical interview is a lengthy process, it is created because companies want the best of the best for their new employees. Anyone can learn how to code, but, to be proficient is a whole other story. 

Although the entire interview process seems quite nerve wracking, it is actually not that bad. Once you go through a couple of them, you get more comfortable and learn more about what it takes to work in the technology industry. There are many resources to help you along the way to becoming a skilled programmer and doing well on the interview process. HackerRank, LeetCode, books like “Cracking the Coding Interview”, and other websites can provide more in depth information as well as practice into what questions could be in your technical interview. There is a plethora of resources available on the internet, it just takes a while to dig through them. I hope that this article was a little helpful in clearing up some nerves when it comes to the “working” world! 

Works Cited :

Chen, Eli and Rossman,  Julie. M. R. N., Narag, M. R., says, M. M. J. D., Desai, M. M. J., says, R. S., Seguin, R., … says:, 

M. H. (2018, October 9). A Brief History of Computer Science. World Science Festival. 

https://www.worldsciencefestival.com/infographics/a_history_of_computer_science/#:~:t

ext=Computing%20took%20another%20leap%20in,of%20the%20first%20programmabl

e%20computer. 

Fain, Paul. New data on the 36 million Americans who left college without a credential. (n.d.). 

https://www.insidehighered.com/news/2019/10/31/new-data-36-million-americans-who-l

eft-college-without-credential.

Home. The Story of Mathematics - A History of Mathematical Thought from Ancient Times to 

the Modern Day. (2020, January 18). https://www.storyofmathematics.com/.

prehistoric. The Story of Mathematics - A History of Mathematical Thought from Ancient Times 

to the Modern Day. (2020, February 24). 

https://www.storyofmathematics.com/prehistoric.html.

ESG: The Future of Investing

ESG: The Future of Investing

Ethiopia Industrial Policies Part 2: Importance of Private Entrepreneurship in Export-Oriented Strategies

Ethiopia Industrial Policies Part 2: Importance of Private Entrepreneurship in Export-Oriented Strategies