Software engineering is full of terms everyone uses and few use precisely.
What does Brooks's law say about adding people to a late software project?
It makes the project later still
It speeds it up roughly in proportion
It speeds it up only with microservices
It mainly increases technical debt
Right. New people need ramp-up time, and communication paths grow quickly, so a late project slips further.
Brooks's law says it makes a late project later: onboarding costs and communication overhead outweigh the extra hands at first.
Under semantic versioning, which version change signals a breaking API change?
2.3.1 to 2.4.0
2.3.1 to 2.3.2
2.3.1 to 3.0.0
2.3.1 to 2.3.1-rc1
Correct. In MAJOR.MINOR.PATCH, only a major bump announces incompatible API changes.
The answer is 2.3.1 to 3.0.0. Minor bumps add backward-compatible features and patch bumps fix bugs; only a major bump may break the API.
Which HTTP method is defined as idempotent but not safe?
GET
POST
PATCH
PUT
Right. PUT changes state, so it isn't safe, but repeating the same PUT leaves the same result, so it's idempotent.
The answer is PUT. Idempotent doesn't mean side-effect free: PUT modifies data, yet repeating it has the same effect as doing it once. GET is safe; POST and PATCH aren't guaranteed idempotent.
A test suite reaches 100% line coverage. What does that guarantee?
Every line ran during the tests
Every branch combination was tested
The code contains no logic errors
Every edge case has an assertion
Correct. Line coverage only shows each line executed; it says nothing about whether the results were checked or all paths tried.
It only guarantees that every line ran. Untested branch combinations, missing assertions and wrong logic can all survive 100% line coverage.
What best distinguishes continuous delivery from continuous deployment?
Delivery skips automated testing
In delivery, release to production is a manual decision
Delivery requires fixed release plans
Deployment needs no build pipeline
Right. Continuous delivery keeps every change releasable; continuous deployment goes further and ships each passing change automatically.
In continuous delivery, release to production is a manual decision. Every change is kept deployable, but only continuous deployment pushes it to production automatically.
What is the key difference between a mock and a stub in testing?
A stub verifies calls; a mock returns data
They are two names for one thing
A mock is used only in integration tests
A mock verifies the calls made to it
Correct. Stubs supply canned answers; mocks hold expectations and check how they were called.
A mock verifies the calls made to it, testing behavior, while a stub just returns canned data so the test can run, testing state.
An algorithm is O(n) and another O(n²). What can you conclude for n = 100?
The O(n) one is always faster
Nothing certain about which is faster
The O(n²) one takes 100 times longer
The O(n) one uses less memory
Right. Big O describes growth rate as n increases and hides constant factors, so at a fixed small n either could win.
Nothing certain can be concluded. Big O ignores constants and lower-order terms; it describes how cost grows, not actual time at a given n.
According to the CAP theorem, what must a distributed system give up during a network partition?
Partition tolerance or durability
Any two of the three properties
Either consistency or availability
Latency guarantees under heavy load
Correct. Partitions can't be wished away, so when one occurs a system must choose between staying consistent and staying available.
It must give up either consistency or availability. "Pick two of three" is misleading: the trade-off only bites during a partition.
What happens to commit hashes when you rebase a branch onto a new base?
They stay the same
Only the newest commit changes
They change only if conflicts occur
The rebased commits get new hashes
Right. A commit's hash depends on its parent, so replaying commits on a new base creates new commits.
The rebased commits get new hashes, because each hash covers the parent commit. That's why rebasing shared branches causes trouble.
A single-core CPU runs two tasks by switching between them. This is an example of what?
Concurrency without parallelism
Parallelism without concurrency
Both concurrency and parallelism
Neither concurrency nor parallelism
Correct. The tasks make progress in overlapping periods (concurrency) but never execute at the same instant (parallelism).
It's concurrency without parallelism. Concurrency is structuring work to overlap in time; parallelism needs simultaneous execution, e.g. on multiple cores.
How did you like the quiz?
Perfect! Every answer right!
10 of 10 right
100%
Challenge your fellow developers to take the quiz!
Without one, it says “A friend.”
Please choose another nickname.
Question 1: What does Brooks's law say about adding people to a late software project?
Question 2: Under semantic versioning, which version change signals a breaking API change?
Question 3: Which HTTP method is defined as idempotent but not safe?
Question 4: A test suite reaches 100% line coverage. What does that guarantee?
Question 5: What best distinguishes continuous delivery from continuous deployment?
Question 6: What is the key difference between a mock and a stub in testing?
Question 7: An algorithm is O(n) and another O(n²). What can you conclude for n = 100?
Question 8: According to the CAP theorem, what must a distributed system give up during a network partition?
Question 9: What happens to commit hashes when you rebase a branch onto a new base?
Question 10: A single-core CPU runs two tasks by switching between them. This is an example of what?
Made with AI. This quiz was made with AI, which can make mistakes.