UST
300+ Percept Interview Questions and Answers
You are given a number 'N'. Your task is to find Nth prime number.
A prime number is a number greater than 1 that is not a product of two smaller natural numbers. Prime numbers have only two facto...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.
Write a program to do basic string compression. For a character which is consecutively repeated more than once, replace consecutive duplicate occurrences with the count of repetitions.
Examp...read more
You have been given a permutation of ‘N’ integers. A sequence of ‘N’ integers is called a permutation if it contains all integers from 1 to ‘N’ exactly once. Your task is to ...read more
Design and implement a data structure for Least Recently Used (LRU) cache to support the following operations:
1. get(key) - Return the value of the key if the key exists in the cache, otherwise return...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
You have been given a column title as appears in an Excel sheet, return its corresponding column number.
For example:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
Input Format
The ...read more
You are given a binary tree in which each node contains an integer value and a number ‘K’. Your task is to print every path of the binary tree with the sum of nodes in the ...read more
You are given a sentence in the form of a string ‘S’. You have to convert ‘S’ into its equivalent mobile numeric keypad sequence, i.e. print the sequence in such a way that if it is typed on the...read more
For a given array with N elements, you need to find the length of the longest subsequence from the array such that all the elements of the subsequence are sorted in strictly increa...read more
You have been given a long type array/list 'ARR' of size 'N'. It represents an elevation map wherein 'ARR[i]' denotes the elevation of the 'ith' bar. Print the total amount of rainwate...read more
You are given an array of integers 'ARR' of length 'N' and an integer Target. Your task is to return all pairs of elements such that they add up to Target.
Note:
We cannot use the element at a gi...read more
What is the lambda expression in Java and How does a lambda expression relate to a functional interface?
Given the head node of the singly linked list, return a pointer pointing to the middle of the linked list.
If there are an odd number of elements, return the middle element...read more
How would you differentiate between a String, StringBuffer, and a StringBuilder?
String is immutable, StringBuffer is synchronized and mutable, StringBuilder is mutable and not synchronized.
String is a sequence of characters and cannot be changed once created.
StringBuffer is similar to String but mutable and thread-safe.
StringBuilder is similar to StringBuffer but not thread-safe, making it faster in single-threaded scenarios.
What is the start() and run() method of Thread class?
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.
Q15. 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
Q16. =>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
What do you understand by auto wiring and name the different modes of it?
What Are the Basic Annotations that Spring Boot Offers?
What is Garbage collector in JAVA?
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
What is meant by exception handling?
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
What makes a HashSet different from a TreeSet?
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
What is Thread Scheduler and Time Slicing?
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
Differentiate between the Thread class and Runnable interface for creating a Thread?
What is the start() and run() method of Thread class?
What does the @SpringBootApplication annotation do internally?
Explain the use of final keyword in variable, method and class.
The final keyword is used to restrict the modification of variables, methods, and classes.
Final variables cannot be reassigned once initialized
Final methods cannot be overridden in subclasses
Final classes cannot be extended by other classes
What is thread starvation?
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.
Difference between Abstract class and Interface.
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
What is Garbage collector in JAVA?
What do you mean by FCFS?
What is BlockingQueue?
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.
Q33. 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
What are Java 8 streams?
Explain SOLID principles in Object Oriented Design.
Q36. 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.
Q37. 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
Q38. 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
Print 1 to 100 using more than two threads(optimized approach).
How ConcurrentHashMap works in Java?
What are the features of a lambda expression?
Q42. 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
Q43. 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
Q44. 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
What do you mean by virtual functions in C++?
How is the routing carried out in MVC?
Design a URL Shortener
Difference between Process and Thread
Q49. 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.
Q50. 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
What is dependency Injection?
What are the concurrency strategies available in hibernate?
Difference between Abstract class and Interface.
Q54. 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
Explain how independent microservices communicate with each other.
Q56. 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
Q57. 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
Can you tell something about the N+1 SELECT problem in Hibernate?
Q59. 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
Q60. 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.
Q61. 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
Q62. 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.
What is hibernate caching?
Q64. 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
Q65. What are the Test Class writing best practices you have followed?
Q66. 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
Q67. 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
Difference between PUT and POST methods?
Explain in brief the role of different MVC components?
Q70. What are the best practices you have followed during your Code writing?
Q71. What are the ways to open up the record level securities?
Q72. 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
Q73. What are the differences between Workflows and Process Builder?
Q74. 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
Q75. 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
Q76. 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
Q77. 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
Explain @RestController annotation in Sprint boot?
Q79. 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.
Q80. 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.
Q81. 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
Q82. 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
Q83. 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
Q84. 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
Q85. 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
Q86. 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.
Q87. 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
Q89. 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.
Q90. 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
Q91. How to maintain field level securities in the Aura component?
Q92. 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
Q93. 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
Q94. How to set azure databricks service to transfer data from aws to azure
Q95. 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.
Q96. 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.
Q97. 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.
Q98. 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.
Q99. 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
Q100. 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
More about working at UST
Top HR Questions asked in Percept
Interview Process at Percept
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month