5 exercises — technical concepts that non-native speakers frequently confuse because they sound similar or are used interchangeably in casual speech, but have precise distinct meanings.
Word pairs covered in this set
Library vs. Framework — who calls whom (inversion of control)
Authentication vs. Authorization — identity vs. access rights
Parameter vs. Argument — definition placeholder vs. actual value
Latency vs. Throughput — time per op vs. ops per second
Compile-time vs. Runtime — when the error occurs
0 / 18 completed
1 / 18
A candidate in a tech interview is asked: "What is the difference between a library and a framework?" Which answer is most accurate?
Library vs. Framework — Inversion of Control This is one of the most commonly mixed-up pairs in IT English, and the distinction matters in interviews and documentation.
Library: A collection of reusable code that you call. You are in control of when and how to use it. Examples: requests (Python), lodash (JavaScript), Spring Data (Java). You call the library functions; the library does not call your code.
Framework: A structure that defines the architecture and calls your code. You fill in the blanks (hooks, controllers, event handlers); the framework invokes them. Examples: Django, React, Spring MVC, Rails. The classic definition: "Don't call us, we'll call you" — this is called the Hollywood Principle or Inversion of Control.
In a sentence: "We used Vue.js as our frontend framework and Axios as an HTTP library."
2 / 18
A security engineer writes in a report: "The endpoint failed to verify authentication, allowing unauthorized data access." Is this the correct term?
Authentication (AuthN) vs. Authorization (AuthZ) These two are the most commonly confused security terms in IT English. Mixing them up in a security report, code review, or interview is a red flag.
Authentication (AuthN): WHY ARE YOU? Verifying the identity of a user or system. "Are you who you claim to be?" Mechanisms: passwords, MFA, biometrics, JWT tokens, OAuth login. If this fails: you can't log in at all. Error code: 401 Unauthorized (confusingly named — it actually means "unauthenticated").
Authorization (AuthZ): WHAT CAN YOU DO? Determining what an authenticated identity is allowed to do. "You are logged in — but do you have permission to see this data?" Mechanisms: RBAC, ACLs, IAM policies, scopes. If this fails: you're logged in but can't access the resource. Error code: 403 Forbidden.
In the question: the user was logged in (authentication passed) but accessed data they shouldn't have (authorization failed). The correct term is authorization.
A developer says: "The function takes two arguments: the base URL and the timeout." Later a colleague says the correct word is "parameters". Who is right?
Parameter vs. Argument — a subtle but real distinction Both words appear constantly in tech documentation and interviews. Many developers use them interchangeably in conversation, but the precise technical meanings differ:
Parameter: The variable defined in the function signature (definition). It's a placeholder. Example: function fetchData(url, timeout) — here url and timeout are parameters.
Argument: The actual value passed when calling the function. Example: fetchData("https://api.example.com", 5000) — here "https://api.example.com" and 5000 are arguments.
Memory trick: Parameter = Placeholder (lives in the definition). Argument = Actual value (lives in the call).
In practice: both the developer and the colleague are making reasonable points — strict precision favors "parameters" for the function definition, but "arguments" when talking about what to pass. The correct answer acknowledges this is a nuanced distinction, not a black-and-white error. The developer saying "two arguments" is informally acceptable; in strict documentation, "two parameters" is more precise for the function definition.
4 / 18
A backend engineer reports: "After the optimization, the system now handles 10,000 requests per second with sub-100ms latency." Are they using these metrics correctly?
Latency vs. Throughput — two orthogonal performance dimensions These two are the most important IT performance metrics — and they are often confused or conflated.
Latency: The time it takes to complete one operation — from request to response. Measured in milliseconds (ms), microseconds (µs), or seconds. "Sub-100ms latency" means each individual request is answered in under 100ms. Also appears as: P50/P95/P99 latency (percentile latency), round-trip time (RTT), response time.
Throughput: The number of operations completed per unit of time. Measured in requests per second (RPS), transactions per second (TPS), queries per second (QPS), or bytes per second (Bps). "10,000 RPS" = the system can process 10,000 requests every second.
They are related but orthogonal: you can have high throughput with high latency (a pipeline processes many items but each takes a long time), or low throughput with low latency (each item is fast but only one is processed at a time).
The engineer's sentence is correct: both metrics are reported together because they describe different dimensions of system performance.
5 / 18
A developer writes: "We get a NullPointerException — that's a compile-time error." Is this correct?
Compile-time vs. Runtime errors — a fundamental distinction Understanding and using these terms correctly matters for debugging, code review, and technical interviews.
Compile-time errors: Detected during compilation, before the program runs. The code fails to build. Examples: syntax errors, type mismatches in statically-typed languages, missing imports, undeclared variables. "The code does not compile."
Runtime errors: Occur during execution, after the program has compiled and started running. Examples: NullPointerException (Java, accessing a null reference), IndexError (Python, list index out of range), SegFault (C/C++, illegal memory access), division by zero. "The code compiled but crashed when it ran."
NullPointerException specifically: This is always a runtime error. The compiler cannot always know at compile time that a reference will be null — that depends on the program's execution state. (Note: modern tools like Kotlin's null safety and TypeScript's strict mode can catch some potential null problems at compile time — but the exception itself is runtime.)
Also know: "logic errors" — code compiles and runs but produces wrong results. These are the hardest to catch.
6 / 18
PR Description
Subject: Refactor User Profile Service - Improved Error Handling
This PR addresses several edge cases in the user profile service that were previously unhandled. Specifically, we've added robust error logging and retry mechanisms for API calls to external services, as well as improved validation of input data to prevent unexpected exceptions. Note: We're using circuit breakers to mitigate cascading failures. The changes should significantly improve the resilience of the service.
Which phrase best describes the core purpose of this PR's modifications?
A. Implement a new authentication protocol for user profiles.
B. Enhance the system's ability to gracefully handle and recover from errors during external API calls.
C. Migrate the user profile service to a microservices architecture.
D. Optimize database queries for faster user profile retrieval.
The correct answer (B) focuses on error handling – a critical aspect of robust software design. The description highlights retry mechanisms and logging, which directly address potential failures when interacting with external services. Options A, C, and D represent unrelated changes; the PR's primary goal is to improve resilience by managing errors effectively. Misconceptions might be that 'error handling' simply means adding more logging or that it's related to authentication or database optimization.
7 / 18
You're reviewing a Slack message from a junior developer: 'The API is returning a 503 error – it's just temporarily unavailable, right?' Considering the context of robust API design and potential downstream impacts, which phrase most accurately reflects the situation described by the developer?
The developer's statement suggests an understanding of HTTP status codes, but misinterprets a '503 Service Unavailable' error. A 503 indicates that the server is currently unable to handle the request, which could be due to temporary overload or maintenance. Simply assuming it's 'temporarily unavailable' without considering retry mechanisms or monitoring risks masking genuine problems and causing further disruptions. The correct option acknowledges this transient nature while highlighting the need for investigation.
8 / 18
PR Description
Subject: Refactor User Profile Service - Improved Error Handling
This PR addresses several edge cases in the user profile service that were previously unhandled. Specifically, we've added robust error logging and retry mechanisms for API calls to external services, as well as improved validation of input data to prevent unexpected exceptions. Note: We're using circuit breakers to mitigate cascading failures. The changes should significantly improve the resilience of the service.
Which phrase best describes the core purpose of this PR's modifications?
A. Implement a new authentication protocol for user profiles.
B. Enhance the system's ability to gracefully handle and recover from errors during external API calls.
C. Migrate the user profile service to a microservices architecture.
D. Optimize database queries for faster user profile retrieval.
The correct answer (B) focuses on error handling – a critical aspect of robust software design. The description highlights retry mechanisms and logging, which directly address potential failures when interacting with external services. Options A, C, and D represent unrelated changes; the PR's primary goal is to improve resilience by managing errors effectively. Misconceptions might be that 'error handling' simply means adding more logging or that it's related to authentication or database optimization.
9 / 18
You're reviewing a Slack message from a junior developer: 'The API is returning a 503 error – it's just temporarily unavailable, right?' Considering the context of robust API design and potential downstream impacts, which phrase most accurately reflects the situation described by the developer?
The developer's statement suggests an understanding of HTTP status codes, but misinterprets a '503 Service Unavailable' error. A 503 indicates that the server is currently unable to handle the request, which could be due to temporary overload or maintenance. Simply assuming it's 'temporarily unavailable' without considering retry mechanisms or monitoring risks masking genuine problems and causing further disruptions. The correct option acknowledges this transient nature while highlighting the need for investigation.
10 / 18
PR Description
Subject: Refactor User Profile Service - Improved Error Handling
This PR addresses several edge cases in the user profile service that were previously unhandled. Specifically, we've added robust error logging and retry mechanisms for API calls to external services, as well as improved validation of input data to prevent unexpected exceptions. Note: We're using circuit breakers to mitigate cascading failures. The changes should significantly improve the resilience of the service.
Which phrase best describes the core purpose of this PR's modifications?
A. Implement a new authentication protocol for user profiles.
B. Enhance the system's ability to gracefully handle and recover from errors during external API calls.
C. Migrate the user profile service to a microservices architecture.
D. Optimize database queries for faster user profile retrieval.
The correct answer (B) focuses on error handling – a critical aspect of robust software design. The description highlights retry mechanisms and logging, which directly address potential failures when interacting with external services. Options A, C, and D represent unrelated changes; the PR's primary goal is to improve resilience by managing errors effectively. Misconceptions might be that 'error handling' simply means adding more logging or that it's related to authentication or database optimization.
11 / 18
You're reviewing a Slack message from a junior developer: 'The API is returning a 503 error – it's just temporarily unavailable, right?' Considering the context of robust API design and potential downstream impacts, which phrase most accurately reflects the situation described by the developer?
The developer's statement suggests an understanding of HTTP status codes, but misinterprets a '503 Service Unavailable' error. A 503 indicates that the server is currently unable to handle the request, which could be due to temporary overload or maintenance. Simply assuming it's 'temporarily unavailable' without considering retry mechanisms or monitoring risks masking genuine problems and causing further disruptions. The correct option acknowledges this transient nature while highlighting the need for investigation.
12 / 18
PR Description
Subject: Refactor User Profile Service - Improved Error Handling
This PR addresses several edge cases in the user profile service that were previously unhandled. Specifically, we've added robust error logging and retry mechanisms for API calls to external services, as well as improved validation of input data to prevent unexpected exceptions. Note: We're using circuit breakers to mitigate cascading failures. The changes should significantly improve the resilience of the service.
Which phrase best describes the core purpose of this PR's modifications?
A. Implement a new authentication protocol for user profiles.
B. Enhance the system's ability to gracefully handle and recover from errors during external API calls.
C. Migrate the user profile service to a microservices architecture.
D. Optimize database queries for faster user profile retrieval.
The correct answer (B) focuses on error handling – a critical aspect of robust software design. The description highlights retry mechanisms and logging, which directly address potential failures when interacting with external services. Options A, C, and D represent unrelated changes; the PR's primary goal is to improve resilience by managing errors effectively. Misconceptions might be that 'error handling' simply means adding more logging or that it's related to authentication or database optimization.
13 / 18
You're reviewing a Slack message from a junior developer: 'The API is returning a 503 error – it's just temporarily unavailable, right?' Considering the context of robust API design and potential downstream impacts, which phrase most accurately reflects the situation described by the developer?
The developer's statement suggests an understanding of HTTP status codes, but misinterprets a '503 Service Unavailable' error. A 503 indicates that the server is currently unable to handle the request, which could be due to temporary overload or maintenance. Simply assuming it's 'temporarily unavailable' without considering retry mechanisms or monitoring risks masking genuine problems and causing further disruptions. The correct option acknowledges this transient nature while highlighting the need for investigation.
14 / 18
Review Comment: 'The code doesn't handle the case where the user ID is null. This could lead to a NullPointerException.' Which of the following best describes the issue highlighted in this comment?
A) The code utilizes an outdated version of the database driver. B) The code fails to implement proper error handling for invalid input, potentially causing unexpected behavior. C) The code is overly complex and difficult to maintain due to excessive nesting. D) The code's performance is significantly slower than expected.
The comment focuses on the absence of error handling when a user ID is null. This directly relates to potential runtime errors like a NullPointerException. Option B correctly identifies this issue—a lack of validation and graceful handling of invalid input. Options A & C are irrelevant to the core problem described in the review, while option D concerns performance which isn't addressed.
15 / 18
Slack Message: 'The server is returning a 502 Bad Gateway error – it's probably just a temporary network issue, right?' Considering the implications of intermittent connectivity and potential service disruption, what's the most appropriate response?
A) Assume the problem will resolve itself quickly and continue with operations. B) Immediately escalate the issue to Tier 2 support without further investigation. C) Investigate the root cause by checking network status, server logs, and API dependencies. D) Ignore the error as it's a common occurrence and doesn't affect user experience.
A 502 Bad Gateway error often indicates a problem with an upstream service. The correct response is to investigate the root cause, not assume a temporary issue or ignore it. Escalating to Tier 2 *after* initial investigation is appropriate; simply escalating without action is incorrect. Ignoring the error could lead to further disruptions.
16 / 18
PR Description: 'This commit updates the API endpoint to use a more efficient data serialization format.' What is the primary benefit of this change?
A) Increased server CPU usage due to complex data transformations. B) Reduced network bandwidth consumption and improved response times. C) Elimination of database queries for faster data retrieval. D) Enhanced security by encrypting sensitive data during transmission.
The question focuses on the optimization of an API endpoint. Using a more efficient serialization format (like JSON instead of XML) typically results in smaller payloads and reduced network traffic – hence, faster response times. Options C and D address different optimization strategies, but not the core benefit of improved data transfer efficiency.
17 / 18
Standup Update: 'I spent the morning debugging a performance issue with the image processing service. It was taking significantly longer to generate thumbnails than expected.' What is the most relevant technical term to describe this situation?
A) Scalability B) Latency C) Throughput D) Bottleneck
The developer is describing a situation where a process (image processing) is taking longer than anticipated. 'Throughput' refers to the rate at which something is processed – in this case, thumbnails per unit of time. Latency is a measure of delay, scalability refers to the system's ability to handle increased load, and a bottleneck represents a point of congestion.
18 / 18
Code Review Comment: 'The function doesn't validate the input string length before processing it. This could lead to buffer overflows.' Is this a valid concern?
A) Yes, all code should always strictly validate input lengths. B) No, the compiler will automatically prevent buffer overflows in this case. C) Possibly, depending on how the function uses the string data and potential vulnerabilities. D) Only if the function is written in C or C++.
While input validation is *generally* good practice, the statement that a compiler will *always* prevent buffer overflows is incorrect. Buffer overflows are a common vulnerability, and they can occur even with modern languages. Option C is correct – it acknowledges the potential for vulnerabilities based on how the string data is used, making it the most nuanced and accurate response.
What does the "IT-Specific Tricky Word Pairs — Exercise Set" exercise cover?
Master library vs. framework, authentication vs. authorization, parameter vs. argument, latency vs. throughput, and compile-time vs. runtime. 5 exercises with detailed explanations.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
How many questions are in "IT-Specific Tricky Word Pairs — Exercise Set"?
This exercise has 18 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.
Do I need to create an account to save my progress?
No account is required. The progress bar and score are tracked in your browser for the current session -- the exercise is designed to be a quick, repeatable drill rather than something you resume later.
What happens if I get an answer wrong?
You'll see the correct answer highlighted immediately, along with a short explanation of why it's correct. Wrong answers aren't penalized beyond your score, and you can keep going through every question.
How is this exercise different from reading an article?
Articles explain vocabulary and concepts through prose, while exercises like this one are interactive drills -- multiple-choice questions -- that test and reinforce your recall of specific terms and phrasing.
Can I retry this exercise?
Yes -- use the "Try again" button on the results screen to reset your score and go through all the questions again from the start.
Where can I find more False Friends & Tricky Words exercises?
Browse the full False Friends & Tricky Words hub for related drills, or check the site-wide exercises index for other IT English topics.
Is this exercise suitable for beginners?
This exercise assumes basic familiarity with IT terminology. If a term feels unfamiliar, check the site Glossary for a plain-English definition before attempting the questions.
How often is new content like this published?
New exercises are added regularly across all categories, alongside new vocabulary sets and articles. Check back on the exercises hub to see what's new.