TCS
40+ Sonshiv Industries Interview Questions and Answers
Q1. What is the difference between list and tuple (in python)?
List and tuple are both data structures in Python, but they have some differences.
Lists are mutable, while tuples are immutable.
Lists use square brackets [], while tuples use parentheses ().
Lists are typically used for collections of homogeneous items, while tuples are used for heterogeneous items.
Lists are usually used for sequences that will be modified, while tuples are used for sequences that will not be modified.
Lists have more built-in methods than tuples.
Q2. 1. Roles and Responsibilities 2. Work experiences and technical skills 3. Explain Automation Framework used in project 4. Java Basic Concepts 5. Maps, List, Sets 6. Selenium concepts 7. TestNG Concepts
Interview questions for Systems Engineer role
Roles and responsibilities of a Systems Engineer
Work experiences and technical skills required for the role
Explanation of Automation Framework used in a project
Basic concepts of Java programming language
Understanding of Maps, List, and Sets in Java
Knowledge of Selenium automation tool
Understanding of TestNG testing framework
Q3. Can we use a continue statement outside loops?
No, continue statement can only be used inside loops.
The continue statement is used to skip the current iteration of a loop.
It cannot be used outside of a loop as there is no iteration to skip.
Attempting to use continue outside of a loop will result in a syntax error.
Q4. What is Referential integrity Constant in DBMS(foreign key primary key concepts)?
Referential integrity constant ensures that a foreign key value always refers to an existing primary key value.
It maintains consistency between related tables
It prevents orphaned records
It enforces data integrity
Example: A foreign key in the Orders table refers to the primary key in the Customers table
Q5. Why did you just select 0.95 of the whole dataset while working on the model?
Selecting 0.95 of the whole dataset helps in training the model on a larger portion of the data while still having enough for testing.
Using 0.95 of the dataset ensures that the model is trained on a majority of the data, leading to better generalization.
Having a larger training set can help in capturing more patterns and relationships in the data.
Reserving 0.05 of the dataset for testing allows for evaluating the model's performance on unseen data.
This split ratio is commonly...read more
Q6. Difference among delete, drop, truncate and join types with their syntax.
Delete, drop, truncate, and join are SQL commands with different functionalities.
DELETE: Removes specific rows from a table based on a condition.
DROP: Deletes an entire table or database object from the database.
TRUNCATE: Removes all rows from a table, but keeps the table structure.
JOIN: Combines rows from two or more tables based on a related column between them.
Q7. Different types of transformations in informatica, active vs passive, union vs joiner
Different types of transformations in Informatica include active and passive transformations, as well as union and joiner transformations.
Active transformations are those which change the number of rows that pass through them, such as Filter or Router transformations.
Passive transformations do not change the number of rows that pass through them, such as Expression or Lookup transformations.
Union transformation combines data from multiple pipelines into a single pipeline.
Join...read more
Q8. Why do we use Servlet over JSP even if JSP have added advantage ?
Servlets are used for server-side processing and JSP for presentation. Both have their own advantages.
Servlets are used for handling complex business logic and database operations.
JSP is used for presentation and displaying dynamic content.
Servlets are faster than JSP as they do not involve the overhead of rendering HTML.
Servlets can be used to handle multiple requests simultaneously.
JSP can be used for rapid development of web pages.
Servlets can be used to create RESTful web...read more
Q9. What is Global and local variables?
Global variables are accessible throughout the program, while local variables are only accessible within a specific function.
Global variables can be accessed and modified by any function or module in the program.
Local variables are declared within a specific function and can only be accessed within that function.
Global variables can cause naming conflicts and make debugging difficult.
Local variables are preferred for their encapsulation and reduced risk of naming conflicts.
Q10. What do you mean by static variable?
Static variable is a variable that retains its value even after the function execution is completed.
Static variables are declared inside a function with the keyword 'static'.
They are initialized only once and retain their value throughout the program.
They have a default value of 0 if not initialized explicitly.
They are useful in situations where we need to maintain the state of a variable across function calls.
Q11. What were the most difficult coding problems you felt in the coding round?
The most difficult coding problems in the coding round were related to optimizing algorithms and handling complex data structures.
Optimizing algorithms for efficiency
Handling complex data structures like trees and graphs
Implementing dynamic programming solutions
Dealing with multi-threading and concurrency issues
Q12. What is covariance, correlation and multi-collinearity?
Covariance measures the relationship between two variables, correlation measures the strength and direction of a relationship, and multicollinearity occurs when independent variables in a regression model are highly correlated.
Covariance is a measure of how two variables change together. It can be positive, negative, or zero.
Correlation is a standardized measure of the strength and direction of the relationship between two variables. It ranges from -1 to 1.
Multicollinearity i...read more
Q13. Explain in depth about SCD and lookups in informatica
SCD stands for Slowly Changing Dimensions and lookups in Informatica are used to perform data transformations by looking up data from a reference table.
SCD is used to track changes to dimension data over time.
There are three types of SCD - Type 1, Type 2, and Type 3.
Lookups in Informatica are used to perform data transformations by looking up data from a reference table.
Lookups can be connected to different types of sources like flat files, databases, etc.
Example: In a Type 2...read more
Q14. Difference between Pass and continue statement.
Pass statement skips the current iteration and continue statement skips the current iteration and moves to the next one.
Pass statement is used to do nothing and move to the next iteration in a loop.
Continue statement is used to skip the current iteration and move to the next one in a loop.
Pass statement is used when a statement is required syntactically but no action is needed.
Continue statement is used when a condition is met and the current iteration needs to be skipped.
Q15. Write code for infinite loop and write code for prime num ...!
Code for infinite loop and prime number check
For infinite loop: while(1) { //code }
For prime number check: bool isPrime(int n) { for(int i=2; i<=sqrt(n); i++) { if(n%i == 0) return false; } return true; }
Infinite loop can be used for continuous monitoring or background tasks
Prime number check is useful in cryptography and number theory
Q16. difference between method overriding and overloading
Method overriding is when a subclass provides a specific implementation of a method that is already provided by its parent class, while method overloading is when multiple methods have the same name but different parameters.
Method overriding involves inheritance and is used to provide a specific implementation of a method in a subclass.
Method overloading involves having multiple methods with the same name but different parameters in the same class.
In method overriding, the me...read more
Q17. What is react? Why we use fragment? Why not div
React is a JavaScript library for building user interfaces. Fragments are used to group elements without adding extra nodes to the DOM.
React is used for building reusable UI components
Fragments are used to group elements without adding extra nodes to the DOM
Divs are not used because they add extra nodes to the DOM
Fragments are more efficient than divs when rendering lists of items
Q18. difference between Java OOPS and Python OOPS?
Java OOPS is class-based and strongly typed, while Python OOPS is dynamic and duck-typed.
Java OOPS requires explicit declaration of data types, while Python OOPS does not.
Java OOPS has strict rules for inheritance and polymorphism, while Python OOPS allows for more flexibility.
Java OOPS has a more verbose syntax, while Python OOPS is more concise and readable.
Example: Java - public class Car extends Vehicle; Python - class Car(Vehicle):
Q19. Types of polymorphism?
Polymorphism refers to the ability of an object to take on many forms. There are two types of polymorphism: compile-time and runtime.
Compile-time polymorphism is achieved through function overloading and operator overloading.
Runtime polymorphism is achieved through virtual functions and function overriding.
Example of compile-time polymorphism: function overloading - multiple functions with the same name but different parameters.
Example of runtime polymorphism: virtual functio...read more
Q20. Explain automation framework that you have worked on.
I have worked on a keyword-driven automation framework using Selenium and TestNG.
Used Excel sheets to store test data and keywords
Implemented reusable functions for common actions
Integrated with Jenkins for continuous integration
Supported parallel execution for faster testing
Q21. explain data encapsulation and data hiding
Data encapsulation is the bundling of data with the methods that operate on that data, while data hiding is the concept of hiding the implementation details of a class from the outside world.
Data encapsulation bundles data and methods together to protect data from outside interference.
Data hiding hides the implementation details of a class, allowing only necessary information to be accessed.
Encapsulation helps in achieving data abstraction and information hiding.
Example: In o...read more
Q22. Why change from mechanical core to IT
Transition from mechanical core to IT was driven by passion for technology and desire to work on cutting-edge systems.
Passion for technology and interest in IT drove the transition
Desire to work on cutting-edge systems and innovative projects
Opportunity to expand skill set and explore new career paths
Recognized the growing importance of IT in modern industries
Q23. Data structures, difference between hashmap, set, lists
HashMap, set, and lists are different data structures used in programming for storing and organizing data efficiently.
HashMap: key-value pairs, allows fast lookup of values based on keys (e.g. phonebook)
Set: collection of unique elements, no duplicates allowed (e.g. set of unique user IDs)
Lists: ordered collection of elements, allows duplicates and maintains insertion order (e.g. list of tasks)
Q24. What is garbage collector in JAVA
Garbage collector in JAVA is a program that automatically frees up memory by removing objects that are no longer in use.
Garbage collector is a part of JVM that manages memory allocation and deallocation
It runs in the background and frees up memory by removing objects that are no longer in use
It helps prevent memory leaks and improves performance
Examples of garbage collectors in JAVA are Serial, Parallel, CMS, and G1
Q25. What is Travelling salesman problem?
The Travelling Salesman Problem is a classic optimization problem where a salesman must visit a set of cities exactly once and return to the starting city with the shortest possible route.
Involves finding the shortest possible route that visits each city exactly once and returns to the starting city
Considered a NP-hard problem, meaning there is no known efficient algorithm to solve it for large number of cities
Applications in logistics, network routing, DNA sequencing, etc.
Ex...read more
Q26. What are the various joins in SQL
SQL joins are used to combine data from two or more tables based on a related column between them.
Inner join: returns only the matching rows from both tables
Left join: returns all the rows from the left table and matching rows from the right table
Right join: returns all the rows from the right table and matching rows from the left table
Full outer join: returns all the rows from both tables, with NULL values in the columns where there is no match
Cross join: returns the Cartesi...read more
Q27. What does init() method do ?
init() method initializes an object or a class.
init() method is used to initialize an object or a class.
It is called automatically when an object is created.
It can be used to set default values for object properties.
It can also be used to perform any necessary setup operations.
Example: __init__() method in Python.
Example: init() method in Java.
Example: viewDidLoad() method in iOS development.
Q28. Difference between C++ and Java in inheritance
C++ supports multiple inheritance while Java supports single inheritance.
C++ allows a class to inherit from multiple classes, while Java only allows a class to inherit from one class.
Java uses interfaces to achieve multiple inheritance-like behavior.
C++ inheritance is more flexible but can lead to ambiguity and complexity, while Java's single inheritance simplifies the design.
Example: C++ - class B: public A, public C; Java - class B extends A;
Example: Java - interface C { vo...read more
Q29. Explain Ooops concept with real world examples
OOPs concept is a programming paradigm based on the concept of objects, which can contain data in the form of fields and code in the form of procedures.
Encapsulation: Bundling data and methods that operate on the data into a single unit.
Inheritance: Allowing a class to inherit properties and behavior from another class.
Polymorphism: The ability to present the same interface for different data types.
Q30. Prime number code to be written
Code to generate prime numbers in an array
Create a function to check if a number is prime
Iterate through numbers and add prime numbers to an array
Return the array of prime numbers
Q31. Object Oriented concepts in Java
Object Oriented concepts in Java include classes, objects, inheritance, polymorphism, and encapsulation.
Classes are blueprints for objects, defining attributes and behaviors.
Objects are instances of classes, containing data and methods.
Inheritance allows a class to inherit attributes and methods from another class.
Polymorphism enables objects to be treated as instances of their parent class.
Encapsulation restricts access to certain components of an object.
Q32. How to secure web app
Securing a web app involves implementing various measures to protect against attacks and vulnerabilities.
Use HTTPS to encrypt data in transit
Implement strong authentication and authorization mechanisms
Regularly update and patch software and libraries
Use input validation and output encoding to prevent injection attacks
Implement security headers to prevent cross-site scripting and clickjacking
Regularly perform security audits and penetration testing
Implement rate limiting and o...read more
Q33. Explain OOPS principles ?
OOPS principles are a set of guidelines that help in creating modular, reusable, and maintainable code.
Encapsulation: Hiding the implementation details of an object and exposing only the necessary information.
Inheritance: Creating new classes from existing ones, inheriting their properties and methods.
Polymorphism: The ability of objects to take on multiple forms or behaviors.
Abstraction: Focusing on the essential features of an object and ignoring the non-essential ones.
Exam...read more
Q34. How to scale web app
Scaling a web app involves optimizing resources, load balancing, and implementing caching strategies.
Use load balancers to distribute traffic across multiple servers
Optimize database queries and use caching to reduce server load
Implement auto-scaling to add or remove resources based on traffic
Use content delivery networks (CDNs) to serve static assets
Consider using microservices architecture to break down the app into smaller components
Monitor performance and make adjustments...read more
Q35. Explain Java 8 Features
Java 8 introduced several new features including lambda expressions, functional interfaces, streams, and default methods.
Lambda expressions allow you to write code in a more concise way.
Functional interfaces are interfaces with a single abstract method, used for lambda expressions.
Streams provide a way to work with sequences of elements.
Default methods allow interfaces to have method implementations.
Example: Lambda expression - (a, b) -> a + b
Example: Functional interface - C...read more
Q36. Python libraries I used
I have used various Python libraries such as NumPy, Pandas, Matplotlib, and Scikit-learn.
NumPy for numerical computing and array manipulation
Pandas for data manipulation and analysis
Matplotlib for data visualization
Scikit-learn for machine learning algorithms
Q37. difference btwn array and list
Arrays are fixed-size data structures that store elements of the same data type, while lists are dynamic data structures that can store elements of different data types.
Arrays have a fixed size determined at the time of declaration, while lists can dynamically grow or shrink in size.
Arrays store elements of the same data type, while lists can store elements of different data types.
Arrays are accessed by index, while lists are accessed by iterators or pointers.
Example: Array -...read more
Q38. system design in microservices
System design in microservices involves breaking down a large application into smaller, independent services.
Decompose the application into smaller services that are loosely coupled
Each service should have a specific function and communicate with other services via APIs
Use containers like Docker for easy deployment and scaling
Implement service discovery and load balancing for efficient communication
Monitor and manage services using tools like Kubernetes
Q39. Explain Java 8 streams
Java 8 streams provide a way to process collections of objects in a functional style.
Streams are sequences of elements that support various operations like filter, map, reduce, etc.
They can be created from collections using the stream() method.
Streams can be parallelized to improve performance using parallelStream() method.
Terminal operations like forEach, collect, reduce are used to process the elements in a stream.
Q40. Explain design patterns
Design patterns are reusable solutions to common problems encountered in software design.
Design patterns provide a template for solving recurring design problems in software development.
They help in creating maintainable, scalable, and efficient code.
Examples include Singleton, Factory, Observer, and Strategy patterns.
Q41. Inheritance in Java
Inheritance in Java allows a class to inherit attributes and methods from another class.
Inheritance is achieved using the 'extends' keyword in Java.
Subclasses can access the members of the superclass using inheritance.
Java does not support multiple inheritance, but a class can implement multiple interfaces.
Q42. reverse a string
Reverse a string by iterating through the characters and swapping them
Create a function that takes a string as input
Initialize two pointers, one at the beginning and one at the end of the string
Swap the characters at the two pointers and move them towards the center until they meet
Q43. Define oops concept
Object-oriented programming paradigm that focuses on objects and classes
Encapsulation: bundling data and methods that operate on the data into a single unit
Inheritance: ability of a class to inherit properties and behavior from another class
Polymorphism: ability to present the same interface for different data types
Abstraction: hiding the complex implementation details and showing only the necessary features
Q44. API call in angular
API call in Angular is used to fetch data from a server and update the UI accordingly.
Use HttpClient module to make API calls in Angular
Create a service to encapsulate API call logic
Subscribe to the Observable returned by the API call
Handle errors and data processing in the subscribe method
More about working at TCS
Top HR Questions asked in Sonshiv Industries
Interview Process at Sonshiv Industries
Top System Engineer Hardware Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month