TCS
40+ SiValley Technologies Interview Questions and Answers
Q1. What is spring boot , annotations used in spring boot? Validation done in spring boot
Spring Boot is a framework for building standalone, production-grade Spring-based applications.
Annotations used in Spring Boot include @SpringBootApplication, @RestController, @Autowired, @Component, @Configuration, @EnableAutoConfiguration, and more.
Validation in Spring Boot can be done using annotations such as @NotNull, @Size, @Min, @Max, and @Pattern.
Spring Boot also provides built-in support for validation using the javax.validation API.
Spring Boot's validation can be cu...read more
Q2. list data structure, how Map works, what is advantage of Java, Sorting algorithm, how will reverse string using Java
Questions on data structures, Java advantages, sorting algorithms, and string reversal using Java.
Data structures: list, map
Map works by storing key-value pairs and allows fast retrieval of values using keys
Java advantages: platform independence, object-oriented programming, automatic memory management
Sorting algorithms: bubble sort, quick sort, merge sort
Reverse string using Java: use StringBuilder class and its reverse() method
Q3. What are the State management libraries other than redux
State management libraries other than Redux
MobX - simple and scalable state management
Flux - unidirectional data flow architecture
Vuex - state management for Vue.js
Apollo Client - state management for GraphQL
React Context API - built-in state management for React
Recoil - experimental state management library for React
XState - state management for finite state machines
Q4. difference between collections and steraming and how performance improved using streaming api
Collections store data while streaming processes data in a sequential manner. Streaming API improves performance by reducing memory usage and increasing efficiency.
Collections store data in memory while streaming processes data in a sequential manner without storing it.
Streaming API allows for lazy evaluation, meaning data is processed only when needed, reducing memory usage.
Streaming API can improve performance by enabling parallel processing of data, increasing efficiency.
E...read more
Q5. Why String is immutable? Spring boot annotations and it's used? Internal working of hashmap? Arraylist and Linked list? REST APIs and it's methods?
Explaining immutability of String and other software engineering concepts
String is immutable to ensure thread safety and prevent unintended modification
Spring boot annotations simplify configuration and reduce boilerplate code
Hashmap uses hashing to store and retrieve key-value pairs efficiently
Arraylist and Linked list are both used to store collections of objects, but have different performance characteristics
REST APIs use HTTP methods (GET, POST, PUT, DELETE) to interact w...read more
Q6. Explan SCD type 2 and how to implement in powercenter
SCD type 2 is a slowly changing dimension technique in data warehousing to track historical changes in data.
SCD type 2 maintains historical data by creating new records for changes instead of updating existing records
It includes effective start and end dates to track when a change occurred
In PowerCenter, SCD type 2 can be implemented using the Update Strategy transformation and maintaining historical data in a separate table
Q7. how is log file recovered from deleted one ?
Log files can be recovered from deleted ones by using data recovery tools or techniques.
Use data recovery tools like Recuva, PhotoRec, or Disk Drill to scan for and recover deleted log files.
Check for backups of log files in case they were saved elsewhere before deletion.
Look for temporary or cache files that may contain the information from the deleted log file.
Avoid writing new data to the storage device where the log file was deleted to increase chances of successful recov...read more
Q8. What is difference between PK and unique key?
Primary key uniquely identifies a record in a table, while a unique key ensures that all values in a column are distinct.
Primary key is a combination of unique and not null constraints
Primary key can only be one per table, while multiple unique keys can exist
Primary key automatically creates a clustered index, while unique key creates a non-clustered index
Example: Primary key for a 'users' table could be 'user_id', while a unique key could be 'email'
Q9. Diff bet class and functional components
Class components are ES6 classes while functional components are functions.
Class components have state and lifecycle methods while functional components don't.
Functional components are simpler and easier to read and test.
Functional components are preferred for simple UI components while class components are used for complex UI components.
Example of class component: class MyComponent extends React.Component {}
Example of functional component: function MyComponent(props) {}
Q10. What is the Data source you use
We primarily use SQL databases for storing and retrieving data.
SQL databases like MySQL, PostgreSQL, and Microsoft SQL Server are commonly used
We also utilize NoSQL databases like MongoDB for certain projects
Data may also be sourced from APIs, external services, or flat files
Q11. What is worker process from asp.net
Worker process in ASP.NET is a separate process that runs in the background to handle incoming requests.
Worker process is responsible for executing ASP.NET applications on the server.
It runs independently of the main IIS process and can be configured to run multiple instances.
Worker process manages application pools, handles requests, and processes code.
Examples include w3wp.exe in IIS for handling ASP.NET requests.
Q12. Write a program to find the balanced string using java
Program to find balanced strings in Java
Create a method that takes an array of strings as input
Iterate through each string and check if it is balanced
Use a stack to keep track of opening brackets and pop when closing bracket is encountered
Return the list of balanced strings
Q13. Write a program to find the unique objects using java
Program to find unique objects in an array of strings using Java
Create a HashSet to store unique objects
Iterate through the array and add each object to the HashSet
Convert the HashSet back to an array to get the unique objects
Q14. Singleton design pattern using java classes
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class within the class itself.
Provide a public static method to access the instance.
Ensure the constructor is private to prevent instantiation from outside the class.
Use lazy initialization to create the instance only when needed.
Q15. Diff bet componentDidMount and componentWillMount
componentDidMount is called after the component is mounted while componentWillMount is called before the component is mounted.
componentDidMount is used for fetching data from APIs and updating the state
componentWillMount is used for setting the initial state and making preparations for rendering
componentDidMount is called once while componentWillMount is called multiple times
componentDidMount is used for DOM manipulation
componentWillMount is considered legacy and should be av...read more
Q16. What are the types of joins?
Types of joins include inner join, outer join, left join, right join, and full join.
Inner join: Returns rows when there is a match in both tables.
Outer join: Returns all rows when there is a match in one of the 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 join: Returns rows when there is a match in one of the tables.
Q17. Project Architecture of current project
The project architecture follows a microservices-based approach with containerization using Docker and orchestration with Kubernetes.
The project is divided into multiple microservices that communicate with each other through APIs.
Each microservice is containerized using Docker to ensure consistency and portability.
Kubernetes is used for orchestration to manage the deployment, scaling, and monitoring of the microservices.
The architecture also includes a load balancer to distri...read more
Q18. setState is synchronous or asynchronous
setState is asynchronous
setState schedules an update to a component's state
The update may not happen immediately, but will be batched and executed later
This can lead to unexpected behavior if not handled properly
Q19. Security tools for react application
Security tools for React applications
Use ESLint and Prettier to enforce code quality and security standards
Implement authentication and authorization using libraries like Passport.js and JSON Web Tokens
Use security-focused libraries like Helmet to secure HTTP headers
Implement input validation and sanitization using libraries like Joi and DOMPurify
Use HTTPS to encrypt data in transit
Implement rate limiting and other security measures to prevent attacks like CSRF and XSS
Regular...read more
Q20. How you do Data Modelling
Data modelling involves designing the structure of a database to represent real-world entities and their relationships.
Identify entities and their attributes
Define relationships between entities
Normalize data to reduce redundancy
Choose appropriate data types and constraints
Consider performance and scalability
Q21. SDLC process in your preset company
Agile SDLC process with iterative development and continuous feedback loops.
Agile methodology used for software development
Iterative approach with regular sprints
Continuous integration and deployment
Frequent feedback from stakeholders
Regular retrospectives to improve processes
Q22. What is regression testing?
Regression testing is the process of retesting modified software to ensure that previously working functionalities are still intact.
Regression testing is performed after making changes to software to identify any new defects or issues introduced.
It helps ensure that existing functionalities are not affected by the changes.
It involves rerunning previously executed test cases to verify if the software still behaves as expected.
Regression testing can be done manually or using au...read more
Q23. What is constraints?
Constraints are limitations or restrictions placed on a system or process.
Constraints define the boundaries within which a system must operate.
They can include limitations on resources, time, budget, or functionality.
Examples of constraints in software development include deadlines, hardware limitations, and security requirements.
Q24. MVC framework explain
MVC is a software design pattern that separates an application into three interconnected components: Model, View, and Controller.
Model represents the data and business logic of the application
View is responsible for rendering the user interface
Controller handles user input and updates the model and view accordingly
MVC promotes separation of concerns and modularity
Examples of MVC frameworks include Ruby on Rails, Django, and ASP.NET MVC
Q25. What is sanity testing
Sanity testing is a subset of regression testing that quickly checks if the major functionalities of a software are working as expected.
Sanity testing is a high-level testing approach
It focuses on testing the core functionalities of a software
It is performed after major changes or bug fixes
It ensures that the software is stable enough for further testing
It is a quick and shallow form of testing
It helps in identifying critical defects early in the development cycle
Q26. Diff bet state and props
State is mutable data owned by a component, while props are immutable data passed to a component.
State can be changed by the component itself, while props cannot be changed by the component
State is used to store data that can change over time, while props are used to pass data from parent to child components
State is initialized in the constructor of a component, while props are passed down from the parent component
Example: A counter component can use state to keep track of th...read more
Q27. Strict modes in react
Strict mode is a feature in React that helps with debugging and identifying potential issues.
Enables additional checks and warnings during development
Helps identify unsafe code and deprecated features
Can be enabled globally or for specific components
Example:
Q28. Flexible with location
Yes, I am flexible with location and willing to relocate if required.
I am open to working remotely or on-site
I am willing to relocate for the right opportunity
I have experience working with remote teams
Q29. what is materialised view
A materialized view is a database object that contains the results of a query and is stored on disk for faster access.
Materialized views store the results of a query physically on disk, unlike regular views which just store the query definition.
They are used to improve query performance by pre-computing and storing the results of expensive queries.
Materialized views need to be refreshed periodically to ensure that the data is up-to-date.
They are commonly used in data warehous...read more
Q30. Explain about constructor and distructor
Constructor and destructor are special member functions in a class that are used to initialize and destroy objects, respectively.
Constructor is called when an object is created, used to initialize the object's data members.
Destructor is called when an object goes out of scope or is explicitly deleted, used to release resources.
Example: class Car { public: Car() { cout << 'Constructor called'; } ~Car() { cout << 'Destructor called'; } };
Constructors can be overloaded with diff...read more
Q31. What are components in Angular
Components in Angular are reusable building blocks that encapsulate HTML, CSS, and TypeScript code.
Components are the basic building blocks of Angular applications.
They are reusable and can be used to create complex UIs.
Each component has its own HTML template, CSS styles, and TypeScript code.
Components can communicate with each other using inputs and outputs.
Examples of components include buttons, forms, and navigation menus.
Q32. What are life cycle hooks
Life cycle hooks are methods that get called at specific stages of a component's life cycle.
They are used in Angular to perform actions at specific points in a component's life cycle
Examples include ngOnInit, ngOnDestroy, and ngOnChanges
They can be used to initialize data, perform cleanup, or update the component based on changes in input data
Q33. Axios in reactJs
Axios is a promise-based HTTP client for making API requests in ReactJs.
Axios is used to make HTTP requests from the client-side in ReactJs
It supports all modern browsers and can be used with Node.js
Axios can be used to make GET, POST, PUT, DELETE requests and more
It can also handle request and response interceptors for global error handling and authentication
Axios can be installed using npm or yarn
Q34. system design for 1l rest api
Designing a system for a 1L REST API involves creating a scalable and efficient architecture to handle large amounts of data and requests.
Use microservices architecture to break down the system into smaller, independent services
Implement caching mechanisms to improve performance and reduce load on the database
Use load balancers to distribute incoming requests evenly across multiple servers
Implement rate limiting to prevent abuse and ensure fair usage of the API
Use a message q...read more
Q35. what is react and redux
React is a JavaScript library for building user interfaces. Redux is a predictable state container for JavaScript apps.
React is used for building reusable UI components
Redux is used for managing the state of the application
React and Redux are often used together in web development
React uses a virtual DOM to efficiently update the UI
Redux follows a unidirectional data flow pattern
Q36. Bulk load vs normal load
Bulk load is faster for large amounts of data, while normal load is suitable for smaller amounts.
Bulk load is more efficient for loading large amounts of data quickly.
Normal load is better for smaller amounts of data to avoid overwhelming the system.
Bulk load is commonly used for initial data migration or periodic batch updates.
Normal load is used for real-time or incremental data updates.
Examples: Bulk load - importing millions of records into a database. Normal load - updat...read more
Q37. Hooks in react
Hooks are a feature in React that allow functional components to have state and lifecycle methods.
Hooks were introduced in React 16.8
useState is a hook that allows functional components to have state
useEffect is a hook that allows functional components to have lifecycle methods
Custom hooks can be created to reuse stateful logic across components
Q38. Fetch API in react
Fetch API is a built-in web API in modern browsers used to make HTTP requests from the browser to the server.
Fetch API is used to make asynchronous HTTP requests from the browser to the server.
It returns a Promise that resolves to the Response object representing the response to the request.
It can be used with React to fetch data from an API and update the state of a component.
Fetch API can be used with different HTTP methods like GET, POST, PUT, DELETE, etc.
It can also be us...read more
Q39. Join and functions in sql
Join and functions in SQL are used to combine data from multiple tables and perform operations on the data.
Joins are used to combine rows from two or more tables based on a related column between them.
Functions in SQL are used to perform operations on data, such as mathematical calculations or string manipulations.
Examples of functions in SQL include SUM, AVG, CONCAT, and SUBSTRING.
Q40. Explain tech stack in detail
Tech stack refers to the combination of programming languages, frameworks, libraries, databases, and tools used in a software development project.
Programming languages: such as Java, Python, JavaScript
Frameworks: like Spring Boot, Django, React
Libraries: such as jQuery, Bootstrap
Databases: like MySQL, MongoDB, PostgreSQL
Tools: such as Git, Jenkins, Docker
Q41. What is trigger
A trigger is a special kind of stored procedure that automatically executes when an event occurs in the database management system.
Triggers are used to maintain the integrity of the database by enforcing business rules or referential integrity.
They can be set to execute before or after a data modification operation (INSERT, UPDATE, DELETE).
Examples of triggers include auditing changes to a table, enforcing constraints, or updating related tables.
Q42. EME bulid activity ?
EME build activity refers to the process of creating a build for the EME (Encrypted Media Extensions) technology.
EME build activity involves compiling the source code for EME implementation.
It may include testing the build for compatibility with different browsers and devices.
The build may also involve integrating DRM (Digital Rights Management) solutions for content protection.
Examples of EME build activities include creating a build for a video streaming service that uses E...read more
Q43. ioc /di explain
IoC (Inversion of Control) and DI (Dependency Injection) are design patterns used in software development to decouple components and improve maintainability.
IoC is a design principle where the flow of control is inverted compared to traditional programming. It allows for better separation of concerns.
DI is a technique where the dependencies of a component are provided externally rather than created within the component itself. This promotes loose coupling.
IoC containers like ...read more
More about working at TCS
Top HR Questions asked in SiValley Technologies
Interview Process at SiValley Technologies
Top Senior Software Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month