UST
300+ GUS Education India Interview Questions and Answers
Q1. Nth Prime Number Problem Statement
Find the Nth prime number given a number N.
Explanation:
A prime number is greater than 1 and is not the product of two smaller natural numbers. A prime number has exactly two...read more
The task is to find the Nth prime number given a number N.
A prime number is a number greater than 1 that is not a product of two smaller natural numbers.
Prime numbers have only two factors - 1 and the number itself.
Start with a counter at 0 and a number at 2.
Increment the number by 1 and check if it is prime.
If it is prime, increment the counter.
Repeat until the counter reaches N.
Return the last prime number found.
Q2. LRU Cache Design Problem Statement
Design and implement a data structure for a Least Recently Used (LRU) cache that supports the following operations:
get(key)
- Retrieve the value associated with the specifie...read more
The question is about designing and implementing a data structure for LRU cache to support get and put operations.
LRU cache is a cache replacement policy that removes the least recently used item when the cache reaches its capacity.
The cache is initialized with a capacity and supports get(key) and put(key, value) operations.
For each get operation, return the value of the key if it exists in the cache, otherwise return -1.
For each put operation, insert the value in the cache i...read more
Q3. String Compression Task
Develop an algorithm that compresses a string by replacing consecutive duplicate characters with the character followed by the count of its repetitions, if that count exceeds 1.
Example:...read more
Develop an algorithm to compress a string by replacing consecutive duplicate characters with the character followed by the count of its repetitions.
Iterate through the input string while keeping track of consecutive character counts.
Replace consecutive duplicate characters with the character followed by the count if count exceeds 1.
Ensure the count does not exceed 9 for each character.
Return the compressed string as output.
Q4. Excel Column Number Conversion
Given a column title as it appears in an Excel sheet, your task is to return its corresponding column number.
Example:
Input:
S = "AB"
Output:
28
Explanation:
The sequence is as f...read more
Convert Excel column title to corresponding column number.
Iterate through the characters in the input string from right to left
Calculate the corresponding value of each character based on its position and multiply by 26^index
Sum up all the values to get the final column number
Q5. Binary Tree K-Sum Paths Problem
Given a binary tree where each node contains an integer value, and a number 'K', your task is to find and output all paths in the tree where the sum of the node values equals 'K'...read more
Find all paths in a binary tree where the sum of node values equals a given number 'K'.
Traverse the binary tree in a depth-first manner while keeping track of the current path and sum of node values.
When reaching a leaf node, check if the current path sum equals 'K'. If so, add the path to the result.
Continue traversal to explore all possible paths in the tree.
Return the list of paths that satisfy the condition.
Example: For input tree 1 2 3 4 -1 5 6 -1 7 -1 -1 -1 -1 -1 -1 and...read more
Q6. Next Permutation Task
Design a function to generate the lexicographically next greater permutation of a given sequence of integers that form a permutation.
A permutation contains all integers from 1 to N exactl...read more
Design a function to generate the lexicographically next greater permutation of a given sequence of integers that form a permutation.
Understand the concept of lexicographically next permutation using algorithms like 'next_permutation' in C++ or 'permutations' in Python.
Implement a function that generates the next lexicographically greater permutation of a given sequence of integers.
Handle cases where no greater permutation exists by returning the lexicographically smallest pe...read more
Q7. Convert Sentence Problem Statement
Convert a given string 'S' into its equivalent representation based on a mobile numeric keypad sequence. Using the keypad layout shown in the reference, output the sequence of...read more
The task is to convert a given string into its equivalent representation based on a mobile numeric keypad sequence.
Iterate through each character in the input string and find its corresponding numeric representation on the keypad
Use a mapping of characters to numbers based on the keypad layout provided in the reference
Output the sequence of numbers that corresponds to typing the input string on the keypad
Q8. Two Sum Pair Finding Task
Given an array of integers ARR
of length N
and an integer Target
, your objective is to find and return all pairs of distinct elements in the array that sum up to the Target
.
Input:
int...read more
Given an array of integers and a target integer, find and return all pairs of distinct elements that sum up to the target.
Iterate through the array and for each element, check if the difference between the target and the element exists in a hash set.
If it does, add the pair to the result set. If not, add the current element to the hash set.
Ensure not to use an element at an index more than once to avoid duplicate pairs.
Q9. Trapping Rainwater Problem Statement
You are provided with an array/list named 'ARR' of size 'N'. This array represents an elevation map where 'ARR[i]' indicates the elevation of the 'ith' bar. Calculate and ou...read more
Calculate total amount of rainwater that can be trapped between bars in an elevation map.
Iterate through the array to find the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped above each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water above each bar to get the total trapped water for the entire elevation map.
Q10. Longest Increasing Subsequence Problem Statement
Given an array of integers with 'N' elements, determine the length of the longest subsequence where each element is greater than the previous element. This subse...read more
Find the length of the longest strictly increasing subsequence in an array of integers.
Use dynamic programming to solve this problem efficiently.
Initialize an array to store the length of the longest increasing subsequence ending at each index.
Iterate through the array and update the length of the longest increasing subsequence for each element.
Return the maximum value in the array as the length of the longest increasing subsequence.
Lambda expression in Java is a concise way to represent a single method interface.
Lambda expressions are used to provide a concise way to implement functional interfaces in Java.
They can be used to replace anonymous classes when implementing functional interfaces.
Lambda expressions consist of parameters, an arrow (->), and a body that defines the implementation of the functional interface method.
Example: (x, y) -> x + y is a lambda expression that takes two parameters and ret...read more
Q12. Middle of Linked List
Given the head node of a singly linked list, your task is to return a pointer to the middle node of the linked list.
If there are an odd number of elements, return the middle element. If t...read more
Return the middle node of a singly linked list, considering odd and even number of elements.
Traverse the linked list with two pointers, one moving twice as fast as the other
When the fast pointer reaches the end, the slow pointer will be at the middle
Return the node pointed by the slow pointer as the middle node
Autowiring in Spring Boot is a way to automatically inject dependencies into Spring beans.
Autowiring is a feature in Spring that allows the container to automatically inject the dependencies of a bean.
There are different modes of autowiring in Spring: 'byName', 'byType', 'constructor', 'autodetect', and 'no'.
For example, in 'byName' autowiring, Spring looks for a bean with the same name as the property being autowired.
The start() method is used to start a new thread and execute the run() method.
The start() method creates a new thread and calls the run() method.
The run() method contains the code that will be executed in the new thread.
Calling the run() method directly will not create a new thread.
The start() method should be called to start the execution of the new thread.
Thread class is a class in Java that extends the Thread class, while Runnable interface is an interface that implements the run() method.
Thread class extends the Thread class, while Runnable interface implements the run() method.
A class can only extend one class, so using Runnable interface allows for more flexibility in inheritance.
Using Runnable interface separates the task of the thread from the thread itself, promoting better design practices.
Q16. If a application is running slow what process would you follow to find root cause of this? Specify for database , backend api and frontend side.
Process to find root cause of slow application for database, backend api and frontend side.
Check server logs for errors and warnings
Use profiling tools to identify bottlenecks
Optimize database queries and indexes
Minimize network requests and optimize API responses
Reduce image and file sizes for faster loading
Use caching to reduce server load
Check for memory leaks and optimize memory usage
Use multiple threads to print numbers from 1 to 100 in an optimized manner.
Divide the range of numbers (1-100) among the threads to avoid overlap.
Use synchronization mechanisms like mutex or semaphore to ensure orderly printing.
Consider using a thread pool to manage and reuse threads efficiently.
Q18. =>What is garbage collection in c# =>What is dispose and finalise in c# =>What is managed resoures and unmanaged resource in c# =>what is clr,cls,and cts in c# =>what is singleton pattern in c# =>filters order...
read moreTechnical interview questions for Software Engineer III position
Garbage collection in C# is an automatic memory management process
Dispose and Finalize are methods used to release resources
Managed resources are objects that are managed by the .NET runtime, while unmanaged resources are external resources that are not managed by the runtime
CLR (Common Language Runtime) is the virtual machine component of .NET, CLS (Common Language Specification) is a set of rules that language ...read more
Garbage collector in Java is responsible for automatic memory management.
Garbage collector automatically reclaims memory by freeing objects that are no longer referenced.
It runs in the background and identifies unused objects based on reachability.
Different garbage collection algorithms like Mark and Sweep, Copying, and Generational are used.
Garbage collector can be tuned using JVM options like -Xmx and -Xms.
Example: System.gc() can be used to suggest garbage collection, but ...read more
The start() method is used to start a new thread, while the run() method contains the code that the thread will execute.
start() method is used to start a new thread and calls the run() method internally
run() method contains the code that the thread will execute
It is recommended to override the run() method with the desired functionality
Exception handling is a mechanism in programming to handle and manage errors or exceptional situations that may occur during program execution.
Exception handling is used to catch and handle errors or exceptions in a program.
It allows the program to gracefully handle errors and prevent abrupt termination.
Exception handling involves the use of try-catch blocks to catch and handle exceptions.
The catch block contains code to handle the exception, such as displaying an error messa...read more
HashSet is an unordered collection that uses hashing to store elements, while TreeSet is a sorted collection that uses a binary search tree.
HashSet does not maintain any order of elements, while TreeSet maintains elements in sorted order.
HashSet allows null values, while TreeSet does not allow null values.
HashSet has constant time complexity for basic operations like add, remove, and contains, while TreeSet has logarithmic time complexity.
HashSet is generally faster for addin...read more
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructor, fields, and methods, while interface cannot have any implementation.
A class can only extend one abstract class, but can implement multiple interfaces.
Abstract classes are used to define common behavior among subclasses, while interfaces are used to define a contract for classes to implement.
Example: Abstract class 'Animal' with ab...read more
Thread Scheduler is responsible for managing the execution of multiple threads in a multitasking environment.
Thread Scheduler determines the order in which threads are executed.
It allocates CPU time to each thread based on priority and scheduling algorithm.
Time Slicing is a technique used by Thread Scheduler to allocate a fixed time slice to each thread before switching to another.
It ensures fair execution of threads and prevents a single thread from monopolizing the CPU.
Exam...read more
Spring Boot offers basic annotations for various functionalities like mapping requests, handling exceptions, defining beans, etc.
1. @RestController - Used to define RESTful web services.
2. @RequestMapping - Maps HTTP requests to handler methods.
3. @Autowired - Injects dependencies automatically.
4. @Component - Indicates a class is a Spring component.
5. @ExceptionHandler - Handles exceptions in Spring MVC controllers.
The @SpringBootApplication annotation is used to mark the main class of a Spring Boot application.
It is a combination of @Configuration, @EnableAutoConfiguration, and @ComponentScan annotations.
It tells Spring Boot to start adding beans based on classpath settings, other beans, and various property settings.
It is used to bootstrap the Spring application context, starting the auto-configuration, component scanning, and property support.
A process is an independent entity that contains its own memory space, while a thread is a subset of a process and shares the same memory space.
A process has its own memory space and resources, while threads share the same memory space and resources within a process.
Processes are independent of each other, while threads within the same process can communicate with each other more easily.
Processes are heavier in terms of resource consumption compared to threads.
An example of a...read more
Thread starvation occurs when a thread is unable to access the CPU resources it needs to execute its tasks.
Thread starvation happens when a thread is constantly waiting for a resource that is being monopolized by other threads.
It can occur due to poor resource management or priority scheduling.
Examples include a low-priority thread being constantly preempted by high-priority threads or a thread waiting indefinitely for a lock held by another thread.
Abstract class is a class that cannot be instantiated and can have both abstract and non-abstract methods. Interface is a blueprint for a class and can only have abstract methods.
Abstract class can have constructors while interface cannot.
A class can implement multiple interfaces but can only extend one abstract class.
Abstract class can have instance variables while interface cannot.
Abstract class can provide default implementations for some methods while interface cannot.
Int...read more
FCFS (First-Come, First-Served) is a scheduling algorithm where tasks are executed in the order they arrive.
Tasks are processed based on their arrival time, with the first task arriving being the first to be executed.
It is a non-preemptive scheduling algorithm, meaning once a task starts, it runs to completion without interruption.
FCFS is simple to implement but may lead to longer waiting times for tasks that arrive later.
Example: A printer queue where print jobs are processe...read more
BlockingQueue is a thread-safe queue that blocks when it is full or empty.
BlockingQueue is part of the Java Concurrency API.
It provides methods like put() and take() to add and remove elements from the queue.
When the queue is full, put() blocks until space becomes available.
When the queue is empty, take() blocks until an element is available.
It is commonly used in producer-consumer scenarios.
Q32. Explain SDLC and STLC, Whats the difference between list and tuple Whats the assert and verify Elements
SDLC and STLC, list vs tuple, assert vs verify
SDLC (Software Development Life Cycle) is a process followed to develop software
STLC (Software Testing Life Cycle) is a process followed to test software
List and tuple are both data structures in Python, but list is mutable while tuple is immutable
Assert is used to check if a condition is true, while verify is used to check if a web element is present
Both assert and verify are used in automated testing
Example: assert 2+2 == 4, ver...read more
Lambda expressions in Java 8 are used to provide a concise way to represent a single method interface.
Lambda expressions are used to provide implementation of functional interfaces.
They enable you to treat functionality as a method argument, or code as data.
Syntax of lambda expressions is (argument) -> (body).
Example: (int a, int b) -> a + b
PUT is used to update or replace an existing resource, while POST is used to create a new resource.
PUT is idempotent, meaning multiple identical requests will have the same effect as a single request
POST is not idempotent, meaning multiple identical requests may have different effects
PUT requests are used to update an existing resource with a new representation, while POST requests are used to create a new resource
PUT requests are typically used for updating specific fields o...read more
MVC components include Model (data), View (UI), and Controller (logic) for organizing code in a software application.
Model: Represents data and business logic, interacts with the database. Example: User model storing user information.
View: Represents the UI, displays data to the user. Example: HTML/CSS templates for displaying user profile.
Controller: Handles user input, updates the model, and selects the view to display. Example: User controller handling user registration.
Q36. How to use design phase in software development?
Design phase is crucial in software development to plan and visualize the system architecture and functionality.
Identify the requirements and constraints
Create a high-level design and break it down into smaller components
Choose appropriate technologies and tools
Consider scalability, maintainability, and security
Iterate and refine the design based on feedback
Examples: UML diagrams, flowcharts, wireframes
Q37. How to listen S3 has a fileChange, how can you manage multiple insertion of same file..
To manage multiple insertions of the same file in S3, use versioning and object locking.
Enable versioning on the S3 bucket to keep track of changes to the file.
Use object locking to prevent multiple insertions of the same file at the same time.
Implement a notification system to alert users when a file has been updated.
Consider using a unique identifier for each file to avoid confusion.
Implement a backup and recovery plan in case of accidental deletion or corruption.
Q38. 1.If an URL is not reachable then what are all the possible reasons?
Possible reasons for an unreachable URL
Server is down
Incorrect URL
DNS resolution failure
Firewall or security settings
Network connectivity issues
Q39. find average salary of employees from given table for each designation where employee age greater than 30
Calculate average salary of employees over 30 for each designation.
Filter employees with age > 30
Group employees by designation
Calculate average salary for each group
Q40. To find sum of even numbers from given arraylist using stream api
Using stream API to find the sum of even numbers from an ArrayList
Convert the ArrayList to a stream using the stream() method
Filter the stream to keep only the even numbers using the filter() method
Use the mapToInt() method to convert the stream of even numbers to an IntStream
Finally, use the sum() method to calculate the sum of the even numbers
Q41. Can you explain what is I in SOLID design principles
I stands for Interface Segregation Principle in SOLID design principles.
Interface Segregation Principle states that a client should not be forced to depend on methods it does not use.
It promotes the use of smaller, cohesive interfaces instead of large, monolithic ones.
This helps in reducing the coupling between different components of the system.
For example, if a class needs only a subset of methods from an interface, it should not be forced to implement all the methods.
Inste...read more
Q42. How to make singleton class thread safe, what is volatile?
To make a singleton class thread safe, use synchronized keyword or double-checked locking. Volatile keyword ensures visibility of changes across threads.
Use synchronized keyword to ensure only one thread can access the instance at a time
Use double-checked locking to avoid unnecessary synchronization
Declare the instance variable as volatile to ensure visibility of changes across threads
Example: public static synchronized Singleton getInstance() { if (instance == null) { instan...read more
SOLID principles are a set of five design principles in object-oriented programming to make software designs more understandable, flexible, and maintainable.
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: Objects of a superclass should be replaceable with objects of its subclasses without affecting the func...read more
N+1 SELECT problem in Hibernate occurs when a query results in N+1 database queries being executed instead of just one.
Occurs when a query fetches a collection of entities and then for each entity, another query is executed to fetch related entities individually
Can be resolved by using fetch joins or batch fetching to fetch all related entities in a single query
Example: Fetching a list of orders and then for each order, fetching the customer details separately
Q45. Difference between RestController and Controller annotations
RestController is used for RESTful web services while Controller is used for general web requests.
RestController is a specialization of Controller annotation in Spring framework.
RestController is used to create RESTful web services that return JSON or XML data.
Controller is used for handling general web requests and returning views (HTML).
RestController is typically used for APIs while Controller is used for traditional web applications.
Q46. How Concurrent Hashmap work internally, why you dont use other synchronized structure instead
ConcurrentHashMap is a thread-safe implementation of Map interface in Java.
ConcurrentHashMap allows multiple threads to read and write concurrently without blocking each other.
It internally divides the map into segments and locks each segment separately to allow concurrent access.
Other synchronized structures like Hashtable and synchronizedMap lock the entire map, causing performance issues.
ConcurrentHashMap is preferred over synchronized structures in high-concurrency scenar...read more
The @RestController annotation in Spring Boot is used to define a class as a RESTful controller.
Used to create RESTful web services in Spring Boot
Combines @Controller and @ResponseBody annotations
Eliminates the need to annotate every method with @ResponseBody
Returns data directly in the response body as JSON or XML
Hibernate provides several concurrency strategies like optimistic locking, pessimistic locking, and versioning.
Optimistic locking: Allows multiple transactions to read a row simultaneously, but only one can update it at a time.
Pessimistic locking: Locks the row for exclusive use by one transaction, preventing other transactions from accessing it.
Versioning: Uses a version number to track changes to an entity, allowing Hibernate to detect and resolve conflicts.
Indexing in databases is a technique used to improve the speed of data retrieval by creating a data structure that allows for quick lookups.
Indexes are created on columns in a database table to speed up the retrieval of data.
They work similar to an index in a book, allowing the database to quickly locate the rows that match a certain criteria.
Examples of indexes include primary keys, unique keys, and composite keys.
Without indexes, the database would have to scan the entire t...read more
Q50. Fail safe fail fast Why is string immutable String buffer vs String builder Executor framework Lombok Transient Volatile Synchronized keyword Finally keyword Finalize Will finally execute if we return from try...
read moreQuestions related to Java concepts and frameworks
Fail safe fail fast - used in concurrent programming to handle exceptions and ensure thread safety
String is immutable to ensure thread safety and prevent unintended changes to the string
String buffer vs String builder - both are used to manipulate strings, but string builder is faster and not thread-safe
Executor framework - used for asynchronous task execution and thread pooling
Lombok Transient Volatile Synchronized keyword Fin...read more
Independent microservices communicate through APIs, messaging queues, or event-driven architecture.
Use RESTful APIs for synchronous communication between microservices
Implement messaging queues like RabbitMQ or Kafka for asynchronous communication
Leverage event-driven architecture with tools like Apache Kafka or AWS SNS/SQS
Consider gRPC for high-performance communication between microservices
Q52. What is the difference between overlay and underlay?
Overlay is a network virtualization technique that adds a layer of abstraction over the physical network, while underlay refers to the physical network infrastructure.
Overlay is used to create virtual networks on top of the physical network infrastructure.
Underlay refers to the physical network infrastructure that provides connectivity between devices.
Overlay networks are used to provide network virtualization, multi-tenancy, and network segmentation.
Underlay networks are res...read more
A thread in Java is a lightweight sub-process that allows concurrent execution within a single process.
Threads allow multiple tasks to be executed concurrently in a Java program
Threads share the same memory space and resources within a process
Example: Creating a new thread - Thread myThread = new Thread();
Q54. How to access rest endpoint in Asynchronous manner
To access rest endpoint in asynchronous manner, use AJAX or fetch API with async/await or promises.
Use AJAX or fetch API to make asynchronous requests to the REST endpoint
Use async/await or promises to handle the asynchronous response
Ensure that the endpoint supports asynchronous requests
Q55. in which tool you are using?
I am currently using Visual Studio Code as my primary tool for software development.
Visual Studio Code is a lightweight and versatile code editor.
It has a wide range of extensions and plugins available for customization.
It supports multiple programming languages and has built-in Git integration.
Other tools I have experience with include Eclipse, IntelliJ IDEA, and Sublime Text.
Q56. Difference between smoke and sanity test?
Smoke test is a subset of sanity test. Smoke test checks if the critical functionalities are working. Sanity test checks if the major functionalities are working.
Smoke test is performed to ensure that the critical functionalities of the software are working as expected.
Sanity test is performed to ensure that the major functionalities of the software are working as expected.
Smoke test is a subset of sanity test.
Smoke test is a quick and shallow test to identify major issues ea...read more
Q57. Which interface used to prevent SQL injection
Prepared Statements interface is used to prevent SQL injection.
Prepared Statements interface is used to parameterize the SQL queries.
It allows the separation of SQL code and user input.
It helps to prevent SQL injection attacks by automatically escaping special characters.
Examples: PDO, mysqli, Java PreparedStatement, etc.
Virtual functions in C++ allow a function to be overridden in a derived class, enabling polymorphic behavior.
Virtual functions are declared in a base class with the 'virtual' keyword.
They are meant to be overridden in derived classes to provide specific implementations.
When a virtual function is called through a base class pointer or reference, the actual function to be executed is determined at runtime based on the object's type.
Example: class Shape { virtual void draw() { ....read more
Q59. How to it can help in software development?
Collaboration tools can help in software development by improving communication, increasing productivity, and facilitating project management.
Collaboration tools like Slack, Trello, and Jira can improve communication between team members and stakeholders.
Version control systems like Git can help manage code changes and facilitate collaboration among developers.
Project management tools like Asana and Basecamp can help teams stay organized and on track.
Code review tools like Gi...read more
Q60. How can you get 5th row from a PS file through JCL
Use JCL to extract 5th row from a PS file
Use the SORT utility in JCL to extract the 5th row from the PS file
Specify the starting position and length of the record in the SORT statement
Use the OUTFIL statement to write the extracted row to an output file
Q61. What’s approach of writing test cases by giving a scenario or requirement
Test cases should be written based on scenarios or requirements to ensure thorough testing coverage.
Understand the scenario or requirement thoroughly before writing test cases
Identify different test scenarios based on the given scenario or requirement
Write test cases that cover positive, negative, and edge cases
Include preconditions and expected outcomes in each test case
Ensure test cases are clear, concise, and easy to understand
Review and validate test cases with stakeholde...read more
Q62. What are the Test Class writing best practices you have followed?
Q63. Authentication and authorisation mechanism used in the application
The application uses OAuth 2.0 for authentication and role-based access control for authorisation.
OAuth 2.0 is an industry-standard protocol for authorisation and authentication.
Role-based access control restricts access based on the user's role.
Examples of roles include admin, user, and guest.
OAuth 2.0 allows users to grant access to their resources without sharing their credentials.
The application may also use multi-factor authentication for added security.
Q64. What is Bug, error, black box testing?
Bug is a defect in software, error is a mistake made by a programmer, black box testing is testing without knowledge of internal code.
Bug: a flaw in software that causes it to behave unexpectedly or incorrectly
Error: a mistake made by a programmer that results in incorrect code
Black box testing: testing without knowledge of the internal code, focusing on inputs and outputs
Example: entering invalid data into a form and receiving an error message
Example: a button on a website n...read more
Q65. How to decide NoSql is sufficient in your project
NoSql is sufficient when data is unstructured and requires high scalability and performance.
Consider the type of data and its structure
Evaluate the scalability and performance requirements
Assess the need for complex queries and transactions
Examples: social media data, IoT data, real-time analytics
Q66. What are the best practices you have followed during your Code writing?
Q67. What are the ways to open up the record level securities?
Q68. Write immutable class with List /Date Type property.
Immutable class with List/Date Type property
Create a final class with private final fields
Use unmodifiableList() to create immutable List
Use defensive copying for Date property
No setters, only getters
Override equals() and hashCode() methods
ConcurrentHashMap in Java is a thread-safe version of HashMap, allowing multiple threads to access and modify the map concurrently.
ConcurrentHashMap achieves thread-safety by dividing the map into segments, each guarded by a separate lock.
It allows multiple threads to read and write to the map concurrently, without blocking each other.
It provides better performance than synchronized HashMap for concurrent operations.
Example: ConcurrentHashMap<String, Integer> map = new Concur...read more
Q70. What are the differences between Workflows and Process Builder?
Q71. Totally 30 mins 1) Find min max in an array 2) Reverse an array 3) Java Thread related questions 4) why string immutable
Java interview questions on array manipulation, threading, and string immutability.
To find min and max in an array, initialize min and max variables to the first element and iterate through the array comparing each element to update min and max accordingly.
To reverse an array, swap the first and last elements, then the second and second-to-last elements, and so on until the middle of the array is reached.
Java threads allow for concurrent execution of code. Use the Thread clas...read more
Q72. How to make a db entity un modify or immutable
To make a db entity unmodifiable, use constraints or triggers to prevent updates or deletes.
Use a constraint to prevent updates or deletes on the entity
Create a trigger to roll back any update or delete operation on the entity
Grant read-only access to the entity to prevent modifications
Use database permissions to restrict modification access to the entity
Consider using a separate read-only database for the entity
Java 8 streams are a sequence of elements that support functional-style operations.
Streams allow for processing sequences of elements in a functional way.
They can be created from collections, arrays, or I/O resources.
Operations like filter, map, reduce, and collect can be performed on streams.
Streams are lazy, meaning they only perform operations when necessary.
Example: List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); Stream<String> stream = names.stream();
Q74. What is the difference between swift & objective c?
Swift is a modern programming language while Objective-C is an older language used for iOS development.
Swift is easier to read and write than Objective-C.
Swift is faster than Objective-C.
Objective-C is still used in legacy codebases.
Swift has a simpler syntax and is more concise.
Swift has better memory management than Objective-C.
Q75. Whats makes you client site like Adobe to work for?
Working for Adobe is exciting due to their innovative culture, cutting-edge technology, and global impact.
Innovative culture fosters creativity and encourages experimentation
Cutting-edge technology provides opportunities to work with the latest tools and techniques
Global impact means that work has a wide-reaching influence and can make a difference in the world
Opportunities for growth and development through training and mentorship programs
Collaborative and inclusive work env...read more
Q76. What is relational database? what are it's advantages?
Relational database is a type of database that stores and organizes data in tables with relationships between them.
Data is stored in tables with rows and columns
Tables can have relationships with each other through keys
SQL is commonly used to query and manipulate data in relational databases
Examples include MySQL, PostgreSQL, Oracle
Q77. Compare two tables and fetch certain records based on condition
Use SQL query to compare two tables and fetch records based on condition
Use JOIN clause to compare two tables
Add a WHERE clause to specify the condition for fetching records
Select the desired columns from the tables
Routing in MVC is the process of mapping URLs to controller actions.
Routing is defined in the RouteConfig.cs file in ASP.NET MVC applications.
Routes are defined using the MapRoute method, which specifies the URL pattern and the controller and action to handle the request.
Routes are matched in the order they are defined, with the first match being used to handle the request.
Route parameters can be defined in the URL pattern and passed to the controller action as method paramet...read more
Q79. automate probability of an application where dice passing 4-6 each time for 10 times rolled.
Automate the probability of rolling a dice and getting 4-6 each time for 10 rolls.
Use a loop to simulate rolling the dice 10 times
Generate a random number between 1 and 6 to represent the dice roll
Check if the number is 4, 5, or 6 for each roll
Calculate the overall probability of getting 4-6 on each roll
Q80. What is a user story and what all components make the user story complete.
A user story is a concise description of a feature told from the perspective of the end user.
A user story typically follows the format: As a [type of user], I want [some goal] so that [some reason].
User stories help capture the 'who', 'what', and 'why' of a feature in a simple and understandable way.
Components of a user story include a title, narrative, acceptance criteria, and priority.
Example: As a customer, I want to be able to track my order status so that I can know when...read more
Q81. Annotations used for making an API
Annotations are used to provide metadata about classes, methods, or fields in an API.
Annotations can be used to provide information about how a method should be handled, such as whether it is deprecated or should be ignored by a compiler.
Annotations can also be used to provide information about how a class should be serialized or deserialized, such as specifying the format of JSON data.
Examples of annotations include @Deprecated, @Override, @JsonProperty, and @JsonIgnore.
Q82. Do you have any idea about Schematics?
Schematics are diagrams that show the components and connections of a system or device.
Schematics are visual representations of circuits or systems
They show the components used and how they are connected
Commonly used in electronics and engineering fields
Q83. 2. Check how many bits are set in a number?
Count the number of set bits in a given number.
Use bitwise AND operator with 1 to check if the rightmost bit is set.
Shift the number to right by 1 bit and repeat the process until the number becomes 0.
Keep a count of the number of set bits encountered.
Example: For number 5 (101 in binary), the answer is 2 as there are 2 set bits.
Example: For number 15 (1111 in binary), the answer is 4 as there are 4 set bits.
Q84. Stream, Lambda and Functional interface Combination to write functional programming
Stream, Lambda and Functional interface can be combined to write functional programming in Java
Streams provide a functional way to process collections of data
Lambda expressions allow for functional programming by providing a way to pass behavior as an argument
Functional interfaces define the contract for a lambda expression
Example: using a stream to filter a list of integers and then using a lambda expression to map each integer to its square
Q85. difference between machine learning and deep learning
Machine learning is a subset of AI that focuses on developing algorithms to make predictions based on data, while deep learning is a subset of machine learning that uses neural networks to learn from data.
Machine learning is a broader concept that involves algorithms that can learn from and make predictions or decisions based on data.
Deep learning is a subset of machine learning that uses neural networks with multiple layers to learn from data.
Deep learning requires a large a...read more
Q86. How to maintain field level securities in the Aura component?
Q87. 1. Current Project architecture 2. How do you design micro services to scalable 3. How do you ensure ci/cd working as expected 4. What is oauth 5. Which Authorization servers you worked
Answering questions related to current project architecture, designing scalable micro services, ensuring CI/CD, OAuth, and authorization servers.
Current project architecture involves a detailed analysis of the existing system, identifying key components, and designing a scalable solution.
Designing micro services to be scalable requires breaking down the application into smaller, independent services that can be easily deployed and managed.
Ensuring CI/CD works as expected invo...read more
Q88. how will you build a product to help retailers in semi urban market
I will build a product tailored to the unique needs and challenges faced by retailers in semi urban markets.
Conduct market research to understand the specific requirements and preferences of retailers in semi urban areas
Develop a user-friendly and cost-effective solution that addresses key pain points such as inventory management, supply chain logistics, and customer engagement
Provide training and support to ensure successful adoption and implementation of the product
Collabor...read more
Q89. What is your view on AI in IT industry
AI is revolutionizing the IT industry by automating tasks, improving efficiency, and enabling new capabilities.
AI is being used for automating repetitive tasks, such as data entry and testing.
AI is improving efficiency by analyzing large amounts of data quickly and accurately.
AI is enabling new capabilities, such as natural language processing and image recognition.
AI is being integrated into various IT systems, such as chatbots for customer support and predictive analytics f...read more
Q90. How to set azure databricks service to transfer data from aws to azure
Q91. What you know about boot loader
Boot loader is a program that loads the operating system into the computer's memory during startup.
Boot loader is the first software program that runs when a computer starts.
It is responsible for loading the operating system kernel into memory.
Boot loaders can be specific to the hardware architecture of the computer.
Examples of boot loaders include GRUB for Linux systems and NTLDR for Windows systems.
Q92. What are the type of communication
Types of communication include verbal, non-verbal, written, and visual communication.
Verbal communication: involves speaking and listening, such as conversations and phone calls.
Non-verbal communication: includes body language, gestures, and facial expressions.
Written communication: involves written words, such as emails, reports, and letters.
Visual communication: includes graphs, charts, and presentations to convey information visually.
Q93. what is the latest features of java and spring boot
Java 16 and Spring Boot 2.5 are the latest versions with new features and improvements.
Java 16 introduces Records, Pattern Matching for instanceof, and Vector API among others.
Spring Boot 2.5 includes support for Java 16, improved startup time, and better error messages.
Other new features in Spring Boot 2.5 include support for Kotlin 1.5, Micrometer 1.7, and Spring Data 2021.0.
Q94. What do you mean by Object oriented programing?
Object-oriented programming is a programming paradigm based on the concept of objects, which can contain data and code.
Objects are instances of classes, which define the structure and behavior of the objects.
Encapsulation, inheritance, and polymorphism are key principles of object-oriented programming.
Example: In a banking application, a 'Customer' class can have attributes like name and account balance, and methods like deposit and withdraw.
Q95. Two files have different sets of columns in a file how to manage this in ssis
In SSIS, you can manage different sets of columns in two files by using conditional splits and dynamic column mapping.
Use a conditional split transformation to separate the data flow based on the file type or column presence
Create separate data flows for each file type and handle the columns accordingly
Use dynamic column mapping to map the columns dynamically based on the file type
You can use expressions and variables to dynamically handle the column mapping
Handle any additio...read more
Q96. Do you have any experience on C++/C/C#
Yes, I have experience in C++, C, and C# programming languages.
I have worked on various projects using C++, C, and C# languages.
I am proficient in writing code, debugging, and optimizing performance in these languages.
I have experience in developing applications, software tools, and systems using C++, C, and C#.
I am familiar with object-oriented programming concepts and design patterns in these languages.
Q97. Data Migration process? When and How should it be done?
Data migration is the process of transferring data from one system to another. It should be done when upgrading or changing systems.
Identify the data to be migrated
Determine the target system and format
Develop a migration plan and timeline
Test the migration process
Execute the migration and verify data integrity
Q98. How do you work on complex tasks? Describe your approach
I break down complex tasks into smaller, manageable steps and prioritize them based on dependencies and deadlines.
Analyze the requirements and understand the problem thoroughly
Break down the task into smaller subtasks
Prioritize the subtasks based on dependencies and deadlines
Create a plan or roadmap to guide the development process
Implement each subtask one by one, ensuring proper testing and quality assurance
Regularly communicate progress and seek feedback from stakeholders
I...read more
Q99. Diff between OS 10 And OS 11 , Def Bios ,Firmware, Drivers
OS 11 has new features and improvements over OS 10. BIOS is firmware that initializes hardware during boot. Firmware is software that controls hardware. Drivers are software that allows OS to communicate with hardware.
OS 11 has a redesigned Control Center with new features like App Library and Widgets.
BIOS stands for Basic Input/Output System and is responsible for initializing hardware during boot.
Firmware is software that controls hardware and is responsible for managing th...read more
Q100. How to create custom serializable interface
To create a custom serializable interface, you need to define an interface with the Serializable marker interface and implement the necessary methods.
Define an interface with the Serializable marker interface
Implement the necessary methods for serialization and deserialization
Ensure all fields in the class implementing the interface are serializable
More about working at UST
Top HR Questions asked in GUS Education India
Interview Process at GUS Education India
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month