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.
EasyTechnical
0 practiced
Explain why immutable data structures are beneficial in multithreaded programs. Provide examples in Java or Python where immutability simplifies reasoning and reduces concurrency bugs in data processing pipelines, and discuss trade-offs such as increased memory usage and copying cost versus synchronization overhead.
HardTechnical
0 practiced
A pipeline processes very large JSON objects with deeply nested arrays, sometimes causing OOM. Describe strategies to reduce memory consumption: streaming/parsing iteratively, flattening or sharding large nested arrays, applying backpressure, and using disk-backed temporary storage. Recommend specific Python libraries and code patterns.
EasyTechnical
0 practiced
Write a Java method readLines(String path) that opens a text file, reads lines, and returns List<String>. The method should use try-with-resources to ensure streams are closed, handle IOExceptions by logging and returning an empty list or propagating an application-specific exception, and comment on behavior for missing files and permission errors.
MediumTechnical
0 practiced
You have a 200GB newline-delimited JSON file containing user records with fields user_id and updated_at. Design an implementation to deduplicate the file so only the most recent record per user_id remains, given 4GB RAM. Outline algorithm, disk usage, how to split work, and trade-offs between external sort and hash-based partitioning.
HardTechnical
0 practiced
Implement a Bloom filter in Java that supports add(byte[] item), mightContain(byte[] item), and merge(BloomFilter other). The implementation should accept expectedInsertions and falsePositiveProbability on construction and expose memory usage. Explain choice of hash functions and how to compute optimal bit array size and number of hash functions.
Unlock Full Question Bank
Get access to hundreds of Programming Fundamentals and Code Quality interview questions and detailed answers.