Virtusa hub
Virtusa Technical Interview Questions for Freshers 2026
Virtusa technical interview questions for freshers - OOP, SQL, DBMS, coding prompts, and project deep-dives the panels reuse, with sample answer frames you can adapt.
Overview
After the online assessment (and SpeechX on some tracks), Virtusa runs a 30-45 minute technical interview. Most fresher reports open with your project, then OOP and SQL, then a short coding problem. This page is the dedicated question bank for that round. Full loop maps live on the Virtusa hub; round stories on interview experience; HR frameworks on the HR page.
Explore: Virtusa hub · Interview experience · HR interview questions · Placement papers
What the technical round looks like
| Block | Typical time | What they test |
|---|---|---|
| Intro + project deep-dive | 10-15 min | Ownership, stack choice, hardest bug, what you would change |
| OOP + language fundamentals | 8-12 min | Overloading vs overriding, abstraction vs encapsulation, collections |
| SQL / DBMS | 8-12 min | Joins, WHERE vs HAVING, normalisation, indexes |
| Coding (1-2 problems) | 8-15 min | Arrays, strings, hashing; complexity and edge cases |
| Resume grill | ongoing | Anything you listed: Java/Python, frameworks, internships |
Group discussion appears on some drives only, usually after technical and before HR. Do not assume it; check the drive schedule.
High-frequency Virtusa technical questions and answers
OOP and language
Q: What is the difference between method overloading and overriding?
Overloading means two or more methods in the same class share a name but differ in parameter list (type, count, or order). It is resolved by the compiler at compile time using the static type of the arguments (static / compile-time polymorphism). Return type alone cannot distinguish overloads. Overriding means a subclass provides its own implementation of a parent method with the same signature; the JVM picks the version at run time from the actual object (dynamic polymorphism). An overriding method cannot reduce visibility and cannot throw broader checked exceptions than the parent.
Q: Explain abstraction versus encapsulation with a concrete example.
Abstraction hides complexity behind a simpler contract - an interface PaymentGateway with charge() hides whether the implementation talks to a card network or a wallet. Encapsulation hides data - a private balance with deposit() / withdraw() so callers cannot set a negative balance directly. Abstraction is design-level (what a type does); encapsulation is implementation-level (how state is protected). In Java: abstract classes and interfaces for abstraction; access modifiers plus getters/setters for encapsulation.
Q: What is the difference between an ArrayList and a LinkedList?
ArrayList is a resizable array: index access is O(1), mid-list insert/delete is O(n) because elements shift. LinkedList is a doubly linked list: insert/delete at a known node is O(1), but get(i) is O(n) because you walk the chain. In practice ArrayList wins for most fresher use cases because contiguous memory is cache-friendly; use LinkedList mainly for queue/deque patterns, and even then ArrayDeque is often faster.
Q: How do checked and unchecked exceptions differ in Java?
Checked exceptions (subclasses of Exception other than RuntimeException) must be declared or caught at compile time - file I/O, SQL failures. Unchecked exceptions extend RuntimeException - null pointer, illegal argument - and represent programming bugs the compiler does not force you to handle. In service-style code: catch and log checked failures at boundaries; validate inputs to avoid unchecked crashes.
Q: Process versus thread - what should a fresher say?
A process is an executing program with its own memory space; a thread is a lighter unit of execution inside that process, sharing heap memory but carrying its own stack. Threads can speed I/O-bound work but need synchronisation on shared mutable data. Context switching a process is heavier than switching a thread. Virtusa OA MCQs often probe exactly this distinction.
SQL and DBMS
Q: What is the difference between WHERE and HAVING in SQL?
WHERE filters rows before grouping and cannot use aggregates. HAVING filters groups after GROUP BY and can use COUNT, SUM, AVG. Logical order: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. Example: SELECT dept_id, COUNT() FROM employees WHERE salary > 50000 GROUP BY dept_id HAVING COUNT() > 5;
Q: Explain INNER JOIN, LEFT JOIN and how to find unmatched rows.
INNER JOIN returns only matching rows. LEFT JOIN keeps every left-table row and fills NULLs on the right when there is no match. Anti-join for employees with no department: SELECT e.* FROM employees e LEFT JOIN departments d ON e.dept_id = d.id WHERE d.id IS NULL;. The IS NULL check on the right key is the follow-up Virtusa panels like.
Q: What is normalisation, and what do 1NF, 2NF and 3NF mean?
Normalisation removes redundancy and update anomalies. 1NF: atomic values, no repeating groups. 2NF: every non-key column depends on the whole composite key. 3NF: no transitive dependencies between non-key columns (do not store dept_name beside dept_id in an employee table). Saying teams sometimes denormalise for read performance shows judgment, not just definitions.
Q: How does a database index speed up queries, and what does it cost?
A typical B-tree index finds a key in O(log n) page reads instead of a full scan. Clustered indexes order table rows (one per table); non-clustered indexes store keys plus row pointers. Cost: every write must maintain the index, so throughput and disk usage suffer. Functions on indexed columns (for example WHERE YEAR(created_at) = 2024) often disable the index.
Coding prompts freshers see
Q: How do you reverse a string in place, and what is the complexity?
Two pointers at start and end; swap and move inward until they cross. O(n) time, O(1) extra space on a char array. In Java, String is immutable - use a char array or StringBuilder.reverse(). Mention Unicode/code-point caveats if the interviewer pushes.
Q: How would you find duplicates (or the second-largest element) in an array?
Duplicates: one pass with a hash set - O(n) time, O(n) space; or sort then adjacent compare - O(n log n) time, O(1) extra if allowed to mutate. Second-largest: one pass tracking largest and second-largest, careful with duplicates and arrays shorter than two. State complexity before coding.
Q: What is the difference between a stack and a queue?
Stack is LIFO (undo history, call stack). Queue is FIFO (print spool, BFS frontier). Virtusa pseudocode MCQs love tracing mixed push/pop versus enqueue/dequeue sequences - draw the container after each step.
Project discussion: questions that decide the round
Interviewers reuse these probes. Prepare out loud before the drive:
- What problem did the project solve, and who was the user?
- Why this stack (language, database, framework) and what did you reject?
- Which module did you own end to end?
- Hardest bug: symptom, root cause, fix, how you verified
- What would you change with one more week?
- How did you test (unit, manual, edge cases)?
- If the OA code is revisited: explain complexity and one edge case you missed
Coder vs Power Coder (technical expectations)
| Track | OA coding (reported) | Technical interview lean |
|---|---|---|
| Coder (~₹5 LPA, candidate-reported) | ~4 easier problems in ~50 min | OOP, SQL, project, easy coding |
| Power Coder (~₹6.5 LPA, candidate-reported) | ~3 harder problems in ~80 min | Same core plus deeper DSA follow-ups |
Package figures are candidate-reported ranges, not offers. Confirm your invite track in the placement mail.
7-day fresher prep checklist
| Day | Task |
|---|---|
| 1 | Rewrite your project story in 90 seconds; list 5 follow-up answers |
| 2 | OOP flashcards spoken aloud (overload/override, abstraction/encapsulation) |
| 3 | SQL: write 5 joins + one anti-join from scratch without notes |
| 4 | Two timed coding problems (arrays/strings) with complexity said first |
| 5 | Re-open any OA solutions; prepare to explain them line by line |
| 6 | Mock interview with a peer: 30 minutes, no notes |
| 7 | Light review only; sleep; print resume matching the portal |
For timed OA papers and extra coding sets, use Virtusa on placementpapers.app.
Frequently asked questions
What are Virtusa technical interview questions for freshers?
Fresher panels commonly cover a project walkthrough, OOP (overloading vs overriding, abstraction vs encapsulation), SQL (joins, WHERE vs HAVING, GROUP BY), DBMS (normalisation, indexes), one or two easy-to-medium coding problems on arrays or strings, and follow-ups on any language or framework listed on your resume. Duration is typically 30-45 minutes.
How should freshers prepare for the Virtusa technical interview?
Know every resume bullet for five minutes, drill OOP and SQL until answers are spoken not memorised, practise one or two array/string problems under a timer, and be ready to explain or rewrite code from your online assessment if the panel asks. Power Coder invites often expect deeper DSA than the Coder track.
Does Virtusa ask coding in the technical round?
Yes on most fresher drives. Expect one or two problems at easy-to-medium difficulty - reverse a string, find duplicates, second largest, simple hash-map logic - plus complexity discussion. Some 2025 Hyderabad reports also asked candidates to revisit code from the OA rather than only whiteboard a fresh problem.
What is the difference between Virtusa Coder and Power Coder for interviews?
Both tracks share OOP/SQL/project themes in the technical interview, but Power Coder candidates report a harder OA coding block and panels that push further on DSA (trees, stacks, multi-step logic). Confirm which invite you received in the college placement mail before you calibrate difficulty.

