4 ms·
I was referring these common interview skills: Understanding the problem Stating one's assumptions Verifying one's assumptions Selecting a data structure ap
by icsa 5y ago
I was referring these common interview skills:
Understanding the problem
Stating one's assumptions
Verifying one's assumptions
Selecting a data structure appropriate for the problem
Selecting or describing an algorithm appropriate for the problem
Selecting test cases appropriate for the problem
Writing the code
Verifying the correctness of the code
Understanding & communicating the time & space complexity of your solution
N.B. IMO, the best programming language for technical interviews is Python. It provides many built-in data structures and methods that make one's solutions brief and eliminate the need to write a lot of boilerplate code.
- tester756 5y agoI don't see anything special in this list >It provides many built-in data structures and methods that make one's solutions brief and eliminate the need to write a lot of boilerplate code. Could you name some? the most important / handy in your opinion?
- icsa 5y agoData structures: vector/list dictionary/hashmap/hash table queue priority queue heap Methods/Algorithms: min/max insert/delete contains key list comprehension N.B. I've done most of my interviews in C and watching me code has been referred as "watching paint dry" because of all of the boilerplate code that I have to write.
- therealdavesky 5y agodont forget graph theory. FB caught me off guard on a takehome project which involved contact tracing (very timely in 2021) Dyjkstra's algorithm (spelling?) and backward tracing through graph nodes
- icsa 5y agoYes, I forgot Depth-First Search/Traversal and Breadth-First Search/Traversal. Those two algorithms are the workhorses of graph algorithms. Advanced graph algorithms include Dijkstra's algorithm, Minimum Spanning Tree, Strongly Connected Components, among others. In addition, dynamic programming (DP) also shows up as a more advanced algorithm/technique in high-level interviews.
- tester756 5y agoIt feels very standard, don't all language have it in their standard libs? C# has all of this + LINQ (very handy list comprehension?) Java probably too + it has streams Idk about other
- icsa 5y ago> It feels very standard, don't all language have it in their standard libs? Many do. However, ease of use is an issue. Some interviews don't allow you to look up the names of types & methods nor use IDEs that provide pop-up lists of types & method names. You have to everything in a basic editor w/o IDE support.
- ruang 5y agoExcellent list, thank you!