Filter interviews by
I applied via Company Website and was interviewed in Oct 2023. There were 2 interview rounds.
Top trending discussions
I applied via Referral and was interviewed before Aug 2023. There were 3 interview rounds.
Codd's rules are a set of 12 rules proposed by Edgar F. Codd to define what is required from a database management system to be considered relational.
Codd's rules were created to ensure that a database management system is truly relational.
Some of the key rules include the rule of data independence, rule of guaranteed access, and rule of comprehensive data sub-language.
An example of a Codd's rule is the rule of view up...
OLAP is used for analyzing and reporting complex data, while OLTP is used for transaction processing.
OLAP stands for Online Analytical Processing, used for data analysis and reporting.
OLTP stands for Online Transaction Processing, used for transactional operations.
OLAP deals with historical data and is read-heavy, while OLTP deals with current data and is write-heavy.
OLAP databases are optimized for complex queries and...
ETL stands for Extract, Transform, Load while ELT stands for Extract, Load, Transform.
ETL involves extracting data from source systems, transforming it, and then loading it into a data warehouse or data lake.
ELT involves extracting data from source systems, loading it into a data lake or data warehouse, and then transforming it as needed.
ETL is suitable for structured data while ELT is suitable for unstructured data.
ET...
DELETE removes specific rows from a table, DROP removes entire table, TRUNCATE removes all rows from a table.
DELETE is a DML command used to remove specific rows from a table based on a condition.
DROP is a DDL command used to remove an entire table along with its structure and data.
TRUNCATE is a DDL command used to remove all rows from a table but keeps the table structure intact.
DELETE is slower than TRUNCATE and DROP...
Windows Functions are built-in functions in SQL Server that perform operations on a set of rows and return a single aggregated value.
Used for performing calculations on a set of rows in a table
Commonly used functions include SUM, AVG, COUNT, MIN, MAX
Can be used with GROUP BY clause to group results based on a specific column
Example: SELECT SUM(sales) FROM sales_table WHERE year = 2021
Agile ceremonies are regular meetings or events in Agile methodology to facilitate communication and collaboration within the team.
Sprint Planning: Plan the work to be done in the upcoming sprint.
Daily Standup: Daily meeting to discuss progress, challenges, and plans for the day.
Sprint Review: Demo of completed work to stakeholders for feedback.
Sprint Retrospective: Reflect on the sprint and identify areas for improvem...
SQL query to find duplicate values in a scenario
Use the GROUP BY clause to group the values
Use the HAVING clause to filter out groups with count greater than 1
Select the columns with duplicate values
Use IS NULL or = '' to find NULL or BLANK values in SQL
Use IS NULL to find NULL values in a column
Use = '' to find BLANK values in a column
Example: SELECT * FROM table_name WHERE column_name IS NULL OR column_name = ''
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity.
Normalization involves breaking down data into smaller, more manageable parts.
It helps in reducing data redundancy by storing data in a structured manner.
Normalization ensures data integrity by avoiding anomalies like insertion, update, and deletion anomalies.
There are different normal forms like 1NF, 2NF, 3NF,...
The candidate is asked to write the outputs for all joins from a given scenario.
Inner join: Returns rows when there is a match in both tables
Left join: Returns all rows from the left table and the matched rows from the right table
Right join: Returns all rows from the right table and the matched rows from the left table
Full outer join: Returns all rows when there is a match in either table
CRUD stands for Create, Read, Update, Delete - the four basic functions of persistent storage.
Create - testing the ability to create new resources through API calls
Read - testing the ability to retrieve existing resources from the API
Update - testing the ability to modify existing resources through API calls
Delete - testing the ability to remove resources from the API
Set operators are used in SQL to perform operations on sets of data, such as union, intersect, and except.
Union - combines the results of two or more SELECT statements, removing duplicates
Intersect - returns the common rows between two SELECT statements
Except - returns the rows that are in the first SELECT statement but not in the second SELECT statement
Constraints faced in Data Validation with illustrations
1. Format constraints: Ensuring data follows a specific format (e.g. date in MM/DD/YYYY format)
2. Range constraints: Validating data falls within a specified range (e.g. age between 18-65)
3. Mandatory constraints: Ensuring required fields are not empty (e.g. email address field)
4. Consistency constraints: Checking data consistency across multiple fields (e.g. start...
At my previous firm, my daily routine as a Software Test Engineer involved testing new features, reporting bugs, attending meetings, and collaborating with developers.
Testing new features and functionalities of the software
Reporting bugs and issues found during testing
Attending meetings with the development team to discuss progress and issues
Collaborating with developers to ensure smooth integration of new features
Writ
Test Improvement Process is a systematic approach to enhancing the efficiency and effectiveness of software testing.
Identifying areas of improvement in the testing process
Implementing changes to address the identified issues
Measuring the impact of the changes on testing outcomes
Continuously iterating and refining the testing process
Examples: introducing automation, improving test coverage, enhancing test data managemen
Defect Life Cycle is the process of identifying, reporting, fixing, retesting, and closing software defects.
Defect Identification: Defects are identified through testing or user feedback.
Defect Reporting: Defects are reported in a defect tracking tool with details like steps to reproduce, severity, and priority.
Defect Fixing: Developers fix the reported defects based on the information provided.
Defect Retesting: Tester...
Different validations in testing include input validation, boundary validation, error handling validation, and data validation.
Input validation ensures that the system accepts only valid inputs.
Boundary validation checks the system's behavior at the boundaries of valid input ranges.
Error handling validation verifies that the system handles errors gracefully.
Data validation ensures that the data processed by the system
Referential integrity is a database concept that ensures relationships between tables are maintained.
It ensures that foreign key values in one table match primary key values in another table.
It prevents orphaned records by enforcing constraints on relationships.
It helps maintain data consistency and accuracy.
Example: If a customer places an order, the customer ID in the orders table must exist in the customers table.
Data acquisition is the process of collecting and measuring information from various sources for analysis and storage.
Involves capturing data from sensors, instruments, or other devices
Can include sampling, digitizing, and processing data
Common in fields like scientific research, industrial automation, and environmental monitoring
Use SQL query with GROUP BY and HAVING clause to delete duplicate values
Use GROUP BY clause to group the records based on the columns that should not have duplicates
Use HAVING clause to filter out the groups that have more than one record
Use DELETE statement to remove the duplicate records
SQL queries are executed in a specific order to ensure accurate results.
SQL query is parsed to check syntax errors
Query optimizer creates an execution plan
Data is retrieved from tables based on the execution plan
Filters and joins are applied to the retrieved data
Aggregations and sorting are performed on the data
Results are returned to the user
DDL, DML, DCL, and TCL are different types of SQL commands used for database management.
DDL (Data Definition Language) is used to define the structure of database objects like tables, indexes, etc. Examples: CREATE, ALTER, DROP.
DML (Data Manipulation Language) is used to manipulate data in the database. Examples: INSERT, UPDATE, DELETE.
DCL (Data Control Language) is used to control access to data in the database. Examp...
Transactional data refers to real-time data related to business transactions, while Master Data is the core data that is essential to operations.
Transactional data is dynamic and changes frequently, such as sales orders, invoices, and payments.
Master Data is static and remains unchanged over time, such as customer information, product details, and employee records.
Developed a test automation framework for a web application using Selenium and Java
Designed and implemented test cases for various features of the web application
Utilized Selenium WebDriver to automate test scripts
Used Java programming language for writing test scripts
Integrated the test automation framework with continuous integration tools like Jenkins
Collaborated with developers to identify and resolve bugs in the a
Developed a test automation framework using Selenium for web application testing
Created test scripts in Java to automate regression testing
Integrated with Jenkins for continuous integration
Used Page Object Model design pattern for better code maintenance
posted on 28 Jun 2024
Code for traffic management
Data structure and algorithms
Group discussion on topic
I applied via Campus Placement and was interviewed in Dec 2023. There was 1 interview round.
One part numerical quantative coding 2 questions which is leetcode medium problem.
I applied via Naukri.com and was interviewed in Mar 2022. There were 2 interview rounds.
posted on 12 Oct 2024
I applied via Referral and was interviewed in Sep 2024. There were 3 interview rounds.
I was responsible for developing and maintaining software applications, debugging code, and collaborating with team members.
Developed and maintained software applications
Debugged code to identify and fix issues
Collaborated with team members on projects
Key features of Java 8 include lambda expressions, functional interfaces, streams, and default methods.
Lambda expressions allow for functional programming style in Java.
Functional interfaces enable the use of lambda expressions.
Streams provide a way to work with collections in a more functional way.
Default methods allow interfaces to have method implementations.
Multi-threading is a programming concept where multiple threads run concurrently within a single process.
Multi-threading allows for parallel execution of tasks, improving performance and responsiveness.
Used in applications that require handling multiple tasks simultaneously, such as web servers or video editing software.
Example: Implementing a multi-threaded server to handle multiple client requests concurrently.
Some compatible features of Java include platform independence, object-oriented programming, and automatic memory management.
Platform independence allows Java programs to run on any platform with a Java Virtual Machine (JVM)
Object-oriented programming allows for modular and reusable code through classes and objects
Automatic memory management with garbage collection helps manage memory allocation and deallocation
Java al...
ConcurrentModificationException occurs when a collection is modified while iterating over it.
Occurs in Java when a collection is modified while being iterated over
Can be resolved by using an Iterator to remove elements instead of directly modifying the collection
Alternatively, use synchronized collections or ConcurrentHashMap to avoid this exception
Spring Boot is a Java-based framework used to create standalone, production-grade Spring-based applications.
Spring Boot simplifies the process of creating and deploying Spring applications.
It provides a set of pre-configured tools and conventions to get started quickly.
Spring Boot includes embedded servers like Tomcat, Jetty, or Undertow for easy deployment.
It allows for easy configuration through properties files or Y...
Microservices are a software development technique where applications are composed of small, independent services that communicate with each other.
Microservices are small, focused services that work together to form a complete application
Each microservice is responsible for a specific function or feature
Microservices communicate with each other through APIs
Microservices can be developed, deployed, and scaled independen...
Yes, microservices can contain transactional data.
Microservices can handle transactional data by using distributed transactions or event sourcing.
Each microservice can manage its own database, which can include transactional data.
Microservices can communicate with each other to ensure consistency in transactional data.
Examples: E-commerce platform with separate microservices for inventory, orders, payments, etc.
Microservices can be updated with new data by using versioning, rolling updates, blue-green deployments, and canary releases.
Use versioning to manage different versions of microservices.
Implement rolling updates to gradually update instances without downtime.
Utilize blue-green deployments to switch between old and new versions seamlessly.
Employ canary releases to test new data on a small subset of users before full dep
Technologies like Kafka, RabbitMQ, and Apache Pulsar can be used to update microservices with data.
Kafka
RabbitMQ
Apache Pulsar
To configure login in Spring Boot, you can use Spring Security to handle authentication and authorization.
Add Spring Security dependency in your pom.xml file
Create a class that extends WebSecurityConfigurerAdapter to configure security settings
Override configure(HttpSecurity http) method to define login form, login processing URL, success and failure URLs
Use @EnableWebSecurity annotation on your main application class
Multiple data sources in Spring Boot can be handled using Spring Data JPA and configuring multiple data source beans.
Use @Primary annotation to specify the primary data source bean
Configure additional data sources in application.properties or application.yml file
Use @Qualifier annotation to specify which data source to inject in a specific repository or service class
Yes, I typically use a hash set or dictionary to filter out duplicate employee records from a list.
Iterate through the list of employee records
Use a hash set or dictionary to keep track of unique employee IDs
Check each employee record against the hash set or dictionary to filter out duplicates
To identify an object in a collection, you can iterate through the collection and compare each object with the target object.
Iterate through the collection using a loop
Compare each object in the collection with the target object using a conditional statement
Use a unique identifier or property of the object to match it with the target object
Example: Identifying a specific student in a list of students by comparing their
REST API is a set of rules and conventions for building and interacting with web services.
REST stands for Representational State Transfer
Uses standard HTTP methods like GET, POST, PUT, DELETE
Communicates over HTTP using JSON or XML
Stateless, meaning each request from a client to server must contain all the information needed to understand the request
Implementing an authentication service involves creating a secure system for verifying user identities.
Use encryption to securely store user passwords
Implement multi-factor authentication for added security
Utilize tokens or cookies for session management
Integrate with OAuth or OpenID Connect for third-party authentication
Implement rate limiting and account lockout mechanisms to prevent brute force attacks
REST services return data in JSON or XML format.
Data is typically returned in JSON or XML format.
JSON is more commonly used due to its simplicity and readability.
REST services can also return data in other formats like HTML or plain text.
Example: {"name": "John Doe", "age": 30}
Spring Boot actuator provides production-ready features to help monitor and manage your application.
Provides endpoints to monitor application health, metrics, info, etc.
Can be used to check the status of the application, database connections, and more.
Allows customization and security configurations for the endpoints.
Securing a Spring Boot application, especially in the context of a banking application, involves implementing Spring Security.
Use Spring Security to handle authentication and authorization
Implement secure communication using HTTPS
Utilize role-based access control to restrict user permissions
Enable CSRF protection to prevent cross-site request forgery attacks
Implement secure password storage and session management
Integrating Spring Data JPA with Spring Boot allows for easy database operations in a Spring Boot application.
Add Spring Data JPA dependency in pom.xml
Create JPA entity classes annotated with @Entity
Create a repository interface extending JpaRepository
Use repository interface in service classes for database operations
Configure application.properties with database connection details
Optional in Java is a container object which may or may not contain a non-null value.
Optional was introduced in Java 8 to handle null values more effectively.
It is used to avoid NullPointerExceptions by explicitly checking if a value is present before using it.
Optional can be used with methods that may return null to indicate that the value may be absent.
Example: Optional
Yes, I have experience with job scheduling in previous projects.
Utilized cron jobs to automate tasks at specific times
Worked with tools like Apache Airflow for complex job scheduling workflows
Implemented job scheduling in Python scripts using libraries like schedule or APScheduler
Microservice architecture is a modular approach where an application is divided into smaller, independent services, while monolithic architecture is a single, unified structure.
Microservice architecture breaks down an application into smaller, loosely coupled services that can be developed, deployed, and scaled independently.
Monolithic architecture involves building the entire application as a single unit, making it ha...
CI/CD pipeline automates the process of integrating code changes and deploying them to production.
Automates the process of integrating code changes
Automates the process of testing code changes
Automates the process of deploying code changes
Helps in detecting and fixing bugs early in the development cycle
Increases the speed of software delivery
Ensures consistency in the deployment process
I used AngularJS and Bootstrap to create the UI side of the springboard application.
AngularJS
Bootstrap
Vaadin is an open-source web application framework for building modern web apps using Java.
Vaadin allows developers to build web applications using Java on the server-side and HTML/CSS/JavaScript on the client-side.
It provides a set of customizable UI components and a Java API for creating interactive web interfaces.
Vaadin simplifies the development process by handling client-server communication and UI updates automat...
JDK is a development kit for creating Java applications, while JRE is a runtime environment for executing Java programs.
JDK stands for Java Development Kit and includes tools for developing Java applications, such as compiler and debugger.
JRE stands for Java Runtime Environment and is used to run Java applications. It includes JVM, libraries, and other necessary components.
JDK is needed for developing Java applications...
No, Java programs require JRE to run.
Java programs are compiled into bytecode which is executed by the Java Runtime Environment (JRE)
JRE is necessary to interpret and run Java programs
Without JRE, Java programs cannot be executed
HashMap in Java is a data structure that stores key-value pairs and uses hashing to efficiently retrieve values.
HashMap uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to determine its index in the array.
If multiple keys hash to the same index, a linked list is used to handle collisions.
HashMap allows null keys and values, and does not guarantee the order of key-
A key with a null value in HashMap will be stored in the HashMap as a key-value pair with a null value.
In a HashMap, keys can have null values but only one key with a null value is allowed.
If you try to store a key with a null value multiple times, the previous value associated with that key will be overwritten.
Example: HashMap
Fail-fast stops immediately upon detecting an error, while fail-safe continues to operate despite errors. Fail-safe is synchronized.
Fail-fast immediately stops the operation upon encountering an error, ensuring that no further damage is done.
Fail-safe continues to operate despite errors, often by handling the error and allowing the program to continue running.
Fail-safe is synchronized, meaning that it is designed to ha...
HashMap is unordered while LinkedHashMap maintains insertion order.
HashMap does not maintain insertion order while LinkedHashMap does.
LinkedHashMap extends HashMap and adds a doubly-linked list to maintain order.
HashMap is faster for iteration while LinkedHashMap is slower due to maintaining order.
Load factor in HashMap determines when the HashMap should be resized to maintain performance.
Load factor is a measure of how full the HashMap is allowed to get before its capacity is automatically increased.
The default load factor of HashMap is 0.75, which means the HashMap will be resized when it is 75% full.
Increasing the load factor reduces the space overhead but increases the time cost of resolving collisions.
Examp...
A Daemon thread is a background thread that runs without blocking the main program from exiting.
Daemon threads are used for tasks that do not require user interaction or continuous monitoring.
They are automatically terminated by the JVM when all non-daemon threads have finished.
An example of a Daemon thread is the garbage collector in Java.
Multithreading in Java allows multiple threads to execute concurrently, improving performance and responsiveness.
Multithreading allows multiple threads to run concurrently within a single process.
Each thread has its own stack and program counter, but share the same heap memory.
Java provides built-in support for multithreading through the java.lang.Thread class.
Example: Creating a new thread by extending the Thread clas
Executor framework in Java is a framework that provides a way to manage and control the execution of tasks in a multithreaded environment.
Allows for decoupling task submission from task execution
Provides a way to manage thread creation, pooling, and scheduling of tasks
Helps in handling exceptions and errors that occur during task execution
Examples include ThreadPoolExecutor and ScheduledThreadPoolExecutor classes
Some methods in Executor framework include execute(), submit(), shutdown(), awaitTermination(), and invokeAll().
execute() - Used to execute the given command at some time in the future.
submit() - Submits a Runnable or Callable task for execution and returns a Future representing the task.
shutdown() - Initiates an orderly shutdown in which previously submitted tasks are executed, but no new tasks will be accepted.
awaitT...
The join method in Java is used to concatenate the elements of an array into a single string.
The join method is a part of the String class in Java.
It takes an array of strings as input and concatenates them with a specified delimiter.
Example: String[] arr = {"Hello", "World"}; String result = String.join(", ", arr); // Output: Hello, World
One-to-many and many-to-one relationships in Hibernate are used to define the relationship between entities in a database.
One-to-many relationship: One entity can be associated with multiple instances of another entity. For example, one department can have multiple employees.
Many-to-one relationship: Multiple instances of one entity can be associated with a single instance of another entity. For example, multiple emplo
An ID in Hibernate is a unique identifier for an entity in a database. It is used to uniquely identify each record.
ID is a field in an entity class annotated with @Id in Hibernate.
It can be of different types like int, long, String, etc.
ID is used to uniquely identify each record in a database table.
It is often generated automatically using strategies like @GeneratedValue.
Example: @Id @GeneratedValue(strategy = Generat
Custom queries in Spring Data JPA can be created using @Query annotation or method naming conventions.
Use @Query annotation with JPQL or native SQL to define custom queries
Follow method naming conventions to automatically generate queries based on method names
Use parameters in custom queries by adding method parameters and referencing them in the query
Some common annotations used in Spring Boot are @RestController, @Autowired, @RequestMapping, @Component, @Service, @Repository.
@RestController - Used to define a controller class in Spring MVC.
@Autowired - Used for automatic dependency injection.
@RequestMapping - Used to map web requests to specific handler methods.
@Component - Indicates that a class is a Spring component.
@Service - Indicates that a class is a Spring ...
To create a repository interface in Spring Data JPA, you need to define an interface that extends JpaRepository.
Create an interface that extends JpaRepository
Add custom query methods by defining method signatures in the repository interface.
Spring Data JPA will automatically generate the implementation for the repository interface at run
Custom queries in repository interface are defined using @Query annotation in Spring Data JPA.
Use @Query annotation above the method declaration in the repository interface.
Write the custom query in JPQL or native SQL within the @Query annotation.
You can also pass parameters to the query using method parameters.
The main difference is that @RestController is a specialized version of @Controller that is used for RESTful web services.
Both @Controller and @RestController are used in Spring MVC to handle HTTP requests, but @RestController is specifically used for RESTful web services.
@Controller is used to create web pages that return HTML, while @RestController is used to create RESTful web services that return data in JSON or XM...
DispatcherServlet is the front controller in Spring Boot that receives incoming requests and dispatches them to the appropriate handler.
DispatcherServlet is a servlet that manages the flow of incoming requests in a Spring Boot application.
It acts as the front controller, receiving all requests and then dispatching them to the appropriate handler for processing.
DispatcherServlet is configured in the web.xml file or thro...
Microservices are a software development technique where applications are broken down into smaller, independently deployable services.
Microservices allow for easier scalability and maintenance of complex systems.
Each microservice typically focuses on a specific business function.
Communication between microservices is usually done through APIs.
Examples of companies using microservices include Netflix, Amazon, and Uber.
Communication between microservices can happen through synchronous or asynchronous protocols like HTTP, messaging queues, or gRPC.
Microservices can communicate through synchronous protocols like HTTP, where one service sends a request to another service and waits for a response.
Alternatively, microservices can communicate asynchronously using messaging queues like RabbitMQ or Kafka, where messages are sent between serv...
Messaging between microservices involves communication through message brokers or direct API calls.
Microservices communicate through message brokers like RabbitMQ or Kafka.
Messages are sent in a format like JSON or XML.
Microservices can also communicate through direct API calls using REST or gRPC.
Message queues help in decoupling services and ensuring reliable communication.
Service discovery mechanisms like Consul or E
Find max and min sum after removing one element from array. Time complexity analysis required.
Iterate through array to find sum of all elements
For each element, calculate sum after removing it
Track max and min sum as you iterate
Time complexity: O(n) where n is the number of elements in the array
posted on 23 Dec 2024
I applied via Job Portal and was interviewed in Nov 2024. There was 1 interview round.
posted on 19 Nov 2024
I applied via Naukri.com and was interviewed in Jul 2024. There were 2 interview rounds.
Duration 1 hr general aptitude topics
Duration 1hr subject related coding questions
Network Engineer
36
salaries
| ₹3.7 L/yr - ₹11 L/yr |
OSP Engineer
32
salaries
| ₹3.5 L/yr - ₹6.5 L/yr |
Senior Software Engineer
31
salaries
| ₹8.2 L/yr - ₹30 L/yr |
Senior Network Engineer
28
salaries
| ₹7.7 L/yr - ₹28.5 L/yr |
Project Manager
18
salaries
| ₹4.6 L/yr - ₹9.6 L/yr |
Accenture
TCS
Infosys
Wipro