Programming Fundamentals and Code Quality Questions
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.
MediumTechnical
0 practiced
Implement an LRU cache in Java with O(1) get and put operations. Provide a class skeleton public class LRUCache<K,V> { ... } with constructor LRUCache(int capacity). Use language idioms, document thread-safety assumptions, and ensure correctness of eviction policy.
HardSystem Design
0 practiced
Design and implement (high-level or pseudocode) a thread-safe LRU cache in Java that supports concurrent gets and puts. Explain the locking or non-blocking strategies you would use to maximize throughput (e.g., lock striping, ConcurrentHashMap with segmented recency lists, ReadWriteLock), and discuss trade-offs.
HardTechnical
0 practiced
You are a staff-level engineer tasked with improving code quality across multiple teams. Propose a 6-month roadmap that includes measurable goals, tooling (linters, formatters, static analysis), CI/CD integration, code review guidelines, automated testing improvements, training/onboarding, and success metrics. Describe stakeholder communication and incremental rollout.
MediumTechnical
0 practiced
Write a Java function to detect whether a singly linked list has a cycle and, if so, return the node where the cycle begins. Use O(1) extra space and O(n) time (Floyd's cycle-finding algorithm). Provide clear null checks and edge-case handling.
HardSystem Design
0 practiced
Design a serialization and deserialization strategy for Java objects that supports backward and forward compatibility across versions. Discuss schema evolution practices (optional/required fields, defaults), choosing a format (protobuf/Avro/JSON), and how to mitigate security risks of unsafe deserialization.
Unlock Full Question Bank
Get access to hundreds of Programming Fundamentals and Code Quality interview questions and detailed answers.