As some may or may not know, I am just at the very beginning of my technical career. I graduated from a university with a CS undergraduate degree in May 2019 and 2 months after that I enrolled into a coding bootcamp, which I graduated 15 week later. I officially started my job search in mid-December last year.
Finding that one company that has their views aligned with yours is definitely a process. However, when you find that company you really want to work for you have to bring your A-game. So how have I been preparing for my technical interviews for a junior developer position? Here I will list a few sources that I have been using.
All of the mentioned below is only a part of what you’d need to land a job, but I think that this is a very good place to start.
This is a book that contains 189 programming questions, ranging from simplest to not-so-simple algorithm problems. It covers everything from data structures, algorithms, and big-O problems. The solutions to problems are written in Java, however, they’re easy to read and can be translated into pseudocode or even other languages. The book also contains some tips and advices for soft-skill side of the interview process.
2. Competitive programming.
HackerRank is a technology company that focuses on competitive programming challenges. HackerRank is also a system that many hiring companies use to create code challenges for their candidates. Recently, it’s also been used by some universities to evaluate students’ preparedness. HackerRank coding challenges can consist of both multiple-choice questions and programming questions. Usually, hiring companies tailor their challenges to their technologies that they use on a daily basis. HackerRank also provides a variety of programming problems for practice.
LeetCode is another competitive programming website that is similar to HackerRank. LeetCode, however, does give you access to solutions from other people, but for a price of $35 a month. However, because dev community is amazing and caring, many people have been posting their solutions in the discussion section of a problem to compare with others and learn from one another.
CodeWars poses itself as an educational community of computer programming, however, not without that competitive spirit sprinkled all over it. What I love about CodeWars is the ranking system they use. It borrows a Japanese karate ranking system to help you advance with your programming and problem-solving skills. There are 8 kyu all together, and you start with 8. After you solve a certain amount of problems at your kyu, you advance to the next level. CodeWars problem pool is very impressive ranging from basic concepts to super interesting problems like BrainFuck Transpiler. CodeWars is free to use, and they give access to solutions after your own solution was submitted. However, they do offer some advances features for $5 a month. The features include enhanced statistics, realtime output streaming, head-to-head comparison and others. For most people that just want practice solving problems those features are not really needed.
There are also quite a few sources where people post reviews of their experiences at technical and cultural interviews at various companies. A lot of times such reviews also include interview tips and tricks for those who are about to interview. These sources can also include range of salaries and the average rating of the culture of a company you’re looking to interview with, pros and cons of working at a particular company, and CEO approval.