Beyond language trivia, software engineer interviews at companies like Systems Limited, 10Pearls, and i2c test how you build: databases, APIs, version control discipline, and increasingly a lightweight system-design conversation even at mid-level. This set covers the recurring non-language questions and how strong candidates frame answers.
1How do you decide between SQL and NoSQL for a project?
Default to relational (PostgreSQL/MySQL) when data has clear relationships, needs transactions, or requires ad-hoc querying — which is most business software. Choose NoSQL for genuinely document-shaped data, extreme write scale, or flexible schemas (event logs, user-generated content). The strong answer names trade-offs — joins and consistency vs horizontal scaling — rather than declaring one 'better'.
2What is an index and what does it cost?
A data structure (usually a B-tree) that lets the database find rows without scanning the table — turning O(n) lookups into O(log n). Costs: extra storage and slower writes, since every insert/update maintains the index. Practical follow-ups: composite index column order matters (leftmost prefix), and EXPLAIN is how you verify a query actually uses one.
3Explain REST principles. When would you return 400 vs 401 vs 403 vs 404?
REST models resources as URLs manipulated with HTTP verbs, statelessly. Status codes: 400 for malformed/invalid input, 401 for missing or invalid authentication (who are you?), 403 for authenticated but not permitted (you can't do this), 404 for resource not found. Bonus points for idempotency — PUT and DELETE should be safely retryable, POST is not.
4Describe your Git workflow on a team. How do you handle a merge conflict?
Feature branches off main, small focused commits, pull request with review, CI green before merge. For conflicts: pull the target branch, resolve conflict markers by understanding both changes (not just picking one side), re-run tests, then complete the merge. Mentioning rebase for a linear history — and knowing not to rebase shared branches — reads as real team experience.
5How would you design a URL shortener? (common lightweight system-design question)
Core: a table mapping short code → original URL; generate codes via base62 encoding of an auto-increment ID or a random string with collision check. Redirect endpoint does a lookup and returns 301/302. Scale-ups when probed: cache hot URLs in Redis, precompute code batches to avoid ID contention, and track click counts asynchronously so redirects stay fast. Structure — requirements, data model, API, then scaling — matters more than any specific choice.
6What is the difference between authentication and authorization, and how do JWTs work?
Authentication verifies identity; authorization decides permissions. A JWT is a signed token carrying claims (user ID, role, expiry): the server verifies the signature instead of a session lookup, enabling stateless auth across services. Know the trade-off interviewers fish for: JWTs can't be easily revoked before expiry, so short lifetimes plus refresh tokens are the standard mitigation.
7Tell me about a production bug you fixed. (behavioral-technical)
Use a compressed STAR: symptom and impact, how you isolated it (logs, reproduction, bisecting), the root cause, the fix, and what you changed so it can't recur — a test, an alert, a validation. Interviewers are grading the debugging method and the prevention step far more than the bug's difficulty. Prepare one real story before every interview; it's asked nearly universally in Pakistan.
Preparation tips
Mid-level interviews increasingly include a small system-design chat — practise thinking aloud through requirements → data model → API → scaling.
Know your own projects' database schemas cold; "walk me through your tables" is a favourite local question.
Ask clarifying questions before answering design problems — it's explicitly scored at bigger companies.
First, get the interview
A strong resume is what gets you into the room. Build one free — ATS-friendly templates, unlimited edits, no account needed, first download free.
Free to build No account required ATS-friendly templates First download free