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

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.

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

Mobile Application Lifecycle and State Preservation

Comprehensive coverage of mobile application lifecycle events, state preservation and restoration, and best practices for managing application state across lifecycle transitions on native and cross platform frameworks. On Android this includes activity and fragment lifecycle callbacks, handling configuration changes, process death and restoration, onSaveInstanceState and saved state strategies, use of ViewModel and lifecycle aware components, background work with services and WorkManager, and techniques to avoid memory leaks and resource misuse. On iOS this includes view controller lifecycle methods, application delegate and scene delegate transitions, application backgrounding and termination, state preservation and restoration APIs, and multi window scene handling. The topic also covers cross platform lifecycle considerations for frameworks such as Flutter and React Native, strategies for serializing and persisting UI state, preserving user context across transitions, testing and verifying lifecycle behavior, handling edge cases such as low memory and abrupt process termination, and common mistakes that lead to crashes or data loss.

33 questions

Kotlin for Android Development

Covers writing idiomatic Kotlin code and applying Kotlin language features to Android application development, including null safety, extension functions, coroutines, and Kotlin Flow. Includes implementing algorithms and data transformations in Kotlin with attention to Android platform constraints such as limited memory, battery usage, and UI thread responsiveness. Candidates should be able to optimize collection operations, state management, concurrency patterns, and business logic for resource constrained mobile devices, explain Kotlin specific design patterns and best practices for Android, and discuss testing and performance profiling strategies relevant to Kotlin on Android.

0 questions

Android Concurrency and Coroutines

Concurrency and asynchronous programming patterns on Android, covering traditional thread and handler models, legacy constructs such as AsyncTask, reactive approaches such as RxJava, and modern Kotlin coroutine based techniques. Topics include suspend functions, CoroutineScope and Dispatchers, structured concurrency, cancellation, exception handling, flows for streams of asynchronous data, integration with Android lifecycle components, thread safety and synchronization on Android, and best practices for coordinating background work and updating the user interface on the main thread.

0 questions

Android Fragmentation and Performance Optimization

Covers supporting a wide range of Android devices and optimizing application performance across operating system versions and hardware capabilities. Topics include handling fragmentation with resource configuration qualifiers, using density independent and scalable units for layouts, responsive design across screen sizes, and managing compatibility across Android releases. Performance topics include minimizing app startup time, reducing memory usage on low end devices, optimizing battery consumption, improving rendering and frame performance, and profiling to find platform specific bottlenecks.

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

0 questions

IOS Development Fundamentals (Swift/Objective C)

Core iOS concepts including UIView/SwiftUI architecture, view controller lifecycle, memory management (ARC), delegates and protocols, notifications, KVO, and common frameworks (Foundation, UIKit). Understanding of Swift language features relevant to iOS development.

33 questions
Page 1/5