This week I chose to write about coding interviews. The reason that I chose this topic is that the coding interview is an essential part of a software developers career. A student can finish a Computer Science program, go to a bootcamp, or finish an open source program. But if they can’t pass a coding interview they will not be able to get a job as a Software Engineer.
The article that I chose summarizes the types of questions and topics that comapanies test candidates on. And includes some resources to help candidates perform well in their interviews. Before a candidate can prepare for the specifics of an interview they have to be somewhat proficient in a high level programming language such as Java, C++, or Python. Most interviews focus on Data Structures and Algorithms. So Computer science students have a good head start on that. The article recommends GeeksForGeeks to learn more about Data Structures and Algorithms, or as a refresher for candidates that are already familiar with Data Structues and Algorithms. I personally use GeeksForGeeks pretty much every time I am coding and learning a new concept, or need a refresher. The articled also recommends the LeetCode top interview questions collection. I am personally working my way through this course now. The next step is to choose some companies, and solve problems that other interviewees were asked. The final step is to start applying and interviewing for Software Engineer roles.
I enjoyed this article, and I think it is helpful for new Engineers like myself looking for their first job. Personally, I have mixed feelings about the coding interview process. I originally thought that a CS degree with a decent GPA and some internship experience would be enough to land an entry level Software job, but that simply is not the case. Those qualifications can land a candidate an interview, but from there the candidate needs to code their way into an offer. One common complaint about the interview process is that the types of questions and Data Structures that come up in interviews are almost never used in the industry. On the other hand, companies need a way to determine if candidates actually know how to code. If a candidate cannot complete a simple Fizzbuzz question, they probably won’t be a strong contributer. Algorithm efficiency is also an important part of the interview process, and writing efficient code is extremely important in the industry. Regradless of my opinion, mastering the coding interview is part of being a Software Engineer. And preparing for interviews has made me a stronger programmer, and problem solver.