Discussion about this post

User's avatar
Chaoran Lin's avatar

Awesome post as always Ryan!

Late to the comments, but personally a specific skill that went a long way especially for harder interviews was practicing graph problems (such as DFS/BFS) for two reasons.

First, the code for a standard recursive DFS/BFS is relatively straightforward (e.g. little to no pointer manipulation) once I understood the underlying logic. At the same time it’s a pretty common pattern in algorithm interviews, so I felt that investing time and effort in it provided very good value.

Second, it helped me improve with more advanced patterns like dynamic programming (DP) and union find because they build off of DFS iteratively. These are admittedly more niche types of questions, but can come up in more challenging loops. Even though basic DFS is usually not the most optimized solution, it’s a great breakthrough to get us started somewhere. So despite not being completely comfortable with DP problems, starting them off with DFS helps me approach them more methodically.

Hope this extra bit of information is useful!

Expand full comment
Ivan H's avatar

Ryan 🤝 Me, agreeing that Python is a lot easier than C++

I think HackerRank might also be good for practicing interview coding questions. Using and knowing both Leetcode and HackerRank is a good strategy to improve your odds at getting the job.

Glassdoor might also be good for looking up what kind of questions other people have experienced in the technical interview.

Also, focus on your soft skills too. It's not a good idea to focus solely on the technical aspect. Work on communicating clearly, having humor in the interview process, and overall being fun and easy to work with.

Expand full comment
9 more comments...

No posts