Interview Important Question
Interview Important Question
Over the past two years, I have worked on various projects, including a recruitment platform, a
hackathon management system, and a biodata collection system for community matchmaking.
Through these experiences, I have gained expertise in JavaScript, React.js, Node.js,
Express.js, MongoDB, and PHP. I have also worked with cloud services like AWS and
databases like MySQL and Firebase.
Apart from my technical skills, I enjoy solving coding problems and have a keen interest in web
technologies. I am always eager to learn and adapt to new technologies. I am excited about the
opportunity at Wipro, where I can apply my skills, contribute to meaningful projects, and
continue growing as a software engineer.
Another challenge was implementing secure user authentication in my projects, like the
hackathon management system. I had to ensure that user data remained safe while allowing
smooth login and signup processes. I overcame this by implementing JWT-based
authentication, password hashing using bcrypt, and proper API security measures.
I also faced challenges in making a recruitment process layout fully responsive. Since it had a
sequence of cards and arrows connecting them, adjusting the layout dynamically across
different screen sizes was tricky. I solved this by using CSS flexbox and grid along with media
queries to ensure smooth responsiveness.
**As for my least favorite subject, I’d say *Theory-heavy subjects like Software Project
Management*. While I understand its importance in planning and executing projects, I
personally enjoy hands-on coding and problem-solving more than theoretical frameworks and
documentation. However, I still make an effort to understand the key concepts because they are
essential for working in a structured development environment."**
Ans)Platform Independence – Java follows the "Write Once, Run Anywhere" (WORA) principle,
meaning Java programs can run on any system with a Java Virtual Machine (JVM), making it
highly portable.
Automatic Memory Management – Java has a built-in garbage collector that automatically
handles memory allocation and deallocation, reducing the chances of memory leaks.
Multithreading Support – Java allows multiple threads to run simultaneously, improving the
efficiency of applications, especially in tasks like gaming, animations, and real-time processing.
Security – Java provides built-in security features like bytecode verification, exception handling,
and access control mechanisms, making it a safe and reliable language for development.
Q6)Questions on oops
i)inheritance and its types
Ans)Inheritance is one of the fundamental concepts of Object-Oriented Programming (OOPs). It
allows a class (child class) to acquire the properties and behaviors of another class (parent
class). This promotes code reusability and helps in building a hierarchical relationship between
classes.
Single Inheritance
Example:
class Parent {
Multilevel Inheritance
A class inherits from another class, which is itself inherited from another class.
Example:
class GrandParent {
}
Hierarchical Inheritance
Example:
class Parent {
Java does not support multiple inheritance with classes to avoid ambiguity issues.
interface A {
void methodA();
interface B {
void methodB();
class C implements A, B {
public void methodA() { System.out.println("Method A"); }
Since Java doesn’t support multiple inheritance directly with classes, hybrid inheritance is
achieved using interfaces.
Ans)A constructor is a special method in Java that is used to initialize objects. It is called
automatically when an object is created. The constructor name must be the same as the class
name, and it does not have a return type (not even void).
Example:
class Student {
}
}
Output:
2. Parameterized Constructor
Used when we need to initialize an object with specific values at the time of creation.
Example:
class Student {
String name;
int age;
// Parameterized Constructor
Student(String n, int a) {
name = n;
age = a;
void display() {
obj1.display();
Output:
Name: Rahul, Age: 22
3. Copy Constructor
A constructor that creates a new object by copying the values of another object.
Example:
class Student {
String name;
int age;
// Parameterized Constructor
Student(String n, int a) {
name = n;
age = a;
// Copy Constructor
Student(Student s) {
name = s.name;
age = s.age;
void display() {
}
public static void main(String[] args) {
obj2.display();
Output:
4. Private Constructor
Example:
class Singleton {
// Private Constructor
private Singleton() {
if (instance == null) {
}
return instance;
Output:
(Even though we call getInstance() twice, the constructor runs only once, proving it's a
singleton.)
1. Abstraction in Java
Abstraction is an OOP concept that hides implementation details and shows only the necessary
functionality to the user. It helps in reducing complexity and increasing code reusability.
An abstract class is a class that cannot be instantiated (i.e., you can't create objects of it).
It is used when multiple classes share a common behavior but need different implementations.
Example:
System.out.println("This is a vehicle.");
void start() {
void start() {
Interface in Java
An interface is a blueprint of a class that contains only abstract methods (until Java 8, where
default methods were introduced).
Interfaces provide full abstraction because they don’t contain concrete methods (except
default/static methods).
Example:
interface Animal {
System.out.println("Dog barks");
A virtual function is a concept from C++ where a function is declared in a base class and
overridden in a derived class.
This enables Runtime Polymorphism (Dynamic Method Dispatch), where the method that gets
called is determined at runtime.
class Parent {
Q)Wrapper class
ans)Wrapper Class in Java
Me:
A Wrapper Class in Java is used to convert primitive data types (int, char, float, etc.) into
objects. Since Java is an object-oriented language, sometimes we need to work with objects
instead of primitive types—this is where wrapper classes come in.
For each primitive type, Java provides a corresponding wrapper class in the java.lang
package:
int Integer
char Character
byte Byte
short Short
long Long
float Float
double Double
boolean Boolean
}
Output:
Wrapper Object: 10
Primitive Value: 10
Me:
Java provides autoboxing and unboxing to automatically convert between primitives and their
wrapper class objects.
Example:
Output:
Autoboxed: 20
Unboxed: 20
Why Are Wrapper Classes Needed?
○ Primitive types (int, float, etc.) cannot be null, but wrapper objects
(Integer, Float, etc.) can.
3. Utility Methods
Me:
Sure!
Think of a primitive type as raw materials (like iron rods). But to use them in construction,
we need to wrap them inside a concrete structure (objects). Similarly, wrapper classes wrap
primitive types to make them more useful in Java’s object-oriented environment.
**Me:**
Threading in Java refers to the process of executing multiple tasks **simultaneously** within a
program. It helps in **multitasking** by allowing different parts of a program to run
**independently**, making applications faster and more efficient.
In Java, a **thread** is the smallest unit of execution. The **Java Thread Model** is based on
the concept of **multithreading**, which means running multiple threads **at the same time**
within a single program.
---
3. **Responsive Applications** – Used in games, animations, and GUI applications (like Android
apps).
---
```java
System.out.println("Thread is running...");
}
```
**Output:**
```
Thread is running...
```
✅ Simple to implement
❌ Cannot extend another class because Java **does not support multiple inheritance**
---
```java
System.out.println("Thread is running...");
}
```
**Me:**
Example:
- In a web browser, you can **download a file** while **browsing a website** at the same time.
- In a video game, **game logic, background music, and user input** all run as separate
threads.
---
**Me:**
When multiple threads **access the same resource**, there is a risk of data inconsistency.
**Synchronization** ensures that only **one thread at a time** can access a shared resource.
Example of Synchronization:
```java
class Counter {
count++;
}
return count;
});
});
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
```
**Output:**
```
```
---
|---------|--------|--------|
| Memory | Has separate memory | Shares memory with other threads in the process |
---
**Me:**
Exception Handling in Java is a **mechanism to handle runtime errors** so that the program
**doesn’t crash unexpectedly** and can continue execution smoothly.
---
```java
int a = 10, b = 0;
```
🔴 **Output:**
```
```
---
---
### **Handling Exceptions Using try-catch**
```java
try {
int a = 10, b = 0;
} catch (ArithmeticException e) {
System.out.println("Program continues...");
```
✅ **Output:**
```
Program continues...
```
✅ **Example:**
```java
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
try {
} catch (IOException e) {
```
---
- Exceptions that occur **at runtime** and are **not checked by the compiler**.
✅ **Example:**
```java
System.out.println(str.length()); // NullPointerException
```
---
```java
try {
int a = 5 / 0;
} catch (ArithmeticException e) {
System.out.println("Exception caught!");
} finally {
```
✅ **Output:**
```
Exception caught!
```
---
|------------|----------|-----------|
✅ **Example of `throw`:**
```java
System.out.println("Eligible to vote");
```
✅ **Example of `throws`:**
```java
import java.io.*;
try {
readFile();
} catch (IOException e) {
```
---
**Me:**
- If you **enter the wrong PIN**, the machine **doesn’t crash**, it shows an error message
instead.
- If there are **insufficient funds**, the machine **handles the error gracefully** by showing a
proper message instead of stopping.
---
**Me:**
---
---
Normalization follows a step-by-step process called **normal forms (NF)**. The most commonly
used forms are **1NF, 2NF, 3NF, and BCNF**.
|-----------|--------|----------------|
|-----------|--------|---------|
|1 | Rahul | Math |
|1 | Rahul | Science |
|2 | Priya | English |
|2 | Priya | Science |
🔹 Now **each column has atomic values**, and data is properly structured.
---
1. Must be in **1NF**.
2. **No partial dependency** (i.e., a non-key column should depend on the entire primary key,
not just part of it).
|---------|----------|-------------|------------|-------------|
|1 | P1 | Laptop | C1 | Alice |
|2 | P2 | Phone | C2 | Bob |
🔴 **Problem:**
- **ProductName depends only on ProductID**, not on OrderID.
| ProductID | ProductName |
|----------|-------------|
| P1 | Laptop |
| P2 | Phone |
**Customer Table**
| CustomerID | CustomerName |
|------------|-------------|
| C1 | Alice |
| C2 | Bob |
**Orders Table**
|---------|----------|------------|
|1 | P1 | C1 |
|2 | P2 | C2 |
🔹 **Now, all non-key columns fully depend on the primary key**.
---
1. Must be in **2NF**.
2. **No transitive dependency** (i.e., non-key columns should not depend on other non-key
columns).
|------------|------|-------------|---------------|
| 101 | John | D1 | IT |
| 102 | Mary | D2 | HR |
🔴 **Problem:**
- **DepartmentName depends on DepartmentID**, not on EmployeeID.
| 101 | John | D1 |
| 102 | Mary | D2 |
**Department Table**
| DepartmentID | DepartmentName |
|-------------|---------------|
| D1 | IT |
| D2 | HR |
|-----------|--------|----------|
|1 | Math | Mr. A |
|2 | Science | Mr. B |
|1 | Science | Mr. C |
🔴 **Problem:**
- **A teacher teaches only one course**, but this is not properly enforced.
| StudentID | Course |
|-----------|--------|
|1 | Math |
|2 | Science |
**Course_Teacher Table**
| Course | Teacher |
|--------|--------|
| Math | Mr. A |
| Science | Mr. B |
---
**Me:**
Anomalies occur when a database is **not normalized**, leading to **data inconsistency**. The
three main anomalies are:
1. **Insertion Anomaly** – New data **cannot be added** without unnecessary data.
---
**Me:**
Polymorphism in Java is one of the key **Object-Oriented Programming (OOP)** concepts that
allows a **single method or function to behave differently based on the object that calls it**. It
means "**one name, multiple forms**."
---
### ** 🔹 Types of Polymorphism in Java**
Polymorphism in Java is mainly of two types:
---
- Achieved using **method overloading**, where multiple methods in the same class have the
**same name** but **different parameters** (different number or types of arguments).
class MathOperations {
return a + b;
return a + b + c;
}
```
🔹 **Here, the method name `add` is the same, but the parameters are different.**
---
- The method to be executed is decided **at runtime**, based on the object reference.
// Parent class
class Animal {
void sound() {
System.out.println("Animals make sounds");
// Child class
@Override
void sound() {
System.out.println("Dog barks");
```
🔹 **Here, the `sound()` method is overridden in the `Dog` class, and the method call is
resolved at runtime.**
---
|-----------------|------------------|------------------|
---
**This is Polymorphism!** 🎮
---
Polymorphism improves **code reusability, flexibility, and maintainability** by allowing the same
method to behave differently based on the object that calls it. It helps in writing **clean and
scalable** code.
Q) Array List and LinkedList
Ans)ArrayList vs. LinkedList in Java
Me:
Both ArrayList and LinkedList are implementations of the List interface in Java, but they have
different internal structures and performance characteristics.
🔹 ArrayList in Java
ArrayList is a resizable array-based implementation of the List interface.
It stores elements contiguously in memory, like an array, but dynamically grows when needed.
Slow Insertions & Deletions (O(n)) – Adding/removing elements in the middle requires shifting
elements.
✅ Example of ArrayList
java
Copy
Edit
import java.util.ArrayList;
list.add("Banana");
list.add("Cherry");
🔹 LinkedList in Java
LinkedList is a doubly linked list implementation of the List interface.
Each element (node) contains data + a reference to the next and previous nodes.
Slow Random Access (O(n)) – Must traverse nodes one by one to find an element.
More Memory Usage – Stores extra pointers for next and previous nodes.
✅ Example of LinkedList
java
Copy
Edit
import java.util.LinkedList;
list.add("Car");
list.add("Bike");
list.add("Bus");
Insertion/Deletion (Middle) O(n) (Slow - Shifting required) O(1) (Fast - Only pointer
updates)
Insertion/Deletion (Start/End)O(1) for end, O(n) for start O(1) for start & end
Memory Usage Less (Only stores data) More (Stores data + pointers)
Me:
Binary Search is an efficient searching algorithm used to find an element in a sorted array.
It follows the divide and conquer approach by repeatedly dividing the search space in half.
🎯
2. Compare the target value with the middle element:
🔍⬅
○ If it's equal, return the index.
🔍➡
○ If it's smaller, search the left half.
○ If it's larger, search the right half.
3. Repeat until the element is found or the search space becomes empty.
🔹 Output:
Element found at index 4
✅ Recursive Approach
public class BinarySearchRecursive {
public static int binarySearch(int[] arr, int left, int right, int target) {
else if (arr[mid] < target) return binarySearch(arr, mid + 1, right, target); // Search right half
🔹 Space Complexity:
● Iterative Approach: O(1) (No extra space used).
● Recursive Approach: O(log n) (Stack space for recursion calls).
✅
🚀
● The array is sorted.
● You need fast searching (O(log n) is better than O(n)).
❌
● The array is unsorted (Sorting takes O(n log n), making it inefficient).
● Searching happens frequently in a changing dataset (LinkedList, HashSet might be
better).
🔹 Real-Life Analogy 📖
Binary Search is like finding a word in a dictionary 📚.
● Open the middle page and check.
● If the word is earlier, go left.
● If it's later, go right.
● Keep repeating until you find the word!
🔹
Q)Collection of framework
Ans) Java Collection Framework, HashMap & HashSet
Me:
The Java Collection Framework (JCF) is a set of classes and interfaces that help store,
manipulate, and manage groups of objects efficiently.
🔹 Features of HashMap
1. Stores key-value pairs ((K, V)).
2. Allows one null key and multiple null values.
3. Unordered – Does not maintain insertion order.
4. Fast retrieval – Average time complexity is O(1).
5. Uses hashing (Each key is converted into a hash code for quick lookups).
✅ Example of HashMap
import java.util.HashMap;
// Adding elements
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Cherry");
🔹 Features of HashSet
1. Stores only unique elements.
2. Does not maintain insertion order.
3. Allows null values (only one null is allowed).
4. Fast operations – Uses hashing for quick insertions, deletions, and lookups.
5. Time Complexity – O(1) for add, remove, contains (on average).
✅ Example of HashSet
import java.util.HashSet;
public class Main {
// Adding elements
set.add("Apple");
set.add("Banana");
set.add("Cherry");
// Printing HashSet
Order Maintained? ❌ No ❌ No
Use Case When you need key-value When you need unique
pairs elements
🔹 Real-Life Analogy
📖
📝
● HashMap → Dictionary (Word → Meaning)
● HashSet → Attendance List (Each student’s name appears only once)
🔹
Q)SQL joins explain
Ans) SQL Joins Explained (with Examples)
Me:
In SQL, JOIN is used to combine data from two or more tables based on a related column
between them.
✅ Example Tables
Let's consider two tables:
🔹 Employees Table
emp_id name dept_id
1 Alice 101
2 Bob 102
3 Charlie 103
4 David NULL
🔹 Departments Table
dept_id dept_nam
e
101 HR
102 IT
104 Finance
FROM Employees
ON Employees.dept_id = Departments.dept_id;
🔹 Output
nam dept_nam
e e
Alice HR
Bob IT
❌ David (NULL dept_id) and Charlie (103) are not included because they have no match in
the Departments table.
FROM Employees
ON Employees.dept_id = Departments.dept_id;
🔹 Output
name dept_nam
e
Alice HR
Bob IT
Charlie NULL
David NULL
💡 Charlie (103) and David (NULL) are included with NULL values because there's no
matching department.
FROM Employees
ON Employees.dept_id = Departments.dept_id;
🔹 Output
name dept_nam
e
Alice HR
Bob IT
NULL Finance
FROM Employees
ON Employees.dept_id = Departments.dept_id;
🔹 Output
name dept_nam
e
Alice HR
Bob IT
Charlie NULL
David NULL
NULL Finance
FROM Employees
Alice HR
Alice IT
Alice Finance
Bob HR
Bob IT
Bob Finance
Charlie HR
Charlie IT
Charlie Finance
David HR
David IT
David Finance
💡 Every row from Employees is paired with every row from Departments.
FROM Employees A
JOIN Employees B
ON A.manager_id = B.emp_id;
LEFT JOIN Returns all left table rows + matching right table rows
RIGHT JOIN Returns all right table rows + matching left table rows
FULL JOIN Returns all rows from both tables, NULL for non-matching
🔹 Real-Life Analogy
Imagine Employees (Table 1) & Departments (Table 2):
✅
🏢❌
● INNER JOIN → Employees who have a department.
📂❌
● LEFT JOIN → All Employees, even if some don’t have a department.
🎯
● RIGHT JOIN → All Departments, even if some don’t have employees.
● FULL JOIN → Everyone & Every Department, matched or not!
_"As a fresher, I bring a strong foundation in MERN stack development, problem-solving, and
a passion for learning. My experience working on real-world projects like Bimra (recruitment
platform), Baba Construction (business website), and HACKVORTEX (hackathon
platform) has given me practical exposure to full-stack development, authentication, and
database management.
I am also a quick learner and adaptable to new technologies, which I demonstrated while
working with different tech stacks, including React, Node.js, PHP, MySQL, and MongoDB. My
ability to debug issues, write clean code, and optimize performance makes me a good fit for
this role.
Moreover, I have strong problem-solving skills, which I have developed through my projects
and competitive coding experience. I am eager to contribute to Wipro's innovative projects,
grow as a software engineer, and be a valuable asset to the team."_
🔹
Q)Explain 4 pillar of roops
Ans) Four Pillars of OOP (Object-Oriented Programming)
The four pillars of OOP are Encapsulation, Abstraction, Inheritance, and Polymorphism.
These concepts help in designing efficient, reusable, and scalable software.
this.name = name;
return name;
emp.setName("Alice");
🔹 Benefits:
✔️ Protects data from unauthorized access
✔️ Improves security & data integrity
✔️ Reduces complexity by hiding implementation details
void start() {
}
public class Main {
🔹 Benefits:
✔️ Reduces complexity by showing only necessary details
✔️ Improves code reusability
✔️ Helps in designing scalable systems
🔹 Example:
class Animal {
void sound() {
}
// Dog class inherits from Animal
void bark() {
System.out.println("Dog barks");
🔹 Benefits:
✔️ Promotes code reuse, reducing redundancy
✔️ Improves maintainability & scalability
✔️ Establishes relationships between classes
🔹 Types of Polymorphism:
✅ Compile-time (Method Overloading) – Multiple methods with same name but different
✅ Runtime (Method Overriding) – A subclass redefines a method from its parent class.
parameters.
🔹 Example of Method Overloading (Compile-time Polymorphism)
class MathOperations {
return a + b;
return a + b + c;
void sound() {
}
}
@Override
void sound() {
System.out.println("Meow Meow");
🔹 Benefits:
✔️ Improves code flexibility
✔️ Enables dynamic method invocation
✔️ Supports extensibility in large applications
🔹 Summary Table
OOP Principle Definition Key Benefits
Encapsulation Hides data using private variables and Protects data, improves security
allows access through methods.
Abstraction Hides complex logic and exposes only Reduces complexity, improves
essential details. code reusability
Encapsulation Car engine is hidden inside the body (you only use the accelerator &
brakes).
Abstraction You start a car with a button without knowing the internal wiring.
Inheritance A sports car inherits features from a generic car but adds its own speed
boost.
Polymorphis A car's brake() function works differently for a sedan vs. a sports car.
m
Conclusion
These four pillars of OOP help in building modular, maintainable, and reusable software. They
are the foundation of Java, C++, Python, and many other languages.
✅
Handles multiple requests simultaneously
Improves performance for high-traffic applications
✅
JavaScript code executes at high speed
Best for applications requiring quick responses
Example:
In HACKVORTEX (Hackathon Platform), where students submit ideas, Node.js helped
process form submissions and database updates quickly.
✅
Full-stack development using JavaScript (Frontend + Backend)
Easy to maintain and scale
Example:
I used React.js on the frontend and Node.js with Express.js on the backend, ensuring
smooth data flow in projects like Baba Construction & Kalchuri Bio Data Portal.
✅
Supports WebSockets for real-time features
Ideal for chat apps, notifications, and live updates
Example:
In BINGO (Game App), I needed real-time data sync, and Node.js made it possible with
WebSockets.
✅
Works well with NoSQL (MongoDB) and SQL databases
Uses Mongoose for MongoDB and Sequelize for MySQL
Example:
In Kalchuri Bio Data Portal, I used Node.js with MongoDB to store biodata and retrieve it
efficiently for admin review.
✅
Best for REST APIs & GraphQL
Lightweight & modular structure
Example:
For Bimra, I developed a REST API in Node.js to manage job applications, user
authentication, and admin controls.
Conclusion
I chose Node.js because it offers speed, scalability, and a unified JavaScript environment
for full-stack development. Its asynchronous nature and support for real-time
applications make it perfect for the kind of projects I’ve built.
Q)A situation question when you had to complete a task but your team doesn’t work hard
to complete it
🔹 Situation (S)
During the development of HACKVORTEX (Hackathon Platform), my team was
responsible for completing the participant registration system. However, as the deadline
approached, some team members weren’t putting in enough effort due to other academic
commitments.
🔹 Task (T)
Since the registration system was a critical feature, it had to be completed on time to
ensure participants could submit their details and ideas properly.
🔹 Action (A)
✅ Took Initiative – I broke down the tasks into smaller modules and assigned simpler
✅ Motivated the Team – I explained the importance of the project and how it would
ones to teammates based on their strengths.
✅ Led by Example – I worked extra hours, provided clear documentation, and regularly
enhance our skills and help in our careers.
✅ Used Git for Collaboration – I streamlined the process using GitHub, making it easier
checked in with team members to help them if they were stuck.
🔹 Result (R)
✔️ We successfully completed the registration system on time.
✔️ The project was deployed and worked smoothly during the hackathon.
✔️ My leadership and problem-solving skills helped me gain my team’s trust, and we
learned how to handle tight deadlines.
Key Takeaway:
I learned that in such situations, taking initiative, breaking tasks into manageable parts,
😊
and motivating the team can drive results. Would you like me to refine this answer further
for the Wipro interview?
In the next five years, I see myself growing into a skilled software engineer, continuously
learning and contributing to impactful projects. My focus will be on full-stack
development, cloud computing, and scalable systems.
Q)Why Wipro
Ans)Why Wipro?
I want to join Wipro because it is a global leader in technology and innovation, offering a
great platform for learning and career growth. As a fresher, I am looking for a company
that provides challenging projects, skill development opportunities, and a strong work
culture, and Wipro aligns perfectly with my aspirations.
technologies.
to society.
Conclusion
Wipro is the perfect place for me to start my career, learn from experienced
professionals, and contribute to meaningful projects. I am excited about the opportunity
to be part of such an innovative and growth-oriented organization.
✅ Strengths:
1️⃣ Quick Learner & Adaptability:
● I enjoy solving logical problems and optimizing code for better efficiency.
● In HACKVORTEX, I optimized database queries, improving form submission speed
significantly.
3️⃣ Team Player & Collaboration:
Conclusion:
🔹 Situation (S):
During the development of HACKVORTEX, our team was responsible for building the
hackathon registration platform. The challenge was that we had a tight deadline and
needed smooth coordination between frontend, backend, and database teams.
🔹 Task (T):
My role was to work on the backend (Node.js, MongoDB) and ensure that user
registrations were securely stored while providing real-time updates to the frontend.
🔹 Action (A):
✅ Clear Communication: I coordinated with the frontend team to define API
✅ Task Delegation: We divided the work based on expertise—one member handled
requirements and ensured smooth data flow.
✅
development.
Problem-Solving: Midway, we faced an issue with slow form submissions. I optimized
✅
the queries and suggested indexing in MongoDB, which improved performance.
Collaboration Using Git: We used GitHub for version control, ensuring that
everyone’s code merged smoothly.
🔹 Result (R):
✔️ The registration system was completed before the deadline and worked efficiently
✔️ Our teamwork ensured smooth coordination, quick debugging, and better
during the hackathon.
Key Takeaway:
WILP (Work Integrated Learning Program) is a Wipro initiative designed for B.Sc. and
BCA graduates to pursue higher education while working at Wipro. It allows students to
earn a Master’s degree (M.Tech) from a reputed university while gaining practical work
experience.
🔹 Eligibility Criteria
● Education: B.Sc. (CS, IT, Math, Stats, Electronics) / BCA graduates
● Academics: Minimum 60% in 10th, 12th, and Graduation
● Other Requirements:
○ No standing arrears
○ Year of passing: Recent graduates
🔹 Selection Process
1️⃣ Online Assessment – Covers Aptitude, Verbal, Logical, and Basic Coding
2️⃣ Business Discussion (Technical & HR Interview) – Evaluates problem-solving skills,
technical knowledge, and communication
🔹 Conclusion
Wipro WILP is a great initiative for students who want to pursue higher education while
working in the IT industry. It provides a strong career foundation, industry exposure, and
financial independence.
Q)what are your core subject in acadamic
Recovery Program cannot recover from an Program can recover from an exception
error. if handled properly.
Example of an Exception
try {
} catch (ArithmeticException e) {
💡 Explanation: This will catch ArithmeticException and prevent the program from
crashing.
Key Takeaway:
● Errors are serious issues that crash the program (mostly system-related).
● Exceptions are recoverable issues that can be handled using try-catch.
Wipro (Western India Palm Refined Oils Limited) is a leading global IT services company
headquartered in Bangalore, India. It provides technology consulting, business process
outsourcing (BPO), and digital transformation services to clients across various
industries.
● Works with Fortune 500 companies in banking, healthcare, retail, and IT.
● Partners with Microsoft, AWS, Google Cloud, and Salesforce for digital
transformation.
💡 Global Work Culture – The company’s diverse and inclusive environment is inspiring.
🔹 Conclusion
Wipro is not just an IT company—it is a technology leader that focuses on innovation,
sustainability, and career growth. I see Wipro as the perfect place to start my career, gain
expertise, and contribute to meaningful projects.
Q)Triggers in Sql
Ans)Triggers in SQL (Wipro Interview Answer)
A Trigger in SQL is a special type of stored procedure that automatically executes when a
specific event (INSERT, UPDATE, DELETE) occurs on a table.
🔹 Types of Triggers
Trigger Type When It Executes Use Case
BEFORE Trigger Before Modify or validate data before
INSERT/UPDATE/DELETE saving.
BEGIN
END;
Number of Keys in Only one primary key per Can have multiple foreign keys in
a Table table. a table.
🔹 Example
1️⃣ Primary Key Example (Students Table)
CREATE TABLE Students (
name VARCHAR(50),
age INT
);
● student_id is the Primary Key, ensuring each student has a unique ID.
student_id INT,
course_name VARCHAR(50),
);