8/30/2026

Top 10 Technical Interview Questions for IT Freshers: OOP, SQL, Java, DBMS and Data Structures

 Technical interviews for IT jobs can look intimidating, especially for freshers attending their first placement drive. However, many interviews start with fundamental computer-science concepts rather than extremely advanced programming problems.

Interviewers often want to understand whether a candidate can explain a concept clearly, apply it to a practical situation and reason through a problem.

The questions below cover some of the areas that frequently appear in technical interviews for software, IT services and entry-level technology roles.

Preparation tip: Do not memorize only the definitions. Try to explain each concept in your own words and support the answer with a simple example.

1. What Is the Difference Between Method Overloading and Method Overriding?

This is a common object-oriented programming question, particularly for candidates using Java or similar languages.

Method Overloading

Method overloading occurs when methods have the same name but different parameter lists within the same class.

The difference can be in:

  • Number of parameters

  • Parameter types

  • Order of parameter types

For example:

class Calculator {
    int add(int a, int b) {
        return a + b;
    }

    int add(int a, int b, int c) {
        return a + b + c;
    }
}

Both methods are named add, but they accept different parameters.

Method Overriding

Method overriding occurs when a subclass provides its own implementation of an inherited method using the same method signature.

class Animal {
    void sound() {
        System.out.println("Animal sound");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Dog barks");
    }
}

Easy Way to Remember

Overloading → same class, different parameters

Overriding → subclass, same method signature


2. What Is the Difference Between an Interface and an Abstract Class?

This question tests whether you understand abstraction and object-oriented design.

An abstract class can contain both abstract methods and implemented methods. It can also contain instance variables and constructors.

An interface is primarily used to define a contract that implementing classes agree to follow. In modern Java, interfaces can also contain default and static methods.

Example

abstract class Vehicle {
    abstract void start();

    void stop() {
        System.out.println("Vehicle stopped");
    }
}

An interface can be written as:

interface Printable {
    void print();
}

Interview Point

Do not simply say that an interface contains “only abstract methods.” That description is outdated for modern Java.

A better answer is:

An abstract class is useful when related classes need to share state or implementation, while an interface is useful for defining a capability or contract that different classes can implement.


3. What Is an SQL JOIN?

SQL joins are among the most useful database concepts to understand for an IT technical interview.

A join combines related information from two or more tables.

Suppose we have:

Employee

Employee_IDNameDepartment_ID
101Ravi10
102Asha20

Department

Department_IDDepartment_Name
10Development
20Testing

INNER JOIN

Returns rows where the join condition matches in both tables.

SELECT e.Name, d.Department_Name
FROM Employee e
INNER JOIN Department d
ON e.Department_ID = d.Department_ID;

LEFT JOIN

Returns all rows from the left table and matching rows from the right table.

If there is no match, columns from the right table can be NULL.

RIGHT JOIN

Returns all rows from the right table and matching rows from the left table.

FULL OUTER JOIN

Returns matching rows plus unmatched rows from both sides where the database system supports it.

Interview Tip

When explaining joins, use a simple two-table example. It is much clearer than memorizing definitions.


4. What Is Database Normalization?

Normalization is a database-design technique used to organize data and reduce unnecessary redundancy.

Interviewers commonly ask about 1NF, 2NF and 3NF.

First Normal Form (1NF)

A table should contain atomic values rather than repeating groups or multiple values packed into one field.

For example, storing:

Python, Java, SQL

inside a single skills field can violate the intended atomic structure of a normalized design when each skill should be represented separately.

Second Normal Form (2NF)

A table should first satisfy 1NF and should not have partial dependency on only part of a composite key.

Third Normal Form (3NF)

A table should first satisfy 2NF and should avoid transitive dependencies, where a non-key attribute depends on another non-key attribute.

Interview Tip

Do not try to give a textbook definition as quickly as possible.

Explain the progression:

1NF → atomic values

2NF → remove partial dependency

3NF → remove transitive dependency

Then provide a small example.


5. What Is the Difference Between an Array and a Linked List?

This question tests your understanding of data structures and memory organization.

Array

An array stores elements in contiguous memory locations in the traditional array model.

Access by index is generally:

O(1)

because the address can be calculated directly.

Linked List

A linked list stores elements in nodes connected through references or pointers.

To reach an arbitrary element, you generally need to traverse the nodes from the beginning or another known node.

Random access is therefore:

O(n)

Comparison

OperationArrayLinked List
Access by indexO(1)O(n)
Search in unsorted dataO(n)O(n)
Insert at beginningO(n)O(1) with suitable node/reference
Delete at beginningO(n)O(1) with suitable node/reference

The exact insertion or deletion complexity depends on what reference you already have and on the specific implementation.


6. What Is Time Complexity and Why Is It Important?

Time complexity describes how the running time of an algorithm changes as the size of the input grows.

Interviewers often expect candidates to understand common notations such as:

O(1) — constant

O(log n) — logarithmic

O(n) — linear

O(n log n) — commonly seen in efficient comparison-based sorting algorithms

O(n²) — quadratic

For example:

for (int i = 0; i < n; i++) {
    System.out.println(i);
}

This loop executes approximately n times, so its time complexity is:

O(n)

Understanding complexity helps you compare two possible solutions rather than simply finding one solution that works.


7. What Is Encapsulation, Inheritance, Polymorphism and Abstraction?

These four concepts are frequently discussed in OOP interviews.

Encapsulation

Encapsulation means keeping data and the operations that work on that data together while controlling how the data is accessed.

A common example is using private fields with public methods.

Inheritance

Inheritance allows a class to derive characteristics and behavior from another class.

For example, a Dog class can inherit from an Animal class.

Polymorphism

Polymorphism allows the same interface or method concept to behave differently depending on the object or implementation.

Method overriding is a common example.

Abstraction

Abstraction focuses on exposing essential behavior while hiding unnecessary implementation details.

Interview Tip

A strong candidate does not simply recite four definitions.

Use one small real-world example that connects all four concepts.


8. What Is a Primary Key and a Foreign Key?

This is a basic DBMS question that can appear in entry-level interviews.

Primary Key

A primary key uniquely identifies a record in a table.

For example:

CREATE TABLE Employee (
    Employee_ID INT PRIMARY KEY,
    Name VARCHAR(100)
);

Here, Employee_ID identifies each employee record.

Foreign Key

A foreign key creates a relationship between tables by referencing a key in another table.

CREATE TABLE Department (
    Department_ID INT PRIMARY KEY,
    Department_Name VARCHAR(100)
);

CREATE TABLE Employee (
    Employee_ID INT PRIMARY KEY,
    Name VARCHAR(100),
    Department_ID INT,
    FOREIGN KEY (Department_ID)
        REFERENCES Department(Department_ID)
);

Interview Tip

Remember:

Primary key → identifies a row

Foreign key → links related tables


9. What Is the Difference Between Stack and Queue?

Both are common data structures, but they follow different access rules.

Stack

A stack follows:

LIFO — Last In, First Out

The most recently added element is removed first.

A common real-world analogy is a stack of plates.

Typical operations are:

  • Push

  • Pop

  • Peek

Queue

A queue generally follows:

FIFO — First In, First Out

The first element added is normally the first element removed.

A queue at a service counter is a simple analogy.

Typical operations include:

  • Enqueue

  • Dequeue

  • Front/Peek

Interview Follow-Up

An interviewer may ask where these structures are used.

Examples include function-call stacks, undo operations, task scheduling and buffering.


10. How Would You Find Duplicate Elements in an Array?

This type of question tests both programming logic and your understanding of complexity.

A straightforward approach is to compare every element with every other element.

That works, but the time complexity can become:

O(n²)

A more efficient approach is to use a hash-based structure to track values already seen.

For example, in Java:

import java.util.HashSet;

class DuplicateCheck {
    public static boolean containsDuplicate(int[] arr) {
        HashSet<Integer> seen = new HashSet<>();

        for (int value : arr) {
            if (!seen.add(value)) {
                return true;
            }
        }

        return false;
    }
}

The idea is simple:

  1. Start with an empty set.

  2. Read each element.

  3. If the element is already present, a duplicate exists.

  4. Otherwise, add it to the set.

Average-case time complexity is generally O(n) with expected constant-time hash-set operations, with O(n) additional space.

Interview Tip

When solving a coding problem, always discuss the trade-off.

The interviewer may ask:

“Can you solve it without additional memory?”

That is an opportunity to discuss an alternative approach, such as sorting, and compare the resulting complexity.


What Do Interviewers Actually Look for?

A technical interview is not only a test of whether you know the answer.

Interviewers may also look at how you approach an unfamiliar problem.

A strong candidate should be able to:

Explain the Concept Clearly

Use simple language instead of repeating a memorized textbook definition.

Connect Theory to Code

Show how the concept works in a small example.

Discuss Complexity

For programming problems, explain time and space complexity when appropriate.

Ask Clarifying Questions

Before coding, make sure you understand the input, output and important constraints.

Handle Edge Cases

Think about situations such as:

  • Empty arrays

  • Duplicate values

  • null input

  • Negative numbers

  • Very large input

  • Duplicate database records

Explain Trade-Offs

If there are multiple solutions, explain why you selected one.


How to Answer “I Don't Know” in a Technical Interview

You do not need to pretend that you know every technology.

A professional response can be:

“I haven't worked with that technology directly, but I understand the related concept and I would approach learning it by…”

This is generally better than giving an incorrect technical explanation with confidence.

The interviewer may also be interested in how quickly you can learn something unfamiliar.


Common Technical Interview Mistakes

Memorizing Definitions

Knowing the definition without understanding the concept becomes obvious when the interviewer asks a follow-up question.

Writing Code Immediately

Take a moment to understand the problem and discuss your approach.

Ignoring Complexity

A solution that produces the correct output may still be inefficient.

Not Testing Your Code

Walk through at least one normal case and one edge case before finishing.

Claiming Experience You Don't Have

Anything listed on your resume can become an interview question.

Giving Extremely Long Answers

Answer the question first. Add details when they are relevant.


How to Prepare for an IT Technical Interview

A practical preparation routine can be more effective than trying to memorize hundreds of interview questions.

Start with the fundamentals:

Programming → OOP → DBMS → SQL → Data Structures → Algorithms

Then practice explaining each concept verbally.

For coding, solve problems involving arrays, strings, hashing, sorting, searching and basic data structures.

For SQL, practice writing joins, filtering, grouping and aggregation queries.

For OOP, be able to explain concepts using a small code example.

For DBMS, understand keys, normalization and transactions at a foundational level.

Most importantly, practice answering follow-up questions. A technical interview often becomes more difficult after the first correct answer.


A Simple 7-Day Technical Interview Revision Plan

Day 1 — OOP

Revise classes, objects, encapsulation, inheritance, polymorphism, abstraction, overloading and overriding.

Day 2 — Java or Your Primary Language

Practice syntax, collections, exception handling and common programming problems.

Day 3 — SQL

Practice joins, filtering, grouping, aggregate functions, subqueries and basic database questions.

Day 4 — DBMS

Revise normalization, keys, transactions, indexes and fundamental database concepts.

Day 5 — Data Structures

Practice arrays, strings, linked lists, stacks, queues, sets and maps.

Day 6 — Algorithms

Revise searching, sorting, hashing and basic complexity analysis.

Day 7 — Mock Interview

Choose random questions and answer them aloud without looking at notes.

This final step is important because knowing an answer privately is different from explaining it clearly under interview pressure.


Frequently Asked Questions

What are the most important technical subjects for IT freshers?

Start with programming fundamentals, OOP, SQL, DBMS, data structures and basic algorithms. The exact emphasis depends on the role and company.

Are technical interviews only about coding?

No. Depending on the role, interviewers may ask about programming fundamentals, OOP, databases, SQL, operating systems, networking, projects and problem-solving.

Should I prepare Java specifically?

Java is useful if the role or your resume involves Java. However, the same core programming concepts apply across many languages.

Is OOP important for freshers?

Yes. OOP concepts frequently appear in interviews for software-development roles, especially when candidates mention Java, C++ or similar object-oriented languages.

How much SQL should a fresher know?

At minimum, become comfortable with SELECT, WHERE, ORDER BY, GROUP BY, aggregate functions, joins and basic subqueries.

Do interviewers ask data-structure questions?

They can, particularly for software-development roles. The difficulty depends on the position and organization.

Should I memorize interview questions?

Use previous questions for practice, but focus on understanding the concepts. Interviewers can change the wording or ask follow-up questions.

What should I do when I cannot solve a coding problem?

Explain your approach, state your assumptions, work through a smaller example and discuss possible alternatives. Demonstrating your reasoning can be more useful than staying silent.

How should I prepare the day before an interview?

Revise the fundamentals, review your resume and project, practice a few representative coding and SQL problems, and avoid trying to learn an entirely new subject at the last minute.

Final Thoughts

A strong technical interview performance does not come from memorizing a list of definitions.

It comes from understanding the fundamentals well enough to explain them, apply them and discuss the trade-offs involved.

Focus on the concepts that form the foundation of software development:

OOP + SQL + DBMS + Data Structures + Algorithms + Programming Fundamentals

Then practice explaining what you know in your own words.

When an interviewer asks a follow-up question, slow down, think through the problem and communicate your reasoning.

For freshers, that combination of technical knowledge, problem-solving ability and clear communication is often more valuable than trying to memorize every question ever asked in an interview.

Disclaimer: Interview questions and difficulty levels vary between companies, roles, locations, hiring programs and interviewers. The concepts covered here are common technical fundamentals for IT and software roles, but no particular question is guaranteed to appear in an interview.

No comments:

Post a Comment