Tavant Technologies
40+ Agilysys Technologies India Interview Questions and Answers
Q1. Can you tell me what are the design patterns you worked?
I have worked with various design patterns including MVC, Singleton, Factory, and Observer.
MVC pattern for separating concerns in web applications
Singleton pattern for ensuring only one instance of a class is created
Factory pattern for creating objects without exposing the instantiation logic
Observer pattern for implementing event-driven architectures
Q2. Why string is immutable , is it possible to write our own immutable class?
String is immutable to ensure thread safety and security. Yes, we can write our own immutable class.
String is immutable to prevent accidental modification of data.
Immutable classes ensure thread safety and security.
We can write our own immutable class by making all fields final and not providing any setters.
Examples of immutable classes are String, Integer, and LocalDate.
Q3. Do you know difference between functional programming and object oriented programming?
Functional programming focuses on functions while object oriented programming focuses on objects and their interactions.
Functional programming emphasizes immutability and avoids side effects.
Object oriented programming uses classes and objects to encapsulate data and behavior.
Functional programming languages include Haskell and Lisp while object oriented programming languages include Java and C++.
Functional programming is often used for mathematical computations while object ...read more
Q4. What is the real time scenario , where you are using the circuit breaker ?
Circuit breaker is used to prevent cascading failures in distributed systems.
Circuit breaker is used to handle faults in microservices architecture.
It is used to prevent overloading of a service by temporarily stopping requests to it.
It helps in improving the resilience of the system by handling failures gracefully.
Example: If a service is down, circuit breaker will stop sending requests to it and will try again after a specified time interval.
It is also used for monitoring t...read more
Q5. How you previously handling microservices deployment?
I have experience using containerization tools like Docker and Kubernetes for microservices deployment.
I have used Docker to create container images for each microservice.
I have used Kubernetes to manage the deployment, scaling, and load balancing of the microservices.
I have also used Helm charts to package and deploy the microservices as a group.
I have implemented CI/CD pipelines using tools like Jenkins or GitLab to automate the deployment process.
I have monitored the micro...read more
Q6. How you implementing and validating the JWT token ?
JWT tokens are implemented and validated using a combination of server-side and client-side code.
The server generates a JWT token and sends it to the client upon successful authentication.
The client stores the token in local storage or a cookie.
For each subsequent request, the client sends the token in the Authorization header.
The server verifies the token's signature and expiration time before processing the request.
If the token is invalid or expired, the server returns a 40...read more
Q7. Which one is best constructor injection or Setter injection?
Constructor injection is preferred over Setter injection.
Constructor injection ensures that all required dependencies are provided at the time of object creation.
Setter injection allows for optional dependencies and can be used for dynamic changes.
Constructor injection is more secure as the object is fully initialized before use.
Setter injection can lead to inconsistent object states if not used carefully.
Constructor injection is easier to test and maintain.
Setter injection c...read more
Q8. Have you configured saga design pattern in your project?
Yes, I have configured saga design pattern in my project.
I have used saga design pattern to manage complex workflows and transactions.
I have implemented sagas using libraries like Redux-Saga and NServiceBus.
I have used sagas to handle scenarios like order processing, payment processing, and inventory management.
I have also used sagas to handle compensating transactions in case of failures.
Q9. Write own singleton class and secure it in multi threading environment?
A singleton class is a class that can only be instantiated once. It is important to secure it in a multi-threading environment.
Create a private constructor to prevent external instantiation
Create a private static instance of the class
Create a public static method to return the instance
Use synchronized keyword to ensure thread safety
Consider using double-checked locking to improve performance
Q10. Write code to find repeated characters in string with count using java 8?
Code to find repeated characters in string with count using Java 8
Convert string to char array
Use streams to group by character and count
Filter out characters with count less than 2
Print the repeated characters with their count
Q11. Do you know about orchestration and choreography design patterns?
Orchestration and choreography are design patterns used in distributed systems.
Orchestration involves a central controller that coordinates the interactions between services.
Choreography involves services communicating with each other directly without a central controller.
Orchestration is more suitable for complex workflows while choreography is more flexible.
Examples of orchestration tools include Kubernetes and Apache Airflow.
Examples of choreography tools include Apache Ka...read more
Q12. Get third highest salary in given employee list use java 8?
Get third highest salary in given employee list using Java 8
Sort the employee list in descending order of salary using Comparator
Use distinct() to remove duplicates
Skip the first two highest salaries using skip()
Use findFirst() to get the third highest salary
Q13. Difference between @Configuration and @Component annotations?
Difference between @Configuration and @Component annotations
The @Configuration annotation is used to define a configuration class that provides bean definitions
The @Component annotation is used to mark a class as a Spring component
Configuration classes can be imported into other configuration classes using @Import annotation
Components can be scanned and automatically registered as beans using @ComponentScan annotation
Q14. Have you involved in CI/CD process ?
Yes, I have extensive experience in implementing CI/CD pipelines.
I have worked with tools like Jenkins, GitLab CI/CD, and Travis CI.
I have automated build, test, and deployment processes for multiple projects.
I have integrated code quality checks and security scans into the pipeline.
I have also implemented blue-green and canary deployment strategies.
Overall, I understand the importance of continuous integration and delivery in modern software development.
Q15. Why we need Autowire in Spring ?
Autowire simplifies dependency injection in Spring by automatically wiring beans together.
Autowire eliminates the need for manual bean wiring in XML configuration files.
It reduces the amount of boilerplate code needed to configure dependencies.
Autowire can be used with different types of injection, such as constructor, setter, and field injection.
Example: @Autowired private MyService myService; will automatically inject the MyService bean into the field.
Example: @Autowired pu...read more
Q16. How you securing your microservices?
We secure our microservices using a combination of authentication, authorization, encryption, and monitoring.
We use OAuth2 for authentication and authorization.
We encrypt sensitive data using AES-256 encryption.
We use SSL/TLS for secure communication between microservices.
We implement rate limiting to prevent DDoS attacks.
We monitor our microservices using tools like Prometheus and Grafana.
We perform regular security audits and penetration testing.
Q17. Explain about design patterns you used ?
I have used various design patterns such as Singleton, Factory, Observer, and Decorator.
Singleton pattern was used to ensure only one instance of a class is created.
Factory pattern was used to create objects without exposing the instantiation logic to the client.
Observer pattern was used to notify the dependent objects when there is a change in the state of an object.
Decorator pattern was used to add new functionality to an existing object without altering its structure.
Q18. What is the benefit of Java8 Stream?
Java8 Stream provides a functional approach to processing collections of objects.
Allows for functional-style operations on collections like map, filter, reduce
Supports parallel processing for improved performance
Lazy evaluation allows for efficient processing of large datasets
Reduces boilerplate code and promotes cleaner, more concise code
Example: List
names = Arrays.asList("Alice", "Bob", "Charlie"); names.stream().filter(name -> name.startsWith("A")).forEach(System.out::pri...read more
Q19. How to prevent sql injection?
Prevent SQL injection by using parameterized queries and input validation.
Use parameterized queries instead of concatenating user input with SQL statements
Sanitize and validate user input before using it in a query
Limit database privileges for the user account used by the application
Use prepared statements and stored procedures
Avoid displaying database error messages to users
Q20. What is CopyOnWriteArrayList?
CopyOnWriteArrayList is a thread-safe variant of ArrayList where all mutative operations (add, set, remove, etc) are implemented by making a fresh copy of the underlying array.
CopyOnWriteArrayList is part of the java.util.concurrent package in Java.
It is used in scenarios where reads are far more common than writes, as it allows for high read concurrency without the need for synchronization.
It is particularly useful in situations where you have a large number of reads and onl...read more
Q21. How to register dependency Injection in asp.net core??
Dependency Injection in ASP.NET Core is registered in ConfigureServices method of Startup class.
Add services.AddSingleton
(); for singleton lifetime Add services.AddScoped
(); for scoped lifetime Add services.AddTransient
(); for transient lifetime
Q22. Public subnet vs Private subnet in AWS
Public subnet allows internet access, while private subnet does not.
Public subnet has a route to the internet gateway, while private subnet does not.
Instances in public subnet can have public IP addresses, while instances in private subnet cannot.
Public subnet is typically used for resources that need to be accessed from the internet, while private subnet is used for resources that should not be directly accessible from the internet.
Q23. How to improve performance of an Stored procedure
To improve performance of a Stored procedure, optimize query, use indexes, minimize data retrieval, and avoid cursors.
Optimize query by using proper indexing
Minimize data retrieval by fetching only required columns
Avoid using cursors for looping through data
Use SET NOCOUNT ON to stop the message indicating the number of rows affected by a Transact-SQL statement
Q24. Budgets about the programas and how you manage clients
I manage program budgets by closely monitoring expenses and ensuring they align with client expectations.
Regularly review and update budgets to track expenses and ensure they are within scope
Communicate with clients to understand their budget constraints and priorities
Negotiate with vendors to secure competitive pricing and maximize budget efficiency
Q25. Difference between read-only and const with an example
Read-only variables can be modified by the program, while const variables cannot be changed.
Read-only variables can be modified by the program during runtime, while const variables cannot be changed at all.
Using 'const' keyword ensures that the value of the variable remains constant throughout the program.
Read-only variables are typically used when the value needs to be initialized at runtime, while const variables are used for values that should not change.
Example: int readO...read more
Q26. What is the content-type for attaching file in post request?
The content-type for attaching a file in a post request is 'multipart/form-data'.
The content-type 'multipart/form-data' is used when submitting forms that contain files.
It allows multiple parts to be combined into a single body, each part representing a different form field or file.
The 'Content-Disposition' header is used to specify the name of the file being uploaded.
Q27. How to navigate between different windows selenium code?
To navigate between different windows in Selenium code, use getWindowHandles() to get all window handles and switchTo() to switch between them.
Use getWindowHandles() to get all window handles
Use switchTo() to switch between windows
Example: Set
windowHandles = driver.getWindowHandles(); driver.switchTo().window(windowHandles.toArray()[1]);
Q28. Write code on abstract class and interface?
Abstract classes and interfaces are used in object-oriented programming to define common behavior and structure for classes.
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Classes can implement multiple interfaces but can only inherit from one abstract class.
Abstract classes can have constructors, while interfaces cannot.
Example: abstract class Animal { abstract void makeSound(); } interface Flyable { void fly(); ...read more
Q29. Agile methodologies - advantage, but down, burnup charts.
Agile methodologies offer advantages such as flexibility and adaptability, but require careful management of burnup charts.
Agile methodologies prioritize collaboration and adaptability over rigid planning and documentation.
This approach can lead to faster development and more responsive teams.
However, it also requires careful management of burnup charts to ensure that progress is being made and goals are being met.
Burnup charts can help teams track progress and identify poten...read more
Q30. SQL query to return all the employees who are earning more than their Manager
Q31. What is Polymorphism ?
Polymorphism is the ability of a single function or method to operate on different types of data.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
There are two types of polymorphism: compile-time (method overloading) and runtime (method overriding).
Example of compile-time polymorphism: function overloading where multiple functions have the same name but different parameters.
Example of runtime polymorphism: method overriding wher...read more
Q32. What is inceptor in angular?
Inceptor in Angular is a service that allows intercepting HTTP requests and responses.
Inceptor is used for modifying requests or responses before they are sent or received.
It can be used for adding headers, logging, error handling, etc.
Example: intercepting requests to add authentication token.
Q33. Difference between abstract class and interface
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructors, fields, and methods, while interface cannot have any implementation.
A class can implement multiple interfaces but can only inherit from one abstract class.
Abstract classes are used to define a common behavior for subclasses, while interfaces are used to define a contract for classes to implement.
Example: Abstract class 'Animal' w...read more
Q34. What is recruitment cycle? What is work life balance?
Recruitment cycle is the process of identifying, attracting, interviewing, selecting, and hiring employees.
Identifying the need for a new employee
Creating a job description and posting it on job boards
Reviewing resumes and conducting interviews
Selecting the best candidate and making a job offer
Onboarding the new employee
Monitoring and evaluating the new hire's performance
Q35. What is dependency Injection
Dependency Injection is a design pattern in which components are given their dependencies rather than creating them internally.
Allows for easier testing by providing mock dependencies
Promotes loose coupling between components
Improves code reusability and maintainability
Commonly used in frameworks like Spring in Java
Q36. Tell about abstraction and encapsulation
Abstraction focuses on hiding the implementation details while encapsulation bundles the data and methods into a single unit.
Abstraction allows us to focus on the essential features of an object while hiding the irrelevant details.
Encapsulation helps in bundling the data and methods that operate on the data into a single unit.
Abstraction is achieved through abstract classes and interfaces in object-oriented programming.
Encapsulation helps in achieving data hiding and access c...read more
Q37. What are the Security Features of Snowflake
Q38. Basic concept of Swift, Primary label of DS
Swift is a programming language used for iOS, macOS, watchOS, and tvOS development. Primary label of DS is data structure.
Swift is a statically typed language developed by Apple.
It is used for developing applications for Apple's platforms.
Data structure is a way of organizing and storing data in a computer so that it can be accessed and used efficiently.
Examples of data structures include arrays, linked lists, and trees.
Q39. What is timetravel in Snowflake?
Q40. Write the Syntax for Creating External Stage
Q41. Explain abt JWT
JWT stands for JSON Web Token, a compact and self-contained way for securely transmitting information between parties as a JSON object.
JWT is commonly used for authentication and information exchange in web development.
It consists of three parts: header, payload, and signature.
The header typically consists of the type of token and the signing algorithm being used.
The payload contains the claims, which are statements about an entity and additional data.
The signature is used to...read more
Q42. Oops concept for java
Object-oriented programming (OOP) is a programming paradigm that uses objects to represent and manipulate data.
OOP allows for modular and reusable code.
It emphasizes encapsulation, inheritance, and polymorphism.
Java supports OOP through classes, objects, and interfaces.
Example: Creating a class 'Car' with properties like 'color' and 'speed', and methods like 'start' and 'stop'.
Q43. xml top-down approach
XML top-down approach is a methodology where the structure of an XML document is designed first and then the data is filled in.
Design the XML structure before populating it with data
Start with the root element and define child elements and their attributes
Use XML Schema Definition (XSD) to define the structure and data types
Create the XML document based on the defined structure
Populate the XML document with data
Q44. finacial of projects
Financial aspects of projects involve budgeting, cost estimation, financial tracking, and resource allocation.
Budgeting is crucial to ensure that the project stays within financial constraints.
Cost estimation helps in predicting the expenses involved in the project.
Financial tracking involves monitoring expenses and revenues throughout the project.
Resource allocation ensures that funds are distributed efficiently to meet project requirements.
Q45. write an lwc component
An LWC component for displaying a list of contacts
Create a new LWC component with the necessary HTML, CSS, and JavaScript files
Use the @wire decorator to fetch a list of contacts from Salesforce
Display the list of contacts using HTML template and iterate over the data
Top HR Questions asked in Agilysys Technologies India
Interview Process at Agilysys Technologies India
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month