InterviewStack.io LogoInterviewStack.io

Coding Fundamentals and Problem Solving Questions

Focuses on algorithmic thinking, data structures, and the process of solving coding problems under time constraints. Topics include core data structures such as arrays, linked lists, hash tables, trees, and graphs, common algorithms for searching and sorting, basics of dynamic programming and graph traversal, complexity analysis for time and space, and standard coding patterns. Emphasis on a disciplined problem solving approach: understanding the problem, identifying edge cases, proposing solutions with trade offs, implementing clean and readable code, and testing or reasoning about correctness and performance. Includes debugging strategies, writing maintainable code, and practicing medium difficulty interview style problems.

EasyTechnical
67 practiced
Explain collision resolution strategies for hash tables: separate chaining and open addressing (linear probing, quadratic probing, double hashing). Discuss performance implications, memory usage, clustering issues, and how concurrent access in a multi-threaded service changes your recommendations.
MediumTechnical
45 practiced
Implement BFS in Python to compute the shortest path in terms of number of edges between two nodes in an unweighted graph represented by adjacency lists. Discuss complexity, memory behavior for large graphs, and strategies to adapt when graphs don't fit in memory (external storage or graph frameworks).
HardTechnical
38 practiced
Compare pattern-matching algorithms: naive search, Rabin-Karp, and Knuth-Morris-Pratt (KMP). Discuss average and worst-case complexity, rolling-hash collision risks for Rabin-Karp, preprocessing cost for KMP, and when to choose each for tasks like plagiarism detection or DNA sequence search.
EasyTechnical
40 practiced
Explain Big-O, Big-Theta, and Big-Omega notation and give concrete algorithm examples for each class. Describe how you reason about time and space complexity for nested loops, divide-and-conquer recursion, and common library operations when presenting technical trade-offs to a client.
HardTechnical
42 practiced
You're given a naive O(n^2) algorithm that finds all pairs satisfying a target-sum property in an array. Propose and implement an improved algorithm in Python that achieves O(n log n) or O(n) time, explain trade-offs (memory, stability), and outline how you'd benchmark and present results to stakeholders.

Unlock Full Question Bank

Get access to hundreds of Coding Fundamentals and Problem Solving interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.