i
IBM
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
Find the maximum values in each sliding window of a given array efficiently.
Use a deque to store indices of array elements in the current window.
Maintain the deque in decreasing order of values to ensure the front is the max.
Slide the window by removing elements that are out of bounds and adding new elements.
Example: For array [1, 3, -1, -3, 5, 3, 6, 7] and window size 3, max values are [3, 3, 5, 5, 6, 7].
Find the equilibrium index in an array where the sum of elements before equals the sum after the index.
Definition: An equilibrium index is an index in an array where the sum of elements on the left equals the sum on the right.
Example: In the array [1, 3, 5, 2, 2], the equilibrium index is 2 because 1+3 = 2+2.
Approach: Calculate the total sum of the array, then iterate through the array while maintaining a running ...
String pool is a storage area in memory where strings are stored to optimize memory usage by reusing common strings.
String pool helps in reducing memory usage by storing only one copy of each unique string.
Strings created using double quotes are stored in the string pool.
Strings created using new keyword are not stored in the string pool.
String Builder is not synchronized and faster, while String Buffer is synchronized and slower.
String Builder is not thread-safe, while String Buffer is thread-safe.
String Builder is faster due to lack of synchronization, while String Buffer is slower due to synchronization.
String Builder is recommended for single-threaded operations, while String Buffer is recommended for multi-threaded operations.
What people are saying about IBM
Java 8 introduced several new features including lambda expressions, streams, and functional interfaces.
Lambda expressions: Allow for more concise and readable code by enabling functional programming.
Streams: Provide a way to work with collections of objects in a more functional style.
Functional interfaces: Interfaces with a single abstract method, used to enable lambda expressions.
Optional class: Helps to avoid n...
Java 8 introduced significant features like lambdas, streams, and new date/time APIs, enhancing productivity and code readability.
Lambda Expressions: Enable concise representation of functional interfaces. Example: (a, b) -> a + b.
Streams API: Allows processing sequences of elements (collections) in a functional style. Example: list.stream().filter(x -> x > 10).collect(Collectors.toList()).
Default Methods...
Primary keys (pk) are created to uniquely identify each record in a database table.
PKs can be created using a single column or a combination of columns.
PKs must be unique and not null.
PKs can be automatically generated (e.g. using auto-increment) or manually assigned.
PKs are essential for data integrity and efficient data retrieval.
Deployment table is created by designing a database schema with necessary fields to track deployment information.
Design a database schema with fields like deployment_id, environment, version, date_deployed, deployed_by, etc.
Use SQL queries to create the deployment table in the database.
Consider adding indexes on commonly queried fields for performance optimization.
Implement proper data validation and constraints t...
OAuth is an open standard for access delegation, commonly used for enabling secure authorization between applications.
Understand OAuth roles: resource owner, client, authorization server, resource server
OAuth flow involves obtaining authorization grant, exchanging it for access token, and accessing protected resources
Implement OAuth 2.0 protocol with libraries like OAuth2Client
Use OAuth scopes to define permission...
A technical interview is a job interview for positions in the technology industry where candidates are assessed on their technical skills and knowledge.
Technical interviews typically involve coding challenges, algorithm questions, and system design problems.
Candidates may be asked to solve problems on a whiteboard, on a computer, or verbally.
Interviewers may also ask about past projects, technical experience, and ...
I applied via Referral and was interviewed in Oct 2024. There was 1 interview round.
Java 8 introduced several new features including lambda expressions, streams, and functional interfaces.
Lambda expressions: Allow for more concise and readable code by enabling functional programming.
Streams: Provide a way to work with collections of objects in a more functional style.
Functional interfaces: Interfaces with a single abstract method, used to enable lambda expressions.
Optional class: Helps to avoid null p...
Spring boot annotations are used to simplify the development process by providing metadata to the Spring framework.
1. @SpringBootApplication - Main annotation to indicate the main class of a Spring Boot application.
2. @RestController - Annotation for RESTful web services.
3. @Autowired - Dependency injection annotation.
4. @GetMapping, @PostMapping, @PutMapping, @DeleteMapping - Annotations for mapping HTTP requests to c...
String Builder is not synchronized and faster, while String Buffer is synchronized and slower.
String Builder is not thread-safe, while String Buffer is thread-safe.
String Builder is faster due to lack of synchronization, while String Buffer is slower due to synchronization.
String Builder is recommended for single-threaded operations, while String Buffer is recommended for multi-threaded operations.
String pool is a storage area in memory where strings are stored to optimize memory usage by reusing common strings.
String pool helps in reducing memory usage by storing only one copy of each unique string.
Strings created using double quotes are stored in the string pool.
Strings created using new keyword are not stored in the string pool.
There are two main types of memory in a computer system: stack memory and heap memory.
Stack memory is used for static memory allocation and is managed by the compiler. It is typically faster but limited in size.
Heap memory is used for dynamic memory allocation and is managed by the programmer. It is slower but has a larger size.
Examples: C programming language uses stack memory for function calls and heap memory for dy...
Longest common subsequence is the longest sequence of characters that appear in the same order in both strings.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the lengths of longest common subsequences of substrings.
Traverse the array to find the longest common subsequence.
I appeared for an interview in Oct 2024, where I was asked the following questions.
Find the maximum values in each sliding window of a given array efficiently.
Use a deque to store indices of array elements in the current window.
Maintain the deque in decreasing order of values to ensure the front is the max.
Slide the window by removing elements that are out of bounds and adding new elements.
Example: For array [1, 3, -1, -3, 5, 3, 6, 7] and window size 3, max values are [3, 3, 5, 5, 6, 7].
Find the equilibrium index in an array where the sum of elements before equals the sum after the index.
Definition: An equilibrium index is an index in an array where the sum of elements on the left equals the sum on the right.
Example: In the array [1, 3, 5, 2, 2], the equilibrium index is 2 because 1+3 = 2+2.
Approach: Calculate the total sum of the array, then iterate through the array while maintaining a running sum o...
I applied via Naukri.com and was interviewed in Nov 2023. There were 3 interview rounds.
To protect a site from spam, implement CAPTCHA, use spam filters, validate user input, and monitor site activity. To create a multi-site, use a content management system with multi-site capabilities.
Implement CAPTCHA to prevent automated spam submissions
Use spam filters to detect and block spam content
Validate user input to ensure data integrity and prevent malicious code injection
Monitor site activity for suspicious b...
Roles and responsibilities of a Senior Software Engineer involve leading technical projects, mentoring junior developers, collaborating with cross-functional teams, and ensuring code quality and scalability.
Leading technical projects and providing technical guidance to team members
Mentoring junior developers and helping them grow in their technical skills
Collaborating with cross-functional teams such as product manager...
Normal assessment: palindrome, oops, inheritance
I applied via Approached by Company and was interviewed in Mar 2024. There was 1 interview round.
I applied via Recruitment Consulltant and was interviewed in Apr 2024. There were 2 interview rounds.
Manager and lead asking experience and knowledge about that domain.
As per my knowledge they give me test in html, css, bootstrap, adobe captivate and some authoring tools.
I applied via Naukri.com and was interviewed in Feb 2024. There was 1 interview round.
Some of the top questions asked at the IBM Senior Software Engineer interview -
The duration of IBM Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 26 interview experiences
Difficulty level
Duration
based on 389 reviews
Rating in categories
Application Developer
12.6k
salaries
| ₹5.3 L/yr - ₹26.5 L/yr |
Software Engineer
5.9k
salaries
| ₹8.3 L/yr - ₹25 L/yr |
Software Developer
5.7k
salaries
| ₹13.4 L/yr - ₹39.5 L/yr |
Senior Software Engineer
5.3k
salaries
| ₹14.1 L/yr - ₹30 L/yr |
Advisory System Analyst
4.6k
salaries
| ₹13.6 L/yr - ₹23 L/yr |
Oracle
TCS
Cognizant
Accenture