Fresher Interview Questions for TCS, Infosys, Wipro and Accenture (Technical + HR)
30 technical questions (Java, OOP, SQL, OS, networks, coding) and 15 HR questions with sample answers, plus how the rounds work, a project STAR template and a 30-day plan.
New27 min read

Fresher interview questions at TCS, Infosys, Wipro and Accenture come from a surprisingly small pool: OOP and Java basics, DBMS and SQL, a little operating systems and networking, a few short coding programs, and a predictable set of HR questions. If you can answer those clearly and talk confidently about your final-year project, you are ready for most service-company interviews.
This guide is for final-year students and recent graduates in India preparing for campus or off-campus drives. You get an overview of how the hiring rounds usually work, 30 technical questions with crisp answers (and code that was actually run), 15 HR interview questions for freshers with sample answers, a "tell me about yourself" template, a STAR method for your project, and a 30-day preparation plan.
One honest note before we start: each company changes its test pattern, eligibility and process from season to season. Use this page to prepare the content, and always confirm the current process on the company's official careers site or with your placement cell.
In this guide:
- How fresher hiring usually works at TCS, Infosys, Wipro and Accenture
- Java and OOP interview questions for freshers
- DBMS and SQL questions
- Operating system, networking and cloud basics
- Coding programs asked in fresher interviews (with output)
- HR interview questions for freshers, with sample answers
- How to explain your final-year project with STAR
- A 30-day preparation plan
- FAQ
How fresher hiring works at TCS, Infosys, Wipro and Accenture
Large IT service companies hire freshers in big batches, so their process is designed to filter thousands of candidates quickly and then check a smaller group in person. The details differ, but the shape is nearly always the same: an online assessment, then one or more interviews, then an offer and a training program before you join a project.
- Registration: on the company's official portal or through your college. Use the same email and details everywhere, and keep your marks and documents ready.
- Online assessment: quantitative aptitude, logical reasoning and verbal English are almost universal. Many tests also include pseudo-code or programming MCQs, one or two coding problems, and sometimes a written essay or a spoken-English assessment.
- Technical interview: OOP, one programming language (usually Java, C, C++ or Python), DBMS and SQL, basic OS and networking, and your project. Expect to write or explain a short program.
- HR interview: communication, attitude, willingness to relocate or work shifts, and documents. In some drives the technical and HR rounds are merged into one conversation.
- Offer and onboarding: an offer letter, then a training program before project allocation.
Never pay anyone for a test slot, an interview or an offer letter. Genuine recruiters at these companies do not charge freshers, and "pay to get placed" messages are a common scam.
How does TCS hire freshers?
TCS hires freshers mainly through the TCS National Qualifier Test (NQT). TCS describes it as an integrated test: you take a single test, and your performance decides which hiring track you are interviewed for (recent cycles have used the tracks Ninja, Digital and Prime). The test covers aptitude, reasoning and verbal ability plus more advanced aptitude and coding sections. Interviews commonly mix technical, managerial and HR questions.
How does Infosys hire freshers?
Infosys hires through campus drives and off-campus openings on its careers site. It also runs HackWithInfy, a coding competition for engineering students where strong performers can be considered for higher-skill roles. The online test typically covers aptitude, reasoning, verbal ability and pseudo-code or programming, followed by a technical and HR interview.
How does Wipro hire freshers?
Wipro's best-known fresher program is Elite National Talent Hunt (NTH). Its online assessment has usually combined aptitude, a written communication task and online programming, followed by an interview that covers both technical and HR topics. Check the current cycle's notice for the exact sections.
How does Accenture hire freshers?
Accenture's fresher process is commonly reported as a cognitive and technical assessment (aptitude, reasoning, English and basic IT topics such as networking, cloud and pseudo-code), a coding assessment, a communication assessment for spoken English, and then an interview. The order and whether a round is eliminatory have varied between drives.
What the interviewer is checking: at fresher level, not depth. They want clear fundamentals, honest answers ("I am not sure, but I think..."), the ability to learn, and that you actually built the project on your resume.
Java and OOP interview questions for freshers
The technical round almost always starts with OOP and your chosen language. Java is the most common choice, so the answers below use it; the concepts carry over to C++ and Python.
What is the difference between JDK, JRE and JVM?
The JVM (Java Virtual Machine) runs compiled bytecode. The JRE (Java Runtime Environment) is the JVM plus the standard class libraries needed to run programs. The JDK (Java Development Kit) is everything in the JRE plus development tools such as the compiler javac, the debugger and jar. You need the JDK to write programs and only a runtime to run them.
A modern detail that impresses: since JDK 11, Oracle no longer ships a separate JRE download, and teams often build a trimmed runtime with jlink instead. Some vendors still publish JRE builds.
Why is Java platform independent?
Because javac compiles source code into bytecode (.class files), not into machine code for one processor. Any operating system with a JVM can run that bytecode. The JVM itself is platform-specific; the bytecode is not. That is what "write once, run anywhere" means.
What are the four pillars of OOP?
Encapsulation, inheritance, polymorphism and abstraction. Encapsulation hides data behind methods, inheritance lets a class reuse and extend another, polymorphism lets one call behave differently depending on the object, and abstraction exposes what an object does while hiding how. Always give a small example; this one shows three pillars in one program.
public class OopDemo {
static class Account {
private long balance; // encapsulation: no direct access (whole rupees; never double for money)
void deposit(long amount) {
if (amount <= 0) throw new IllegalArgumentException("amount must be positive");
balance += amount;
}
long getBalance() { return balance; }
long interest() { return 0; } // overridden below
}
static class SavingsAccount extends Account { // inheritance
@Override long interest() { return getBalance() * 4 / 100; }
}
static class Calculator { // compile-time polymorphism (overloading)
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
int add(int a, int b, int c) { return a + b + c; }
}
public static void main(String[] args) {
Account acc = new SavingsAccount(); // runtime polymorphism (overriding)
acc.deposit(10_000);
System.out.println("balance = " + acc.getBalance());
System.out.println("interest = " + acc.interest());
Calculator c = new Calculator();
System.out.println("add(2, 3) = " + c.add(2, 3));
System.out.println("add(2.5, 3.5) = " + c.add(2.5, 3.5));
System.out.println("add(1, 2, 3) = " + c.add(1, 2, 3));
try {
acc.deposit(-5);
} catch (IllegalArgumentException e) {
System.out.println("rejected: " + e.getMessage());
}
}
}Output:
balance = 10000
interest = 400
add(2, 3) = 5
add(2.5, 3.5) = 6.0
add(1, 2, 3) = 6
rejected: amount must be positiveHere balance is private and only changes through deposit, which validates the amount (encapsulation). SavingsAccount extends Account (inheritance). The variable type is Account, but interest() runs the SavingsAccount version (runtime polymorphism), and Calculator.add is overloaded (compile-time polymorphism).
What is the difference between method overloading and method overriding?
Overloading means several methods in the same class share a name but have different parameter lists; the compiler picks one at compile time. Overriding means a subclass provides its own version of a parent method with the same signature; the JVM picks one at runtime based on the actual object. Changing only the return type is not overloading and does not compile.
What is the difference between an abstract class and an interface?
An abstract class can have constructors, instance fields and both abstract and concrete methods, and a class can extend only one. An interface defines a contract; a class can implement many. Since Java 8, interfaces can also have default and static methods, and since Java 9, private methods, but they still cannot hold instance state. Use an abstract class for shared state and code, and an interface for a capability several unrelated classes share.
What is the difference between == and equals() in Java?
For objects, == checks whether two references point to the same object, while equals() checks whether two objects are logically equal, as defined by the class. String overrides equals() to compare characters, so always compare strings with equals(). The program in the coding section prints exactly this difference.
Why are strings immutable in Java?
A String cannot change after it is created. That allows the string pool to share one literal safely across the program, makes strings safe to use as HashMap keys (the hash code never changes, so it can be cached), keeps them thread-safe without locks, and prevents a file path or URL from being changed after a security check. Methods like toUpperCase() return a new string. The String Javadoc states that strings are constant.
What is the difference between String, StringBuilder and StringBuffer?
String is immutable. StringBuilder is mutable and fast, for building text in a loop. StringBuffer is the older mutable class whose methods are synchronized, so it is thread-safe but slower. In practice, use StringBuilder for local string building; you will rarely need StringBuffer.
Can a constructor be private in Java?
Yes. A private constructor stops other classes from creating instances directly. It is used in the Singleton pattern, in utility classes that only have static methods, and in classes that expose static factory methods instead, such as LocalDate.of(). A constructor has no return type and has the same name as the class; if you write none, the compiler adds a default no-argument constructor.
What do the static and final keywords mean in Java?
static means a member belongs to the class rather than to each object: one copy shared by all instances, accessible without creating an object. final means "cannot change": a final variable cannot be reassigned, a final method cannot be overridden, and a final class cannot be extended (String is final).
What is the difference between checked and unchecked exceptions?
Checked exceptions (such as IOException and SQLException) must be caught or declared with throws, or the code does not compile. Unchecked exceptions are subclasses of RuntimeException (such as NullPointerException and ArrayIndexOutOfBoundsException) and usually indicate a programming bug. Mention try-with-resources for closing files and connections automatically.
What is the difference between ArrayList and LinkedList?
ArrayList stores elements in a resizable array: reading by index is O(1), but inserting in the middle shifts elements. LinkedList is a doubly linked list: inserting or removing at the ends is O(1), but reading by index walks the list in O(n). ArrayList is the right default for most code because it is also more memory- and cache-friendly.
What is garbage collection in Java?
Garbage collection is the JVM automatically freeing memory used by objects that are no longer reachable from any live reference. You do not call free() as in C. System.gc() only requests a collection; it does not force one. G1 has been the default collector since JDK 9 (on very small machines the JVM could still pick Serial GC until JDK 27 made G1 the default everywhere, JEP 523), and you can mention that memory leaks are still possible if you keep references you no longer need, for example in a static list.
DBMS and SQL interview questions for freshers
What is the difference between DBMS and RDBMS?
A DBMS is any software that stores and manages data. An RDBMS stores data in tables (relations) with rows and columns, enforces relationships through keys, and is queried with SQL. MySQL, PostgreSQL, Oracle and SQL Server are RDBMSs. Most RDBMSs also support transactions with ACID guarantees.
What is the difference between a primary key, a unique key and a foreign key?
A primary key uniquely identifies each row and cannot be NULL; a table has one primary key (which can span several columns). A unique key also prevents duplicate values, but a table can have several, and they usually allow NULL. A foreign key is a column that refers to the primary key of another table, which keeps relationships valid (you cannot add an order for a customer that does not exist).
What is normalization? Explain 1NF, 2NF and 3NF.
Normalization organizes tables to reduce duplicate data and update anomalies. First normal form (1NF): every column holds atomic values, with no lists in one cell. Second normal form (2NF): 1NF, and every non-key column depends on the whole primary key, not part of a composite key. Third normal form (3NF): 2NF, and non-key columns do not depend on other non-key columns (no transitive dependency). Example: store the department name in a department table, not repeated in every employee row.
What are the types of joins in SQL?
INNER JOIN returns only matching rows from both tables. LEFT JOIN returns all rows from the left table plus matches (NULLs where there is no match); RIGHT JOIN is the mirror. FULL OUTER JOIN returns all rows from both sides. CROSS JOIN returns every combination, and a SELF JOIN joins a table to itself, for example employees to their managers. MySQL does not support FULL OUTER JOIN directly; you combine a LEFT and a RIGHT join with UNION.
How do you find the second highest salary in SQL?
The classic answer uses a subquery: the highest salary that is less than the maximum. The more general answer uses DENSE_RANK(), which also works for the Nth highest and handles ties.
-- 1) subquery
SELECT MAX(salary) AS second_highest
FROM employee
WHERE salary < (SELECT MAX(salary) FROM employee);
-- 2) window function: change 2 to N for the Nth highest
SELECT DISTINCT salary
FROM (
SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rnk
FROM employee
) ranked
WHERE rnk = 2;Explain why DENSE_RANK and not ROW_NUMBER: if two people share the top salary, ROW_NUMBER would give one of them rank 2, which is wrong.
What is the difference between DELETE, TRUNCATE and DROP?
DELETE removes rows (all, or those matching a WHERE) one by one and can be rolled back inside a transaction. TRUNCATE removes all rows at once, is much faster, takes no WHERE, and in MySQL also resets the AUTO_INCREMENT counter. DROP removes the table itself, structure included. Whether TRUNCATE can be rolled back depends on the database: MySQL and Oracle commit it implicitly, while PostgreSQL allows it inside a transaction.
What are ACID properties?
ACID describes reliable transactions. Atomicity: all steps happen or none do. Consistency: a transaction moves the database from one valid state to another. Isolation: concurrent transactions do not see each other's half-finished work. Durability: once committed, data survives a crash. The bank transfer is the standard example: debit and credit must both happen or neither.
Operating system, networking and cloud basics
What is the difference between a process and a thread?
A process is a running program with its own memory space. A thread is a unit of execution inside a process; threads of the same process share its memory and resources, which makes them lighter to create and faster to switch, but also means they need synchronization when they share data. Example: a running Java program is one process (one JVM), and its main thread, garbage collector threads and worker threads all share that JVM's heap.
What is a deadlock, and what conditions cause it?
A deadlock is when two or more processes wait forever for resources held by each other. It needs four conditions at the same time: mutual exclusion, hold and wait, no preemption, and circular wait. Break any one, for example by always acquiring locks in the same order, and deadlock cannot happen.
What is virtual memory?
Virtual memory gives each process the illusion of a large, private address space that can be bigger than physical RAM. The OS splits memory into fixed-size pages and keeps the pages in use in RAM while the rest wait on disk; a page fault loads a missing page. If the system spends more time swapping pages than doing work, that is called thrashing.
What is the difference between a mutex and a semaphore?
A mutex is a lock that lets exactly one thread into a critical section, and only the thread that locked it should unlock it. A semaphore holds a counter and lets up to N threads in at once; it is useful for limiting access to a pool of resources, such as five database connections. A binary semaphore behaves like a mutex but has no ownership.
What are the layers of the OSI model?
From bottom to top: Physical, Data Link, Network, Transport, Session, Presentation and Application. Tie each to an example: Ethernet at Data Link, IP at Network, TCP and UDP at Transport, HTTP at Application. The practical TCP/IP model merges these into four layers: Link, Internet, Transport and Application.
What is the difference between TCP and UDP?
TCP is connection-oriented and reliable: it sets up a connection with a three-way handshake, delivers data in order and retransmits lost packets. UDP is connectionless: no handshake, no delivery or ordering guarantee, but lower overhead and latency. Web pages, email and file transfer use TCP; live video, online games and DNS lookups commonly use UDP.
What happens when you type a URL into a browser?
The browser resolves the domain name to an IP address through DNS (checking caches first), opens a TCP connection to the server, performs a TLS handshake for HTTPS, and sends an HTTP request. The server returns a response with HTML, and the browser parses it, fetches CSS, JavaScript and images, and renders the page. Keep the answer in this order; interviewers like structure.
What is cloud computing? What are IaaS, PaaS and SaaS?
Cloud computing is renting computing resources (servers, storage, databases, software) over the internet, paying for what you use instead of buying hardware. IaaS gives you virtual machines and networks to manage yourself; PaaS gives you a platform where you deploy code and the provider runs the servers; SaaS gives you ready-to-use software in the browser, such as web email. Assessments that include basic IT topics, such as the one commonly reported for Accenture, ask cloud questions at about this level.
Coding programs asked in fresher interviews
Which coding programs are asked in fresher interviews?
The same handful appears again and again: reverse a string, check a palindrome, check a prime number, print the Fibonacci series, find the second largest element, count character frequency, Armstrong numbers and swapping two numbers without a third variable. Practice writing them without an IDE, then explain them line by line. Here they are in one program, run on JDK 25:
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
public class FresherPrograms {
// 1. Reverse a string without StringBuilder.reverse()
static String reverse(String s) {
char[] c = s.toCharArray();
for (int i = 0, j = c.length - 1; i < j; i++, j--) {
char t = c[i]; c[i] = c[j]; c[j] = t;
}
return new String(c);
}
// 2. Palindrome check, ignoring case and non-letters
static boolean isPalindrome(String s) {
String clean = s.toLowerCase().replaceAll("[^a-z0-9]", "");
int i = 0, j = clean.length() - 1;
while (i < j) if (clean.charAt(i++) != clean.charAt(j--)) return false;
return true;
}
// 3. Prime check in O(sqrt n)
static boolean isPrime(int n) {
if (n < 2) return false;
for (int i = 2; (long) i * i <= n; i++) if (n % i == 0) return false;
return true;
}
// 4. First n Fibonacci numbers, iterative
static long[] fibonacci(int n) {
long[] f = new long[n];
for (int i = 0; i < n; i++) f[i] = i < 2 ? i : f[i - 1] + f[i - 2];
return f;
}
// 5. Second largest distinct element in one pass
static int secondLargest(int[] a) {
int first = Integer.MIN_VALUE, second = Integer.MIN_VALUE;
for (int x : a) {
if (x > first) { second = first; first = x; }
else if (x > second && x != first) second = x;
}
if (second == Integer.MIN_VALUE) throw new IllegalArgumentException("no second largest");
return second;
}
// 6. Character frequency, in order of first appearance
static Map<Character, Integer> frequency(String s) {
Map<Character, Integer> freq = new LinkedHashMap<>();
for (char ch : s.toCharArray()) freq.merge(ch, 1, Integer::sum);
return freq;
}
// 7. Armstrong number (sum of digits^digitCount == number)
static boolean isArmstrong(int n) {
int digits = String.valueOf(n).length(), sum = 0;
for (int x = n; x > 0; x /= 10) sum += (int) Math.pow(x % 10, digits);
return sum == n;
}
public static void main(String[] args) {
System.out.println("reverse(\"infosys\") = " + reverse("infosys"));
System.out.println("isPalindrome(\"Madam\") = " + isPalindrome("Madam"));
System.out.println("isPalindrome(\"A man, a plan, a canal: Panama\") = " + isPalindrome("A man, a plan, a canal: Panama"));
System.out.println("isPrime(97), isPrime(91) = " + isPrime(97) + ", " + isPrime(91));
System.out.println("fibonacci(10) = " + Arrays.toString(fibonacci(10)));
System.out.println("secondLargest = " + secondLargest(new int[] {12, 35, 1, 10, 35, 34}));
System.out.println("frequency(\"accenture\") = " + frequency("accenture"));
System.out.println("isArmstrong(153), (154) = " + isArmstrong(153) + ", " + isArmstrong(154));
// swap two numbers without a third variable
int a = 5, b = 9;
a = a + b; b = a - b; a = a - b;
System.out.println("swap without temp = a=" + a + ", b=" + b);
// == vs equals
String s1 = "java", s2 = "java", s3 = new String("java");
System.out.println("s1 == s2: " + (s1 == s2) + ", s1 == s3: " + (s1 == s3) + ", s1.equals(s3): " + s1.equals(s3));
}
}Output:
reverse("infosys") = sysofni
isPalindrome("Madam") = true
isPalindrome("A man, a plan, a canal: Panama") = true
isPrime(97), isPrime(91) = true, false
fibonacci(10) = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
secondLargest = 34
frequency("accenture") = {a=1, c=2, e=2, n=1, t=1, u=1, r=1}
isArmstrong(153), (154) = true, false
swap without temp = a=9, b=5
s1 == s2: true, s1 == s3: false, s1.equals(s3): trueNotice the last line: s1 == s2 is true because both literals point to the same pooled string, while new String("java") creates a separate object, so == is false and equals() is true. Also note that secondLargest returns 34, not 35, because the duplicate 35 is skipped.
For 50 more programs in the same style, see Java programs asked in interviews.
What is the time complexity of your program?
Expect this follow-up after every program. Reversing a string, the palindrome check, the second-largest scan and character frequency are O(n) time. The prime check is O(√n) because a factor larger than √n must pair with one smaller than √n. The iterative Fibonacci is O(n), while the naive recursive version is exponential. Say the space complexity too: the reverse uses an O(n) char array, the second-largest scan uses O(1). The Big-O cheat sheet covers the rest.
HR interview questions for freshers (with sample answers)
The HR round decides more offers than freshers expect. Answers should be short (30 to 90 seconds), specific, and true. Prepare them out loud, not just in your head.
Tell me about yourself (for freshers)
Answer in four parts, in 60 to 90 seconds: who you are now, the relevant past (education and skills), your strongest project or achievement, and why this role. Do not repeat your resume line by line, and do not start with your family background unless asked.
Sample answer (replace the details with your own):
"I am Priya, a final-year B.Tech Computer Science student, graduating in 2026. Over the last two years I have focused on Java and databases: I completed coursework in data structures and DBMS, and I practice coding problems regularly. My final-year project is a library seat-booking web app built with Spring Boot and MySQL, where I designed the database and wrote the booking logic that prevents two students from reserving the same seat. Outside academics, I coordinated our college coding club's weekly contests. I am applying for this role because I want to start my career on real client projects with structured training, and I enjoy backend work, which I understand is a big part of the work here."
Why do you want to join our company?
Connect something specific about the company to something true about you: the training program, the range of technologies and industries, the chance to work with global clients, or a service line you are interested in. Read the company's careers page before the interview. Avoid "it is a big brand" as your only reason.
Sample: "I want a strong foundation in how real software is built and delivered, and your fresher training plus exposure to clients across industries gives me that. I am particularly interested in Java and cloud work, which I have read is a major area for your teams."
What are your strengths?
Pick two strengths relevant to the job and prove each with a one-line example. "I learn new tools quickly: I learned Spring Boot on my own for my final-year project in about three weeks. I am also consistent: I have solved coding problems almost every day this semester."
What is your greatest weakness?
Name a real, non-critical weakness and what you are doing about it. "I used to hesitate to speak in large groups. I joined our department's technical seminar series and presented twice this year, and I am much more comfortable now." Avoid fake weaknesses like "I work too hard".
Why should we hire you?
Summarize your fit in three points: fundamentals, attitude and evidence. "I have solid basics in Java, SQL and OOP, I have built and deployed a working project, and I learn quickly and take feedback well. I am ready to be trained and to be productive on a project as soon as possible."
Where do you see yourself in five years?
Show ambition that fits the company. "I see myself as a strong developer who has worked on a few client projects, can own a module end to end, and mentors new joiners. I would like to grow toward a technical lead role over time."
Are you willing to relocate?
Service companies place people across many cities, so a positive answer matters. If you are open, say so clearly. If you have a genuine constraint, state it honestly and briefly, and show flexibility: "Yes, I am open to any location. I am from Pune, but I am comfortable moving wherever the project needs me."
Are you comfortable working in shifts?
Client work across time zones sometimes needs early, late or rotational shifts. Answer honestly: "Yes. I understand some projects support clients in other time zones, and I am comfortable adjusting my schedule when the project requires it."
Are you okay with signing a service agreement (bond)?
Some offers include a service agreement; the terms are in the offer documents and differ by company and year. Read them carefully before the interview if they are published. A good answer is calm and informed: "Yes. I have read the terms in the offer details, and I intend to build my career here, so I am comfortable with it." If you have not seen the terms, it is fine to say you would like to read them first.
What do you know about our company?
Mention what the company does, two or three service lines or industries it serves, and one recent initiative or value you genuinely found interesting. Get this from the company's official website and annual report, not from rumor. Keep it under a minute.
Tell me about a challenge you faced and how you handled it.
Use a short STAR story (situation, task, action, result). "Two weeks before our project demo, our database design could not handle concurrent bookings. I proposed adding a unique constraint and handling the duplicate-key error, tested it with simultaneous requests, and the demo went smoothly." Focus on what you did, not the team in general.
How do you handle pressure and deadlines?
Describe a method, then prove it. "I break the work into daily targets and do the riskiest part first. During end-semester exams and our project deadline, I planned each day the night before and finished the project a day early."
Describe a time you worked in a team.
Choose a project or event where you had a clear role. Explain how work was divided, one problem the team faced, your contribution to solving it, and the outcome. If there was a disagreement, show that you resolved it by discussing facts, not by escalating.
What are your salary expectations?
For fresher roles at large service companies, the package is usually fixed for the role and announced in the job notice. A good answer: "I understand the package for this role is standard for freshers, and I am comfortable with it. My priority right now is learning and a good start to my career."
Do you have any questions for us?
Always ask one or two. Good ones: "What does the training program cover for this role?", "What technologies do freshers usually work on after training?", "What does a successful first year look like here?" Avoid asking about leave and salary in this slot.
How to explain your final-year project in an interview
Your project is the one topic where you are the expert, so interviewers dig into it to check that you really built it. Structure the explanation with STAR and be ready for "why" questions on every choice.
- Situation: the problem in one sentence. "Students in our library queued for seats during exams, with no way to reserve one."
- Task: your role and goal. "In a team of three, I owned the backend and the database."
- Action: what you built and why. "I designed the tables, built REST APIs with Spring Boot, and used a unique constraint on seat and time slot so two students cannot book the same seat."
- Result: something measurable or concrete. "We tested it with our batch for two weeks; double bookings stopped, and the librarian used the daily report."
Then prepare answers to the follow-ups you will almost certainly get: Why this technology and not another? What was the hardest bug? How is the data stored, and can you draw the tables? What would you improve with more time? What did each team member do? If you cannot explain a part of the code, remove it from your resume or learn it before the interview.
A 30-day preparation plan for fresher interviews
This plan assumes 3 to 4 hours a day alongside college. If your test date is closer, compress weeks 3 and 4, but do not skip mock interviews.
- Week 1, foundations: one hour of aptitude and reasoning daily (percentages, ratios, time and work, series, blood relations). Revise Java basics and the four OOP pillars, with one small program for each.
- Week 2, core subjects: DBMS and SQL (keys, normalization, joins, the second-highest-salary query), then OS and networking basics. Keep aptitude at 30 to 45 minutes a day.
- Week 3, coding and tests: write the standard programs from memory, then easy array and string problems. Take at least three full-length timed mock tests matching your target company's sections.
- Week 4, interviews: record your "tell me about yourself", rehearse the HR answers above, do two or three mock interviews with friends or seniors, revise your project with STAR, and prepare documents.
A more detailed, Java-focused version is in our 30-day Java interview preparation roadmap, and if you want to go beyond the basic programs, the DSA patterns sheet in Java is the next step.
Common mistakes freshers make in interviews
- Bluffing. Saying "I don't know this yet, but here is how I would find out" beats a confident wrong answer.
- Listing skills you cannot defend. Every technology on your resume is a question waiting to be asked.
- Memorized, robotic answers. Learn the structure, not a script, so you sound natural.
- Ignoring aptitude. Many candidates with good coding skills never reach the interview because they underprepared for the online test.
- Not asking questions at the end. It reads as low interest.
- Missing documents or details. Mismatched names, dates or marks between your application and certificates cause avoidable trouble later.
Practice with the full question bank
- Core Java Fundamentals: 74 Interview Questions for Freshers: JDK vs JRE vs JVM, data types, control flow, classes, constructors, polymorphism, interfaces, static and final, with answers.
- SQL Interview Questions: 50 Most-Asked Queries with Answers: joins and NULLs, Nth highest salary, top-N per group, window functions, CTEs, indexes and EXPLAIN.
- Java Learning Resources: Interview Preparation Beginner to Advance: the all-in-one Java bundle with 3000+ interview questions, 50+ e-books, 500+ coding problems, DSA notes and bonus courses.
Related reading
- Top 50 Java Programs Asked in Interviews (With Output)
- Java Interview Preparation: A 30-Day Roadmap for 2026
- DSA Patterns Sheet in Java: 15 Patterns That Solve Most Coding Interview Problems
FAQ
Is coding mandatory in TCS, Infosys, Wipro and Accenture fresher tests?
Most of their recent fresher assessments include some programming, either coding problems or pseudo-code and programming MCQs, and the higher-paying tracks rely on coding more heavily. Check the current notice for your drive, and prepare at least the standard programs in one language.
Which programming language is best for fresher interviews?
Choose the one you know best. Java, C++ and Python are all widely accepted. Java is a safe choice because it is widely used in enterprise projects, and Java OOP questions are among the most common.
How many rounds are there in a fresher interview?
Usually an online assessment followed by one to three interview rounds (technical, sometimes managerial, and HR). Some drives combine technical and HR into one interview. The exact number varies by company and hiring season.
Do non-CS students get the same technical questions?
Mostly yes for programming basics, OOP and SQL, although interviewers may go lighter on OS and networks and ask more about your own branch and project. Show that you have learned programming on your own and can explain one program end to end.
What should I do if I don't know the answer in an interview?
Say so honestly, share what you do know that is related, and explain how you would find out. Interviewers expect freshers not to know everything; they reject candidates who guess confidently and wrongly.
How long does it take to prepare for TCS or Infosys interviews?
With steady daily practice, about four weeks is enough for most students to cover aptitude, core subjects, standard programs and HR answers, as in the plan above. Start earlier if your aptitude or coding basics are weak.





