Amdocs’ fresher interview process is a 90-135 minute online assessment (aptitude, technical MCQs on SQL, Unix, OS and C or Java, and two or three coding problems), one or two technical interviews on DSA, SQL, OOP and your project, and a 20-30 minute HR round on motivation, location and joining dates. SQL and database fundamentals carry more weight in these interviews than hard competitive programming.
Amdocs is a telecom software company - billing, charging, CRM, and monetization systems for operators - with large India delivery centers including Pune and Gurugram. That shapes the interview: databases, SQL, and fundamentals carry more weight than competitive-programming exotica.
Round-wise process
| Round | Duration | What they test |
|---|---|---|
| Online assessment | 90-135 min | Aptitude, logical, verbal, technical MCQs (SQL, Unix, OS, C/Java), 2-3 coding problems |
| Technical interview 1 | 30-60 min | DSA, SQL/DBMS, OOPs, OS, project deep-dive |
| Technical / managerial 2 | 30-45 min | Deeper DSA, role-specific stack, design fundamentals (not in every drive) |
| HR | 20-30 min | Motivation, location, joining logistics, behavioral |
Real interview experiences
Experience 1: associate software engineer, on-campus with GD
Source: GeeksforGeeks, Amdocs ASE on-campus
Profile: Campus ASE candidate; eligibility was CGPA above 7.5 and no active backlogs
Online assessment (HackerRank, 150 minutes)
- 41 time-boxed MCQs in 95 minutes: DBMS, SQL, OOP, COA, C++, Java, algorithms, quant, verbal, logical.
- One medium OOP coding question with optimization and debugging in 30 minutes (6 of 8 tests passed), and two SQL questions in 25 minutes (both fully solved).
- About 85 students in the batch; 13 were invited to the technical interview.
Technical interview (MS Teams, about an hour)
- C++: C vs C++, iostream vs stdio, vectors vs arrays, memory allocation,
new/delete. - OOP: why OOP, structs vs classes, constructor and destructor order, the four pillars with examples.
- DBMS/SQL: relational vs non-relational, DDL/DCL/DML/TCL, rollback, joins, normalization; two queries written in chat.
- Two easy coding problems in an online notepad with dry runs; Java basics (JVM, JDK, memory) and basic Unix commands.
Group discussion
- Seven candidates advanced to a virtual GD with a 5–6 person panel; topic reported: rise of generative AI (~40 minutes).
HR
- Short discussion on offer details, location preferences and salary structure (~15–20 minutes).
Result: Selected (one of five offers from the final seven)
Takeaway: When the placement mail names GD, prepare one opening statement and two data-backed points; skipping GD prep because “Amdocs is only technical” fails on some campuses.
Experience 2: SDE, on-campus HirePro loop
Source: GeeksforGeeks, Amdocs SDE on-campus
Profile: Campus candidate for SDE (System Analyst was also offered at the drive); campus visit in the first week of October
Online aptitude
- Quant, verbal, PL/SQL and Unix objectives, OOP MCQs, and coding: an easy array problem, a hard subset-sum variant (DP), and two easy SQL queries.
Psychometric test
- 50 objective situational questions in 15 minutes; the candidate says it was not pass or fail and assessed decision-making.
Technical (~75 min on HirePro)
- Two-person panel. Intro and deep-learning project walkthrough, then four coding problems with explanation before code: detect/remove loop in linked list (why Floyd works), swap variables without temp (XOR hint), binary tree height (recursive → DP discussion), diamond pattern printing.
- A hard puzzle from the second panelist, solved with hints.
- Linux: self-rating followed by command questions using pipes (write commands on shared editor).
- Closed with candidate questions to the panel.
HR (~25 min)
- Introduction, family background, Why Amdocs, strengths/weaknesses, achievements, PPT-based questions, higher studies, other interviews, an area to improve.
Result: Selected for SDE; result announced 7 October.
Pre-interview checklist (Amdocs)
- Confirm platform (CoCubes, HirePro, Teams) and whether GD/psychometric appear in your mail
- One timed full OA mock with all sections - log misses by topic
- SQL: joins, second/Nth highest, duplicates,
DELETEvsTRUNCATE - Unix:
grep,awk,sort | uniq -c,tail -f - Three STAR stories + specific Why Amdocs (BSS/billing, not generic IT)
- Resume: every project explainable in two minutes with your personal contribution
Questions that come up often
Coding / technical
- Second-largest element in an array without fully sorting
- String manipulation - reversal, palindromes, word reversal
- SQL: second-highest salary, joins, group-by with having
- OOPs: overloading vs overriding,
staticandfinal, abstraction vs encapsulation - DBMS: normalization, indexes, primary vs foreign keys
- OS: process vs thread, deadlock conditions, basic memory concepts
- Unix/Linux: common commands and what they do
- Project deep-dive: your role, the stack, the hardest bug, what you would rebuild
HR / behavioral
- Why Amdocs?
- Location flexibility (Pune, Gurugram, and other India sites)
- How your project or internship maps to the role
- A disagreement or failure story
- Long-term plans and joining date
Practical tips for Amdocs
- Clear the online assessment first. Timed sectional practice beats last-minute topic hopping.
- Give SQL and DBMS real study time - this is the single most consistent theme in Amdocs reports.
- Pick one language and go deep rather than skimming three.
- Know your own resume line by line; the technical round usually opens there.
- Learn a handful of Unix/Linux commands; they show up in the technical MCQs.
HR interview
After technical rounds, Amdocs usually closes with a short HR / hiring-manager conversation: motivation, location, notice period, and a couple of behavioral stories.
Sample answers for high-frequency questions
Q. Write a SQL query to find the Nth highest salary.
A. The most portable modern answer uses a window function: SELECT DISTINCT salary FROM (SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rnk FROM employees) t WHERE rnk = 3 for the third highest. DENSE_RANK is the right choice rather than RANK or ROW_NUMBER, because duplicate salaries should share a rank without creating a gap. If window functions are not allowed, use a correlated subquery counting the distinct salaries above each row, or in MySQL the simpler ... ORDER BY salary DESC LIMIT 1 OFFSET N-1 over a DISTINCT list. The follow-up Amdocs interviewers ask is what the query returns when fewer than N distinct salaries exist, and the answer is an empty result set, not NULL, unless you wrap it in an outer aggregate such as MAX.
Q. What is the difference between DELETE, TRUNCATE, and DROP?
A. DELETE is a DML statement that removes rows one at a time, can be filtered with a WHERE clause, fires row-level triggers, writes each removal to the transaction log, and can be rolled back inside a transaction. Because it is row-by-row and fully logged, it is slow on large tables and does not reset an auto-increment counter. TRUNCATE is a DDL statement that deallocates the table’s data pages wholesale: it removes all rows with no WHERE clause, does not fire row triggers, is minimally logged and therefore far faster, and resets identity or auto-increment seeds; in most engines it cannot be run while a foreign key references the table. DROP is DDL that removes the table definition itself along with its data, indexes, constraints, and permissions, so the table no longer exists afterwards. In practice: DELETE to remove some rows, TRUNCATE to empty a table quickly, DROP to remove the table entirely.
Q. What is the difference between method overloading and method overriding?
A. Overloading means multiple methods in the same class share a name but differ in parameter list by type, count, or order, and the compiler selects one from the static types of the arguments, so it is compile-time or static polymorphism. Return type alone does not distinguish overloads and will not compile. Overriding means a subclass supplies its own body for an inherited method with the same signature, and the JVM dispatches on the object’s actual runtime type, so it is run-time or dynamic polymorphism. Overriding carries rules: the access modifier cannot be more restrictive than the parent’s, the overriding method cannot throw broader checked exceptions, static and final and private methods cannot be overridden, and the return type may be covariant. A useful one-line test is that overloading is resolved by the compiler while overriding is resolved by the JVM.
Q. What do the static and final keywords do in Java?
A. static binds a member to the class rather than to any instance: a static field has one copy shared by all objects and is initialized once when the class loads, a static method can be called without an instance but cannot use this or access instance members directly, and a static block runs once at class-load time for one-time setup. final means cannot be changed after initialization, with three different meanings by target: a final variable can be assigned only once, so a final reference cannot be re-pointed although the object it references can still be mutated; a final method cannot be overridden by a subclass; and a final class cannot be extended at all, which is why String is final. Combining them, static final is the idiomatic way to declare a compile-time constant, conventionally named in upper snake case. The common trap Amdocs interviewers use is asking whether a final List can have elements added, and the answer is yes, because finality applies to the reference, not the contents.
Q. How does recursion use the call stack, and when should you convert it to iteration?
A. Each recursive call pushes a stack frame holding the parameters, local variables, and the return address, and the frame is popped when the call returns, so peak stack usage is proportional to the maximum recursion depth. Every recursive function needs a base case that returns without recursing and a recursive step that strictly moves toward it, or the stack grows until a StackOverflowError. Naive recursive Fibonacci is the classic warning: it recomputes the same subproblems and runs in exponential time, which memoizing in a map or array reduces to O(n) time and O(n) space, and a bottom-up loop reduces further to O(n) time and O(1) space. Convert to iteration whenever the depth can grow with input size, as with a linked list of a million nodes, or whenever the recursion is tail-recursive, since Java does not perform tail-call optimization. Recursion still earns its place where the problem is genuinely tree-shaped, such as tree traversal or backtracking, because the iterative version needs an explicit stack anyway.
Tips from successful candidates
Assessment tips
- Confirm the current Amdocs pattern from the drive mail before practicing old papers
- Finish one problem or section fully before starting the next
- Revise the fundamentals listed in the round table on this page
Interview tips
- Narrate trade-offs; expect “why” after every answer
- Only list projects you can defend under follow-ups
- Prepare 3-4 STAR stories for behavioral prompts
HR tips
- Know why Amdocs, not just why the industry
- Be clear on location / notice period / higher studies
- Practice answers on the dedicated HR page
Sources
Candidate reports: GeeksforGeeks ASE on-campus, GeeksforGeeks SDE on-campus, Desi QnA campus SDE, and aggregated prep notes on placementpapers.app. Cross-check your drive mail for timings and round count. For OA practice, see Amdocs placement papers.