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').

Concurrency and Synchronization

Covers the principles and practical techniques for safely coordinating concurrent execution and access to shared resources. Topics include models of concurrency such as threads, processes, interrupt handlers, and tasks in a real time operating system; differences between preemptive and cooperative scheduling; shared data hazards including race conditions and read modify write hazards; critical sections and approaches to protect them including disabling interrupts in embedded contexts and scoped locks. Synchronization primitives and patterns are included: mutexes, binary semaphores, counting semaphores, condition variables, message queues, atomic operations and lock free primitives such as compare and swap. Memory ordering concerns and memory barrier usage on multi core systems are covered, along with priority inversion and priority inheritance. Also addressed are deadlock, livelock, and starvation concepts and avoidance strategies, granularity and performance trade offs of locking, and practical synchronization patterns. Preparation should include identifying and fixing races in code, designing correct concurrent interfaces, and debugging and testing techniques such as stress testing, instrumentation, deterministic replay, race detectors, static analysis, and code review strategies.

0 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.

0 questions

Systems Programming & Low-Level Concepts

Systems programming concepts including memory management, pointers, memory layout, CPU architecture considerations, concurrency primitives, OS interactions, and performance optimization in low-level languages (C, C++). Covers how languages expose low-level resources, toolchains, and platform-specific behaviors; excludes high-level application development.

10 questions

Error Handling and Defensive Programming

Covers designing and implementing defensive, fault tolerant code and system behaviors to prevent and mitigate production failures. Topics include input validation and sanitization, null and missing data handling, overflow and boundary protections, exception handling and propagation patterns, clear error reporting and structured logging for observability, graceful degradation and fallback strategies, retry and backoff policies and idempotency for safe retries. Also address concurrency and synchronization concerns, resource and memory management to avoid exhaustion, security related input checks, and how to document and escalate residual risks. Candidates should discuss pragmatic trade offs between robustness and complexity, show concrete defensive checks and assertions, and describe test strategies for error paths including unit tests and integration tests and how monitoring and operational responses tie into robustness.

40 questions

Python Programming & ML Libraries

Python programming language fundamentals (syntax, data structures, control flow, error handling) with practical usage of machine learning libraries such as NumPy, pandas, scikit-learn, TensorFlow, and PyTorch for data manipulation, model development, training, evaluation, and lightweight ML tasks.

40 questions

Java or Python Programming for Test Automation

Strong programming skills in Java or Python with expertise in OOP principles (inheritance, polymorphism, encapsulation, abstraction), exception handling, collections, file I/O, and functional programming concepts. Ability to write clean, well-structured, maintainable code with appropriate design patterns. Understanding of common libraries and utilities for test automation.

40 questions

Basic Data Structures (Objects, Maps, Sets)

Understand how objects work in JavaScript including prototypal inheritance and property descriptors. Know when to use Maps vs Objects and Sets vs Arrays. Understand the performance characteristics of different data structures. Be comfortable with nested data structures and how to manipulate them efficiently.

40 questions

Python Coding and Data Structures

Proficiency in Python, including arrays, dictionaries, linked lists, and basic algorithms. Ability to write efficient, clean code under time pressure. Understanding of time/space complexity and optimization.

40 questions

Algorithm Implementation and Data Structures

Focuses on implementing algorithms correctly and efficiently, and choosing the right data structure for the problem. Candidates should analyze time and space complexity (Big-O), select data structures that balance correctness, memory footprint, and access patterns (arrays, hash maps, trees, heaps, graphs), handle edge cases and precision/overflow pitfalls where relevant, apply techniques such as caching, indexing, batching, or parallelization to remove performance hotspots, and balance optimization against code readability, maintainability, and testability.

0 questions
Page 1/3