USTWork with us
200+ Optum Global Solutions Interview Questions and Answers
Q1. 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.
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. 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
Q4. 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
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. 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.
Q7. 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.
Q8. 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
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.
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.
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
Q15. If an application is running slowly, what process would you follow to find the root cause? Specify for the database, backend API, and frontend.
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
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
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.
Q27. Spring AOP how and why to impl, DI byType n byName, n+1 problem, runnable vs callable, What returns call method, Dynamic Method Dispatcher
Overview of Spring AOP, Dependency Injection, N+1 problem, Runnable vs Callable, and Dynamic Method Dispatch.
Spring AOP (Aspect-Oriented Programming) allows separation of cross-cutting concerns like logging and security.
Dependency Injection (DI) can be done by type (Spring resolves by type) or by name (specific bean name).
N+1 problem occurs in ORM when fetching related entities, leading to multiple queries instead of a single join query.
Runnable does not return a result, whil...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
Q29. Find the average salary of employees from the given table for each designation where the employee's age is 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
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.
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
Q32. If a URL is not reachable, what are the possible reasons?
Possible reasons for an unreachable URL
Server is down
Incorrect URL
DNS resolution failure
Firewall or security settings
Network connectivity issues
Q33. What is the 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.
Q34. 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
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
Q36. How can it 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
Q37. How do you find the sum of even numbers from a given ArrayList using the 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
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
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();
Q41. Which tools are you currently 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.
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.
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
Q44. 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
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
Q46. How do you access a REST endpoint asynchronously?
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
Q47. What is the difference between smoke testing and sanity testing?
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
Q48. What is the 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
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
Q50. Which interface is 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.
Q51. What are the best practices you have followed during code writing?
Best practices in code writing enhance readability, maintainability, and collaboration among developers.
Use meaningful variable and function names (e.g., 'calculateTotalPrice' instead of 'calc').
Write modular code by breaking down functions into smaller, reusable components.
Implement consistent coding standards and style guides (e.g., using ESLint for JavaScript).
Document code with comments and README files to explain functionality and usage.
Conduct code reviews to ensure qua...read more
Q52. What are the ways to open up record-level security?
Record-level security can be opened through various methods like role-based access, sharing rules, and manual overrides.
Implement role-based access control (RBAC) to define user permissions based on their roles.
Use sharing rules to grant access to specific records for certain users or groups.
Manually override security settings for specific records when necessary.
Utilize field-level security to control access to sensitive information within records.
Create public groups to shar...read more
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();
Q54. What is your approach to writing test cases given 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
Q55. What is your view on AI in the 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
Q56. How do you determine if NoSQL is sufficient for a 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
Q57. Do you have any experience with C++, C, or 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.
Q58. 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
Q60. How can you make a database entity unmodifiable 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
Q61. What is a user story, and what components make a 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
Q62. What makes you want to work for a client site like Adobe?
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
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
Q64. How do you communicate between components?
Communication between components is achieved through various methods like props, events, and state management.
Use props to pass data from parent to child components
Use events to trigger actions in one component from another
Use state management libraries like Redux or Vuex for global state management
Q65. How would you automate testing the probability of an application where a dice rolls 4-6 each time for 10 rolls?
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
Q66. Do you have any experience with 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
Q67. How do you set up an Azure Databricks service to transfer data from AWS to Azure?
Set up Azure Databricks to transfer data from AWS using secure connections and data integration tools.
1. Create an Azure Databricks workspace in your Azure portal.
2. Set up an AWS S3 bucket to store the data you want to transfer.
3. Use Azure Data Factory to create a pipeline that connects to the AWS S3 bucket.
4. Configure the pipeline to copy data from S3 to Azure Blob Storage.
5. Use Databricks to read the data from Azure Blob Storage for processing.
Q68. How do you count the number of set bits in a given 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.
Q69. How can Streams, Lambdas, and Functional Interfaces be combined to write functional programs?
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
Q70. How do you maintain field-level security in an Aura component?
Q71. How does Spark launch a job on YARN?
Spark launches job on Yarn by creating an application master and containers for executors.
Spark submits a job to Yarn ResourceManager
Yarn launches an ApplicationMaster on a NodeManager
ApplicationMaster requests containers for executors from ResourceManager
Containers are launched on NodeManagers
Executors run tasks on data partitions
Results are returned to the driver program
Q72. How do you create a 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
Q73. In SSIS, how do you manage two files with different sets of columns?
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
Q74. How would you build a product to help retailers in a 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
Q75. What are the different types 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.
Q76. What do you know about boot loaders?
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.
Q77. What do you mean by Object-Oriented Programming?
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.
Q78. Write a program using multithreading to print numbers from 1 to 100.
Use multithreading to print 1 to 100 numbers.
Create a class that implements Runnable interface
Override the run() method to print numbers
Create multiple threads and start them
Join all threads to ensure all numbers are printed
A URL shortener service that generates short URLs for long links.
Generate a unique short code for each long URL
Store the mapping of short code to long URL in a database
Redirect users from short URL to original long URL
Consider implementing custom short codes for branding purposes
Q80. What AWS CLI commands have you used?
AWS CLI commands used as Senior Systems Analyst and Technical Lead
aws s3 ls - List all S3 buckets
aws ec2 describe-instances - Describe all EC2 instances
aws rds describe-db-instances - Describe all RDS instances
aws lambda list-functions - List all Lambda functions
aws cloudformation describe-stacks - Describe all CloudFormation stacks
Q81. What is the difference between RAM and ROM?
RAM is volatile memory that stores data temporarily, while ROM is non-volatile memory that stores data permanently.
RAM stands for Random Access Memory and is used for temporary storage of data that can be read and written to.
ROM stands for Read-Only Memory and is used for permanent storage of data that can only be read from.
RAM loses its data when power is turned off, while ROM retains its data even when power is off.
Examples of RAM include DRAM and SRAM, while examples of RO...read more
Q82. What is the OSI model, and can you provide examples for each layer?
OSI (Open Systems Interconnection) model is a conceptual model that characterizes and standardizes the communication functions of a telecommunication or computing system.
OSI model has 7 layers, each layer has a specific function and communicates with the layer above and below it.
Examples of OSI layers are: Physical layer (transmitting bits over a medium), Data link layer (framing data into packets), Network layer (routing packets), Transport layer (providing reliable data tra...read more
Q83. Why is merge sort better than other sorting techniques?
Merge short is better than other shorting techniques due to its ability to minimize risk and maximize profits.
Merge short involves combining multiple short positions into one, reducing the risk of individual short positions
It allows for greater flexibility in managing short positions and can lead to higher profits
For example, if an investor wants to short a stock but is unsure of the timing, they can use merge short to gradually build a short position over time
This technique ...read more
Q84. Which alarms occurred at the time of the fiber cut?
Alarms related to fiber cut can vary depending on the network infrastructure.
Loss of signal alarm
Optical power alarm
High bit error rate alarm
Path protection switch alarm
Equipment failure alarm
Q85. Write a controller class, service class, entity, and repository.
Code a controller, service, entity, and repository classes for a software application.
Create a controller class to handle incoming requests and interact with the service layer.
Develop a service class to implement business logic and interact with the repository.
Define an entity class to represent data in the application.
Implement a repository class to handle database operations for the entity.
Q86. What are the different repository implementations in Spring Data?
Spring Data supports various repositories for different data sources
Spring Data JPA for relational databases
Spring Data MongoDB for NoSQL databases
Spring Data Redis for key-value stores
Spring Data Cassandra for column-family stores
Spring Data Neo4j for graph databases
Q87. What are the advantages and disadvantages of static methods?
Static methods are useful for utility functions but can't access instance variables.
Advantage: Can be called without creating an instance of the class
Advantage: Useful for utility functions that don't require access to instance variables
Disadvantage: Can't access instance variables
Disadvantage: Can't be overridden in subclasses
Q88. What is the difference between clustered and non-clustered indexes?
Cluster index physically orders the data on disk, while non-cluster index does not.
Cluster index physically orders the data on disk based on the indexed column
Non-cluster index does not physically order the data on disk
Cluster index can only have one per table, while non-cluster index can have multiple
Cluster index is faster for retrieval but slower for inserts and updates
Q89. Using streams and lambda expressions, how would you find numbers starting with 1 from a list of integers?
Using stream and lambda to find numbers starting with 1 from list of Integers.
Use stream to filter the list of Integers based on the condition that the number starts with 1.
Use lambda expression to define the condition for filtering.
Convert the filtered numbers to strings and store them in an array.
Q90. How do you implement security on an Azure storage account?
Implementing security on Azure storage accounts involves access controls, encryption, and monitoring practices.
Use Azure Active Directory (AAD) for identity management and role-based access control (RBAC) to restrict access.
Enable Storage Service Encryption (SSE) to automatically encrypt data at rest using Microsoft-managed keys.
Implement network security by using Virtual Network (VNet) service endpoints or private endpoints to restrict access to storage accounts.
Configure fi...read more
Q91. How would you automate the process of selecting aisle seats in every row of a theater using Tosca?
Automate selecting aisle seat in every row in a theatre.
Identify the aisle seats in each row
Create a script to iterate through each row and select the aisle seat
Use a testing tool like Tosca to automate the process
Q92. How would you automate the selection of more than three options from a dropdown menu?
Use a multi-select dropdown automation tool to select more than 3 options at once.
Use a tool like Selenium WebDriver with Select class to handle multi-select dropdowns
Identify the dropdown element and create a Select object
Use the selectByIndex() or selectByValue() method to select multiple options
Verify that the selected options are displayed correctly
Q93. When would you choose to use contextual inquiry?
Contextual Enquiry is used to observe users in their natural environment to gather insights for design.
Use contextual enquiry when you want to understand how users interact with a product or service in their real-life environment.
It is helpful for uncovering unmet needs, pain points, and opportunities for improvement.
Contextual enquiry can provide rich qualitative data that may not be captured through surveys or interviews alone.
OAuth is an open standard for access delegation, commonly used for enabling secure authorization between applications.
OAuth allows a user to grant a third-party application access to their resources without sharing their credentials.
It uses tokens (access token, refresh token) to provide secure access to resources.
OAuth is commonly used in scenarios where a user wants to grant access to their social media accounts or cloud storage.
Examples of OAuth providers include Google, F...read more
Q95. How would you extract numbers from a string?
Use regular expressions to extract numbers from a string.
Use regex pattern '\d+' to match one or more digits in the string.
Use a loop to iterate through the matches and store them in an array.
Consider using a library like 're' in Python for easier implementation.
Q96. Describe a CI/CD pipeline you have troubleshooted.
I have troubleshooted a CI/CD pipeline for a microservices architecture using Jenkins and Docker.
Identified and resolved issues with Jenkins plugins causing build failures
Optimized Docker images to reduce build times and improve deployment speed
Debugged pipeline scripts to ensure proper integration and testing of microservices
Q97. What are the most commonly used CMD commands?
CMD commands are used for various tasks like managing files, network settings, system configurations, and more.
CMD commands are used to navigate and manage files and directories on a computer.
They can be used to configure network settings and troubleshoot network issues.
CMD commands can also be used to manage system configurations and services.
Some commonly used CMD commands include dir, cd, ipconfig, ping, netstat, and tasklist.
Q98. What is the 4G IMS architecture and call flow?
4Gims is not a known architecture or call flow in the cloud networking industry.
Q99. Explain the OOPS concepts in Java with examples for each type.
Java OOPs concepts and examples
Encapsulation - hiding data and methods within a class (e.g. private variables)
Inheritance - creating new classes from existing ones (e.g. subclass extends superclass)
Polymorphism - using a single method to perform different actions (e.g. method overloading/overriding)
Abstraction - focusing on essential features and hiding implementation details (e.g. abstract classes/interfaces)
Q100. What is Device Manager?
Device Manager is a built-in Windows utility that allows users to view and manage hardware devices connected to their computer.
Device Manager displays a list of all hardware devices installed on a computer
Users can update drivers, disable or uninstall devices, and troubleshoot hardware issues through Device Manager
Common examples of devices listed in Device Manager include network adapters, graphics cards, and USB controllers
More about working at UST
Top HR Questions asked in Optum Global Solutions
Interview Process at Optum Global Solutions
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month