InterviewStack.io LogoInterviewStack.io
💻

Programming Languages & Core Development Topics

Programming languages, development fundamentals, coding concepts, and core data structures. Includes syntax, algorithms, memory management at a programming level, asynchronous patterns, and concurrency primitives. Also covers core data manipulation concepts like hashing, collections, error handling, and DOM manipulation for web development. Excludes tool-specific proficiency (see 'Tools, Frameworks & Implementation Proficiency').

Mobile Memory and Resource Management

Covers memory management principles and resource handling for mobile applications across platforms. Candidates should understand platform specific models such as automatic reference counting on iOS and garbage collection on Android, common causes of memory leaks and retain cycles, and how reference ownership and weak versus strong references affect lifetime. Include techniques for releasing resources correctly in lifecycle methods and avoiding long lived references that hold activity or context objects. Expect knowledge of memory profiling and diagnostics including tools and workflows for locating leaks and high memory usage, strategies to prevent out of memory conditions, and trade offs such as requesting a larger heap. Also cover cross platform considerations for frameworks like React Native and Flutter and practical practices for identifying and fixing real memory issues in production, such as analyzing heap dumps, using allocation instrumentation, and applying targeted fixes and regression tests.

40 questions

Error Handling and Code Quality

Focuses on writing production quality code and scripts that are defensive, maintainable, and fail gracefully. Covers anticipating and handling failures such as exceptions, missing files, network errors, and process exit codes; using language specific constructs for error control for example try except blocks in Python or set minus e patterns in shell scripts; validating inputs; producing clear error messages and logs; and avoiding common pitfalls that lead to silent failures. Also includes code quality best practices such as readable naming and code structure, using standard libraries instead of reinventing functionality, writing testable code and unit tests, and designing for maintainability and observability.

40 questions

Maintainability and Legacy Code

Covers strategies and principles for evolving codebases safely and keeping them easy to understand and change over time. Topics include design principles such as Single Responsibility, Open Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion, removing duplication, establishing appropriate abstraction boundaries, separation of concerns, identifying and remediating code smells, incremental refactoring approaches, regression risk mitigation via tests and feature toggles, backward compatibility and migration strategies, and prioritizing technical debt reduction. Interviewers assess the candidate ability to plan pragmatic refactors, minimize risk during change, and improve long term health of a codebase.

40 questions

Programming Fundamentals and Code Quality

Encompasses core programming skills, data structures, basic algorithms, language fundamentals, and code quality practices. Expect proficiency with arrays, strings, lists, hash maps or dictionaries, sets, common collection operations, basic sorting and searching algorithms, and tradeoffs between data structures. Understand control flow, functions and modular design, classes and object oriented programming concepts including encapsulation, inheritance, and polymorphism, exception handling, file input and output, and common language idioms for mainstream interview languages such as Python, Java, and C plus plus. Emphasizes writing clean, readable, maintainable code: meaningful naming, modular functions, small interfaces, handling edge cases and errors, logging and documentation, simple testing and debugging strategies, and awareness of time and space complexity for common operations. Candidates should be able to implement correct solutions, follow language specific idioms where appropriate, and demonstrate attention to code quality and readability.

40 questions

Arrays, Strings, and Linked Lists Mastery

Foundational data structures: arrays, strings, and linked lists. Covers core operations (insertion, deletion, traversal, searching), pattern usage, edge cases, and time/space complexity analysis, with a focus on practical implementation and common interview-style problems across mainstream programming languages.

40 questions

Concurrency and Multithreading

Principles and practical techniques for concurrent execution and safe access to shared state across threads or execution contexts. Topics include main thread versus background threads, dispatching and scheduling work, synchronization primitives, locks, atomic operations, avoiding deadlocks and race conditions, designing thread safe data structures, reactive and event driven approaches, and platform specific tools such as Grand Central Dispatch and OperationQueue on iOS or coroutines and LiveData on Android. Evaluations focus on reasoning about correctness, performance trade offs, and methods to prevent UI blocking and ensure responsiveness.

40 questions

Backend Language Proficiency

Demonstrate strong practical knowledge of a backend programming language such as JavaScript with Node dot js, Python, Java, Go, or similar. Cover language fundamentals, idiomatic usage, standard library features, package and dependency management, common frameworks and ecosystem tools, testing strategies and tooling, error handling and observability, and patterns for maintainable server side code. Be ready to explain concurrency and asynchronous models in the language, performance considerations, security best practices, deployment and packaging approaches, and examples of backend services or APIs you built including trade offs and chosen libraries.

40 questions

Swift Language and Memory Management

Deep understanding of Swift syntax, type system, ARC (Automatic Reference Counting), weak/strong references, and avoiding retain cycles. Understanding of value types vs reference types and when to use each. Familiarity with modern Swift features like async/await, property wrappers, and generics.

40 questions

Debugging and Code Optimization

Practical debugging skills and techniques for improving code performance and complexity. Topics include tracing and reproducing bugs, stepping through execution, reasoning about time and space complexity, refactoring for performance, and applying algorithmic optimizations. Candidates should be able to demonstrate logical debugging approaches and make safe, measurable performance improvements to working code.

40 questions
Page 1/3