i
Infosys
Work with us
Filter interviews by
A profiler is a tool that analyzes program performance, helping developers identify bottlenecks and optimize code efficiency.
Profiles CPU usage to identify slow methods (e.g., identifying a method that takes 80% of execution time).
Tracks memory usage to find memory leaks (e.g., detecting objects that are not being garbage collected).
Analyzes thread activity to spot concurrency issues (e.g., identifying deadlocks o...
MVC architecture separates application logic into three interconnected components: Model, View, and Controller.
Model: Represents the data and business logic (e.g., a User class in a web application).
View: Displays the data to the user (e.g., HTML/CSS templates).
Controller: Handles user input and updates the Model and View accordingly (e.g., a servlet in Java).
Promotes separation of concerns, making applications ea...
Clonable is an interface in Java that allows objects to be cloned, creating a copy of an instance.
Interface Definition: Clonable is a marker interface in Java, indicating that a class allows its objects to be cloned.
Clone Method: The clone() method is defined in the Object class and must be overridden to provide a proper cloning mechanism.
Shallow vs Deep Copy: Cloning can be shallow (copying references) or deep (c...
Java 21 introduces new features enhancing performance, developer productivity, and language capabilities for modern applications.
Pattern Matching for Switch: Simplifies coding by allowing patterns to be used in switch statements, improving readability. Example: 'switch (obj) { case String s -> ...; }'
Record Patterns: Enhances the use of records by allowing destructuring in pattern matching, making it easier to ...
Wrapper classes in Java provide a way to use primitive data types as objects, enabling additional functionality and methods.
Primitive to Object Conversion: Wrapper classes allow primitive types (e.g., int, char) to be treated as objects. Example: Integer myInt = new Integer(5);
Utility Methods: They provide utility methods for converting between types. Example: Integer.parseInt('123') converts a String to an int.
Nu...
Custom sorting in Java can be achieved using Comparator and Comparable interfaces for flexible sorting logic.
Using Comparable: Implement the Comparable interface in your class and override the compareTo method to define natural ordering. Example: public int compareTo(Person p) { return this.age - p.age; }
Using Comparator: Create a separate Comparator class or use a lambda expression to define custom sorting logic....
A functional interface in Java is an interface with a single abstract method, enabling the use of lambda expressions.
Single Abstract Method (SAM): A functional interface contains exactly one abstract method, which can be implemented using a lambda expression.
Common Examples: Common functional interfaces in Java include Runnable, Callable, Comparator, and Consumer.
Lambda Expressions: Functional interfaces enable th...
A hash collision occurs when two different inputs produce the same hash value in a hash function, leading to potential data integrity issues.
Definition: A hash collision happens when two distinct inputs yield the same hash output, which can compromise data integrity.
Example: If both 'apple' and 'banana' hash to the same value, a collision occurs, making it difficult to distinguish between them.
Impact: Collisions c...
Inheritance allows a class to inherit properties and methods from another class, promoting code reusability and organization.
Inheritance enables a new class (subclass) to inherit attributes and methods from an existing class (superclass).
Example: If 'Animal' is a superclass, 'Dog' can be a subclass that inherits properties like 'species' and methods like 'makeSound()'.
It supports the concept of 'is-a' relationship...
Java is a high-level, object-oriented programming language designed for portability and ease of use across platforms.
Platform-independent: Write once, run anywhere (WORA) - Java code can run on any device with a Java Virtual Machine (JVM).
Object-oriented: Supports concepts like inheritance, encapsulation, and polymorphism, promoting code reusability.
Rich API: Java provides a comprehensive set of libraries for task...
I appeared for an interview in Feb 2025.
Spring Boot's default server is Tomcat, but you can easily switch to others like Jetty or Undertow.
Spring Boot uses Tomcat as the default embedded server.
To use Jetty, add the dependency: 'spring-boot-starter-jetty' in your pom.xml.
For Undertow, include 'spring-boot-starter-undertow' in your dependencies.
You can exclude Tomcat by adding 'exclude = {Tomcat.class}' in your @SpringBootApplication annotation.
Spring Boot's default port is 8080, and it can be changed via application properties or command line arguments.
Default port: 8080.
Change via application.properties: server.port=9090.
Change via command line: java -jar app.jar --server.port=9090.
Change via YAML: server: port: 9090
The Optional class is a container that may or may not hold a non-null value, helping to avoid NullPointerExceptions.
Introduced in Java 8 to represent optional values.
Helps in avoiding null checks and NullPointerExceptions.
Methods include isPresent(), ifPresent(), orElse(), and orElseGet().
Example: Optional<String> name = Optional.ofNullable(getName());
Example: name.ifPresent(n -> System.out.println(n));
Optional.of() throws an exception for null, while Optional.ofNullable() allows null values, returning an empty Optional.
Optional.of(T value): Requires a non-null value; throws NullPointerException if value is null.
Example: Optional<String> opt = Optional.of('Hello'); // valid
Optional.ofNullable(T value): Accepts null values; returns Optional.empty() if value is null.
Example: Optional<String> opt = Optional....
Receiving negative feedback is an opportunity for growth; I approach it with an open mind and a willingness to improve.
Listen actively to the feedback without interrupting, showing respect for the manager's perspective.
Ask clarifying questions to fully understand the feedback and the areas needing improvement.
Reflect on the feedback and identify specific actions I can take to address the concerns raised.
Create a plan t...
My short-term goal is to enhance my Java skills, while my long-term goal is to lead projects and mentor junior developers.
Short-term: Master advanced Java frameworks like Spring and Hibernate to improve my development efficiency.
Short-term: Contribute to open-source projects to gain real-world experience and collaborate with other developers.
Long-term: Aim for a leadership role where I can guide teams in best practices...
I applied via Company Website and was interviewed in Nov 2024. There were 2 interview rounds.
Creating a Spring Boot controller involves defining endpoints, handling requests, and returning responses.
1. Set up a Spring Boot project using Spring Initializr or your IDE.
2. Add necessary dependencies in 'pom.xml' or 'build.gradle'. Example: 'spring-boot-starter-web'.
3. Create a controller class annotated with '@RestController'.
4. Define request mapping using '@RequestMapping' or specific annotations like '@GetMappi...
This program identifies and extracts characters from a string that appear two or more times using Java 8 features.
Use a Map to count occurrences of each character. Example: 'baseball' -> {b=1, a=2, s=1, e=1, l=2}
Filter the Map to find characters with a count of 2 or more. Result: ['a', 'l']
Use Java Streams to simplify the process and collect results into a List.
Convert the List to a String format with characters sep...
Yes, I am open to relocating for the right opportunity to advance my career and contribute effectively to the team.
Relocation can provide new experiences and professional growth.
I have previously relocated for a job, which helped me expand my network.
I am adaptable and can quickly adjust to new environments.
I understand the importance of being present in the workplace for collaboration.
I am leaving my previous organization to seek new challenges and opportunities for professional growth in a dynamic environment.
Desire for career advancement: I am looking for a role that offers more opportunities for growth and learning.
Seeking new challenges: I want to work on more complex projects that push my skills further.
Cultural fit: I believe that a different organizational culture may align better with my val...
Current company may have different priorities, budget constraints, existing systems, or may not see the immediate need for the technology.
Different priorities: Company may be focusing on other projects or technologies that are deemed more important at the moment.
Budget constraints: Implementing new technology can be costly and the company may not have the budget for it.
Existing systems: Company may already have systems...
The company has chosen not to utilize XYZ technology due to budget constraints and compatibility issues.
Budget constraints may have limited the company's ability to invest in new technologies.
Compatibility issues with existing systems may have prevented the adoption of XYZ technology.
The company may have determined that the benefits of XYZ technology do not outweigh the costs of implementation.
There may be alternative ...
I appeared for an interview in Sep 2024.
I applied via Company Website and was interviewed in Nov 2024. There were 2 interview rounds.
I applied via Company Website and was interviewed in Aug 2024. There were 2 interview rounds.
Annotations in @SpringBootApplication are used to configure the Spring Boot application.
Annotations like @SpringBootApplication are used to enable auto-configuration and component scanning in a Spring Boot application.
Other commonly used annotations include @RestController, @Service, @Repository, and @Component for defining different types of Spring beans.
Annotations like @Autowired are used for dependency injection in...
Java 8 introduced several new features including lambda expressions, streams, functional interfaces, and default methods.
Lambda expressions allow for more concise code and easier parallel programming.
Streams provide a way to work with sequences of elements and perform operations such as filtering, mapping, and reducing.
Functional interfaces enable the use of lambda expressions and method references.
Default methods allo...
I applied via Naukri.com and was interviewed in Aug 2024. There were 3 interview rounds.
My expected CTC is based on my experience, skills, and the market rate for Java Developers.
My expected CTC is in line with industry standards for Java Developers.
I have considered my years of experience and expertise in Java development when determining my expected CTC.
I am open to negotiation based on the overall compensation package offered by the company.
I applied via Naukri.com and was interviewed in Nov 2024. There was 1 interview round.
What people are saying about Infosys
Some of the top questions asked at the Infosys Java Developer interview -
The duration of Infosys Java Developer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 127 interview experiences
Difficulty level
Duration
based on 135 reviews
Rating in categories
Technology Analyst
55.8k
salaries
| ₹4.8 L/yr - ₹11.1 L/yr |
Senior Systems Engineer
53.8k
salaries
| ₹2.5 L/yr - ₹6.3 L/yr |
Technical Lead
35.1k
salaries
| ₹9.4 L/yr - ₹16.4 L/yr |
System Engineer
32.5k
salaries
| ₹2.4 L/yr - ₹5.3 L/yr |
Senior Associate Consultant
31.1k
salaries
| ₹8.1 L/yr - ₹15 L/yr |
TCS
Wipro
Cognizant
Accenture