Objective-C concepts interview questions — Hard
151 hard-level Objective-C concepts questions from our Objective-C bank, each with the correct answer and an explanation of why it is correct.
What this covers
Objective-C concepts appears throughout Objective-C interviews. At hard level, interviewers are typically checking depth under pressure — edge cases, failure modes, performance characteristics, and the trade-offs you accepted. Work through these, then explain your answer out loud; the second part is what interviews actually test.
20 example questions
1. Which option correctly describes concurrency model in Objective-C, specifically how concurrent or parallel work is expressed?
- A. It allocates a new copy every time.
- B. Use the language's idiomatic concurrency model feature, which is designed for exactly this purpose.correct
- C. It silently ignores the operation.
- D. It requires an external framework.
Why: Idiomatic Objective-C provides a built-in mechanism for concurrency model; relying on it (how concurrent or parallel work is expressed) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
2. In Objective-C, what is the idiomatic approach to asynchronous I/O (how non-blocking I/O is performed)?
- A. It blocks the main thread until completion.
- B. It throws a runtime exception by default.
- C. It requires an external framework.
- D. Use the language's idiomatic asynchronous I/O feature, which is designed for exactly this purpose.correct
Why: Idiomatic Objective-C provides a built-in mechanism for asynchronous I/O; relying on it (how non-blocking I/O is performed) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
3. When working with string handling in Objective-C, which statement best reflects how strings are represented and manipulated?
- A. It requires an external framework.
- B. Use the language's idiomatic string handling feature, which is designed for exactly this purpose.correct
- C. It silently ignores the operation.
- D. It always returns null.
Why: Idiomatic Objective-C provides a built-in mechanism for string handling; relying on it (how strings are represented and manipulated) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
4. Which option correctly describes function definition in Objective-C, specifically how reusable functions are declared?
- A. It is handled automatically by the garbage collector.
- B. It is only available in unsafe mode.
- C. It is undefined behavior.
- D. Use the language's idiomatic function definition feature, which is designed for exactly this purpose.correct
Why: Idiomatic Objective-C provides a built-in mechanism for function definition; relying on it (how reusable functions are declared) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
5. A reviewer asks about memory management in your Objective-C code. What is the correct guidance regarding how memory is allocated and reclaimed?
- A. It is identical to the global variant.
- B. It compiles to no-op.
- C. Use the language's idiomatic memory management feature, which is designed for exactly this purpose.correct
- D. It allocates a new copy every time.
Why: Idiomatic Objective-C provides a built-in mechanism for memory management; relying on it (how memory is allocated and reclaimed) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
6. A reviewer asks about pattern matching in your Objective-C code. What is the correct guidance regarding how values are destructured by shape?
- A. It compiles to no-op.
- B. It is undefined behavior.
- C. Use the language's idiomatic pattern matching feature, which is designed for exactly this purpose.correct
- D. It is only available in unsafe mode.
Why: Idiomatic Objective-C provides a built-in mechanism for pattern matching; relying on it (how values are destructured by shape) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
7. For a Objective-C codebase, what should you know about type system — how types are checked and inferred?
- A. It is undefined behavior.
- B. Use the language's idiomatic type system feature, which is designed for exactly this purpose.correct
- C. It requires an external framework.
- D. It silently ignores the operation.
Why: Idiomatic Objective-C provides a built-in mechanism for type system; relying on it (how types are checked and inferred) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
8. In Objective-C, what is the idiomatic approach to null handling (how absence of a value is represented)?
- A. It is undefined behavior.
- B. It always returns null.
- C. It blocks the main thread until completion.
- D. Use the language's idiomatic null handling feature, which is designed for exactly this purpose.correct
Why: Idiomatic Objective-C provides a built-in mechanism for null handling; relying on it (how absence of a value is represented) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
9. For a Objective-C codebase, what should you know about module system — how code is organized into modules or packages?
- A. It is identical to the global variant.
- B. It blocks the main thread until completion.
- C. It is handled automatically by the garbage collector.
- D. Use the language's idiomatic module system feature, which is designed for exactly this purpose.correct
Why: Idiomatic Objective-C provides a built-in mechanism for module system; relying on it (how code is organized into modules or packages) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
10. Which option correctly describes generics in Objective-C, specifically how code is parameterized over types?
- A. Use the language's idiomatic generics feature, which is designed for exactly this purpose.correct
- B. It blocks the main thread until completion.
- C. It compiles to no-op.
- D. It allocates a new copy every time.
Why: Idiomatic Objective-C provides a built-in mechanism for generics; relying on it (how code is parameterized over types) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
11. For a Objective-C codebase, what should you know about closures and capture — how surrounding state is captured by inner functions?
- A. Use the language's idiomatic closures and capture feature, which is designed for exactly this purpose.correct
- B. It is identical to the global variant.
- C. It is handled automatically by the garbage collector.
- D. It compiles to no-op.
Why: Idiomatic Objective-C provides a built-in mechanism for closures and capture; relying on it (how surrounding state is captured by inner functions) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
12. In Objective-C, what is the idiomatic approach to variable scoping (how block vs function scope affects visibility)?
- A. It requires an external framework.
- B. It is identical to the global variant.
- C. Use the language's idiomatic variable scoping feature, which is designed for exactly this purpose.correct
- D. It compiles to no-op.
Why: Idiomatic Objective-C provides a built-in mechanism for variable scoping; relying on it (how block vs function scope affects visibility) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
13. A reviewer asks about immutability in your Objective-C code. What is the correct guidance regarding how immutable values are declared and enforced?
- A. It blocks the main thread until completion.
- B. It is undefined behavior.
- C. Use the language's idiomatic immutability feature, which is designed for exactly this purpose.correct
- D. It is only available in unsafe mode.
Why: Idiomatic Objective-C provides a built-in mechanism for immutability; relying on it (how immutable values are declared and enforced) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
14. When working with data serialization in Objective-C, which statement best reflects how data is serialized to a portable format?
- A. Use the language's idiomatic data serialization feature, which is designed for exactly this purpose.correct
- B. It blocks the main thread until completion.
- C. It silently ignores the operation.
- D. It is identical to the global variant.
Why: Idiomatic Objective-C provides a built-in mechanism for data serialization; relying on it (how data is serialized to a portable format) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
15. For a Objective-C codebase, what should you know about dependency management — how third-party libraries are added?
- A. It is handled automatically by the garbage collector.
- B. It blocks the main thread until completion.
- C. Use the language's idiomatic dependency management feature, which is designed for exactly this purpose.correct
- D. It requires an external framework.
Why: Idiomatic Objective-C provides a built-in mechanism for dependency management; relying on it (how third-party libraries are added) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
16. When working with error handling in Objective-C, which statement best reflects the recommended way to handle and propagate errors?
- A. It requires an external framework.
- B. It always returns null.
- C. It allocates a new copy every time.
- D. Use the language's idiomatic error handling feature, which is designed for exactly this purpose.correct
Why: Idiomatic Objective-C provides a built-in mechanism for error handling; relying on it (the recommended way to handle and propagate errors) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
17. A reviewer asks about performance tuning in your Objective-C code. What is the correct guidance regarding the most effective optimization strategy?
- A. Use the language's idiomatic performance tuning feature, which is designed for exactly this purpose.correct
- B. It is undefined behavior.
- C. It silently ignores the operation.
- D. It is handled automatically by the garbage collector.
Why: Idiomatic Objective-C provides a built-in mechanism for performance tuning; relying on it (the most effective optimization strategy) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
18. Which option correctly describes testing approach in Objective-C, specifically the conventional unit-testing approach?
- A. Use the language's idiomatic testing approach feature, which is designed for exactly this purpose.correct
- B. It is undefined behavior.
- C. It silently ignores the operation.
- D. It compiles to no-op.
Why: Idiomatic Objective-C provides a built-in mechanism for testing approach; relying on it (the conventional unit-testing approach) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
19. When working with equality semantics in Objective-C, which statement best reflects the difference between identity and value equality?
- A. It is identical to the global variant.
- B. Use the language's idiomatic equality semantics feature, which is designed for exactly this purpose.correct
- C. It throws a runtime exception by default.
- D. It is only available in unsafe mode.
Why: Idiomatic Objective-C provides a built-in mechanism for equality semantics; relying on it (the difference between identity and value equality) is clearer and safer than the alternatives, which misstate how Objective-C behaves.
20. In Objective-C, what is the idiomatic approach to collection iteration (the idiomatic way to iterate a collection)?
- A. It throws a runtime exception by default.
- B. Use the language's idiomatic collection iteration feature, which is designed for exactly this purpose.correct
- C. It is undefined behavior.
- D. It compiles to no-op.
Why: Idiomatic Objective-C provides a built-in mechanism for collection iteration; relying on it (the idiomatic way to iterate a collection) is clearer and safer than the alternatives, which misstate how Objective-C behaves.