By mattdue - 2 days ago
Showing first level comment(s)
shankr - 2 days ago
* Backtracking - know how to solve 1 problem (Knight's tour)
* Tree - implement BST
* Tree traversal - implement DFS, BFS & DFS iterative
* Quicksort - know how to implement
* Mergesort - know how to implement
* Binary search - know how to implement
* Min/Max Heap (priority queue) - know how to implement
* Graph - implement adjacency list
* Graph traversal - implement DFS, BFS & DFS iterative
* Graph algo - implement "Prim Minimum Spanning Tree"
* Graph algo - Implement "Detect Cycles algo"
* Graph algo - Implement "Detect Connected Components" algo
* Graph algo - Implement "Lowest Common Ancestor" algo
* Graph algo - Implement Djikstra single shortest path algo
* Sets - Determine all subsets of a set
* Sets - Determine Maximum consecutive subarray sum
* Sets - Determine 2 sets intersection
* String - Implement Levensthein Edit distance
* String - Implement Polynomial Hash
* String - Determine all substrings
* String - Find anagrams
* String - Implement KNP algorithm for pattern matching
* Basic DS - Implement Queue, Stack, Dynamic array, Linked list absolutely cold
It's a big list, but it's a traversal of the CS engineering domain that makes sense to me, and it's only a fraction of the expected knowledge for that kind of interview.
Edit: I pushed some of the code of this list on GH here: https://github.com/netgusto/brushup
I struggle to implement each concept in the smallest, simplest way possible. I'll keep adding code as I write it.
netgusto - 2 days ago
Also (again personal opinion) - python is the most practical language for doing interview questions, because interviews are heavily time-constrained and python allows the developer to go from idea to implementation in the shortest amount of time. I'm not going to penalize anyone for their language choice, but somebody who completes the task in 5 minutes and then spends 25 minutes getting bonus points for things like "what if the input data is larger than RAM?" is going to come across stronger than someone who spends 30 minutes on parsing the input and runs out of time before they get to the algorithm.
Shish2k - 2 days ago
and try to do at least two exercises from each lesson up to lesson 15 if you can. The open reading material at the top of each section is excellent and discusses all the CS theory you will need.
baruchthescribe - 2 days ago
This will not guarantee you a pass — honestly, some people spend months preparing for the big 5 interviews — but it may give you a fighting chance, and either way it will give you a good foundation for future interviews.
badatshipping - 2 days ago
If you've never took any algorithm course and have only a week for preparation, it would be very difficult to prepare for coding interview. But I think you can at least finish all easy problems from this list. In this case, you may at least pass screening coding interview.
Right now, I'm very actively interviewing with pretty selective high-frequency trading companies. I can say that LeetCode has pretty relevant set of interview problems.
One more thing. Even if you solved a problem, always look at description of solution, if there is no description of solution, you should look at discussion.
From there, you can find references to common algorithms/themes like binary search etc.
hal9000xp - 2 days ago
The good news though is that unless you lied on your resume, they already know that and are still interested in you. So you likely have other characteristics they are interested in.
I would concentrate instead on learning about the company you are interested in. That's something you can do in the course of a week.
nwbrown - 2 days ago
wodenokoto - 2 days ago
Improvotter - 2 days ago
I turn up on the day, but then these interviews asking difficult algorithm question seem to be a rarity in the UK, thankfully.
Our interview process seems to be much more reasonable.
LandR - 2 days ago