Connectwise India
10+ Yara International Interview Questions and Answers
Q1. OOPs concepts and difference between abstraction vs encapsulation
Abstraction focuses on what an object does, while encapsulation focuses on how it does it.
Abstraction is the process of hiding complex implementation details and showing only the necessary information to the user.
Encapsulation is the process of wrapping data and methods into a single unit, preventing direct access to the data from outside the unit.
Abstraction is achieved through abstract classes and interfaces.
Encapsulation is achieved through access modifiers like public, pr...read more
Q2. what you do to find out issue in code
I use a combination of debugging tools and techniques to identify and resolve issues in code.
I start by reproducing the issue and identifying the scope of the problem.
I use debugging tools like breakpoints, logging, and tracing to narrow down the issue.
I review the code and documentation to understand the expected behavior.
I collaborate with team members to get a fresh perspective and brainstorm solutions.
I test and validate the fix before deploying it to production.
Q3. dependency injection, and compare it with concrete class
Dependency injection is a design pattern that allows objects to be passed as dependencies rather than being created within a class.
Dependency injection promotes loose coupling and makes code more testable.
Concrete classes are tightly coupled and can be difficult to test.
Dependency injection can be achieved through constructor injection, setter injection, or interface injection.
Example: A class that requires a database connection can be passed the connection object through dep...read more
Q4. Microservice architecture and how do you call one service from another service
Microservice architecture involves breaking down a large application into smaller, independent services. Services can communicate with each other through APIs.
Microservice architecture breaks down a large application into smaller, independent services that can be developed, deployed, and scaled independently.
Services communicate with each other through APIs, typically using HTTP/REST or messaging protocols like RabbitMQ or Kafka.
One service can call another service by making ...read more
Q5. how to improve query performance
Improving query performance involves optimizing database design, indexing, and query structure.
Optimize database design by normalizing tables and reducing redundant data
Create indexes on frequently queried columns
Use efficient query structure, such as avoiding subqueries and using joins
Consider using caching or denormalization for frequently accessed data
Q6. middleware and how it works
Middleware is software that connects different applications or systems together.
Middleware acts as a bridge between different applications or systems
It provides a common platform for communication and data exchange
Examples of middleware include message queues, API gateways, and ESBs
Q7. temp table vs cte in sql
Temp tables are physical tables created in tempdb while CTEs are temporary result sets.
Temp tables are useful for storing intermediate results and can be indexed.
CTEs are useful for simplifying complex queries and can be recursive.
Temp tables require more resources and can cause contention in tempdb.
CTEs are limited to the scope of a single query.
Example: CREATE TABLE #temp (id INT); WITH cte AS (SELECT id FROM table) SELECT * FROM cte;
Example: WITH recursive_cte AS (SELECT 1...read more
Q8. what is your project architecture?
My project architecture follows a microservices design pattern with a combination of front-end and back-end technologies.
Utilizes microservices design pattern
Combination of front-end and back-end technologies
Uses RESTful APIs for communication between services
Q9. what is static, finally, super keywords
Keywords used in Java programming language
static keyword is used to create class-level variables and methods
finally keyword is used in exception handling to define a block of code that will always be executed
super keyword is used to refer to the superclass of the current object
Q10. SOLID priciple with example
SOLID principle is a set of five design principles to make software more maintainable, flexible and scalable.
S - Single Responsibility Principle: A class should have only one reason to change.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification.
L - Liskov Substitution Principle: Subtypes must be substitutable for their base types.
I - Interface Segregation Principle: Clients should not be forced to depend on interfaces they do n...read more
Q11. transient vs scope difference
Transient variables are not serialized, while scoped variables are.
Transient variables are not saved when an object is serialized and deserialized.
Scoped variables are saved when an object is serialized and deserialized.
Transient variables are used to indicate that a variable should not be serialized.
Scoped variables are used to indicate that a variable should be serialized.
Q12. Differencem between singly and doubly linked list
Singly linked list has one pointer in each node pointing to the next node, while doubly linked list has two pointers - one pointing to the next node and one pointing to the previous node.
Singly linked list is more memory efficient as it only requires one pointer per node.
Doubly linked list allows for traversal in both directions, while singly linked list only allows traversal in one direction.
Insertions and deletions are faster in doubly linked list as compared to singly link...read more
Q13. Write code to swap elements in array,use go
Code to swap elements in array using Go
Create a function that takes in an array of strings and two indices to swap
Use a temporary variable to store one of the elements before swapping
Update the array with the elements swapped
Q14. what is polymorphism and types
Polymorphism is the ability of a function or method to behave differently based on the object it is called with.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
Types of polymorphism include compile-time (method overloading) and runtime (method overriding) polymorphism.
Example: Animal superclass with subclasses Dog and Cat. Both Dog and Cat can be treated as Animals.
Q15. Types of exceptions with example
Types of exceptions include checked and unchecked exceptions.
Checked exceptions are checked at compile time, like IOException.
Unchecked exceptions are not checked at compile time, like NullPointerException.
Top Software Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month