IBM
20+ Interview Questions and Answers
Q1. What is your company's code review process? What practices you follow while writing code. How do you test your code manually?
Our code review process involves peer reviews and automated testing. We follow best practices and use manual testing for edge cases.
Peer reviews are conducted for all code changes before merging into the main branch
We use automated testing tools like Jest and Enzyme for unit and integration testing
We follow best practices like writing clean and modular code, using meaningful variable names, and commenting where necessary
Manual testing is used for edge cases and scenarios that...read more
Q2. Difference between String builder and String Buffer
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.
Q3. number of memory type have. like heap memory , stack
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 dynamic memory allocation.
Q4. How you have connected Angular with Spring Boot ?
Angular can be connected with Spring Boot using REST APIs.
Create REST APIs in Spring Boot to expose data
Use Angular's HttpClient to make HTTP requests to the APIs
Parse the response data in Angular and display it in the UI
Use CORS configuration in Spring Boot to allow cross-origin requests from Angular
Q5. How to protect site from sapm? Multi site how to create?
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 behavior and patterns
For creating a multi-site, use a conte...read more
Q6. Managerial round / wht is roles and resposibilities?
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 managers, designers, and QA testers
Ensuring code quality through ...read more
Q7. List down Java 8 features and use case
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 pointer exceptions by wrapping a value that may or may not ...read more
Q8. List down Spring boot annotation used
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 controller methods.
5. @Component, @Service, @Repository - A...read more
Q9. How to restrict url access in Angular? What are pipes?
To restrict URL access in Angular, use Angular Router Guards.
Angular Router Guards can be used to restrict access to certain routes based on user authentication or authorization.
There are three types of guards: CanActivate, CanActivateChild, and CanLoad.
CanActivate is used to prevent access to a route, CanActivateChild is used to prevent access to child routes, and CanLoad is used to prevent lazy-loaded modules from being loaded.
Pipes in Angular are used to transform data bef...read more
Q10. What are interceptors? What are clouser ?
Interceptors are functions that can intercept and modify requests or responses in an application. Closures are functions that have access to variables in their outer scope.
Interceptors can be used for logging, authentication, caching, and more.
Closures are commonly used in JavaScript to create private variables and functions.
An example of an interceptor in AngularJS is the $httpInterceptor service.
An example of a closure in JavaScript is a function that returns another functi...read more
Q11. what is String pool
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.
Q12. how deployement table is created?
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 to ensure data integrity.
Regularly update the deployment table s...read more
Q13. How Spring Boot Works ?
Spring Boot is a framework that simplifies the development of Java applications by providing pre-configured settings and dependencies.
Spring Boot uses an embedded server to run applications
It provides auto-configuration for commonly used libraries
It uses annotations to minimize boilerplate code
It supports various data sources and messaging systems
It can be easily integrated with other Spring projects
Example: @SpringBootApplication annotation creates a Spring Boot application
E...read more
Q14. What is Microservices ?
Microservices is an architectural style where an application is composed of small, independent services that communicate with each other.
Microservices are independently deployable and scalable.
Each microservice performs a single business capability.
Communication between microservices is usually through APIs.
Microservices can be developed using different programming languages and technologies.
Examples of companies using microservices include Netflix, Amazon, and Uber.
Q15. What is technical interview?
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 problem-solving approaches.
Technical interviews help employers ...read more
Q16. Abstract class vs interface
Abstract class is a class that cannot be instantiated, while an interface is a contract that a class must implement.
Abstract classes can have method implementations, while interfaces cannot
A class can implement multiple interfaces, but can only inherit from one abstract class
Abstract classes can have constructors, while interfaces cannot
Interfaces can have default method implementations since Java 8
Q17. Use of import and export
Import and export are used in JavaScript to share code between files and modules.
Import is used to bring in code from other modules or files.
Export is used to make code available for use in other modules or files.
Import and export are commonly used in modern JavaScript development with tools like Webpack and Babel.
Examples of import and export syntax include: import { functionName } from './module'; and export default myFunction;
Q18. how pk is created
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.
Q19. types of protocols and WLM.
Protocols are rules for communication between devices, while WLM stands for Workload Management.
Types of protocols include HTTP, TCP/IP, FTP, SMTP, etc.
WLM involves managing the distribution of workloads across resources efficiently.
Examples of WLM tools include IBM Workload Scheduler, Oracle Enterprise Manager, etc.
Q20. longest common subsequence
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.
Q21. Phases in PTLC.
PTLC stands for Project Time and Cost Management. It involves phases like initiation, planning, execution, monitoring/control, and closure.
Initiation phase involves defining the project at a broad level.
Planning phase involves creating a detailed project plan.
Execution phase involves carrying out the project plan.
Monitoring/control phase involves tracking, reviewing, and regulating the progress and performance of the project.
Closure phase involves closing the project and docu...read more
Q22. implement oauth
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 permissions for accessing resources
More about working at IBM
Interview Process at null
Top Senior Software Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month