Welcome to post #5 of my blog documenting my journey through the CS 467 Capstone course. This week I continued to work on my team’s project and made some cool additions to our app. It has been a great experience getting my feet wet with mobile development, going through the development process and seeing the project function properly. I look forward to another great week of learning and development.
Similarly to last week, I want to deviate from writing about my team’s project and dedicate this blog post to my journey prepping for and interviewing for software engineering roles. Since I covered my introduction to online assessments last week, let me tell you about the process of learning and improving my technical interview skills.
As I mentioned last week, after my first online assessment I was able to get a good grasp on what to expect moving forward in the interview process. I bought and started reading Cracking the Coding Interview, created a LeetCode account and started watching YouTube videos on how to prepare and perform well in interviews.
Although I was able to obtain plenty of useful resources, I lacked a solid game plan. Initially, my approach of how to get better at LeetCode questions was simple: just complete a lot of LeetCode questions. Although I do believe that practice makes perfect, in this case I noticed that this approach did not work for me. To be specific, I noticed that I started to get into this cycle of opening a question, getting stuck, looking for “hints”, and then solving the problem. The issue with this approach was that I was not actually solving the problems by myself. I realized that it was time to go back to the drawing board and come up with a new game plan.
What I noticed from searching online was that LeetCode-type interview questions can be divided into individual concepts, such as lists and arrays, linked lists, and hash tables. I also found that there were a few problem solving techniques that could be used to find a solution to a problem quicker. With this in mind, I created a game plan of going through each major concept, learning it well and practicing interview questions related to this concept until I felt comfortable solving questions on my own.
After extensive practice, I was able to solve the majority of “easy” questions on LeetCode that I attempted and a few “mediums”. This increased my confidence and I started doing better at online assessments. This eventually led to me moving forward in the interview process with a few companies and reaching my first final round interview about halfway through the quarter.
It took plenty of time, practice, late nights and early mornings, but I was finally getting better at solving LeetCode-type questions. The next step was to perform well in interviews, which I will discuss next week. I hope to see you then.
Thank you for reading and I’ll see you next time.
Rod.