Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
This round focused more on the Operating Systems part followed by some questions from Microservices Architecture.
What is a bootstrap program in OS?
It is generally a program that initializes OS during startup i.e., first code that is executed whenever computer system startups. OS is loaded through a bootstrapping process or program commonly known as booting. Overall OS only depends on the bootstrap program to perform and work correctly. It is fully stored in boot blocks at a fixed location on the disk. It also locates the kernel and loads it into the main memory after which the program starts its execution.
What is Memory Protection in OS ?
Answer :
1) Memory protection is a strategy that makes it possible to manage the amount of access rights that are granted to
the memory found on a computer hard drive.
2) The main purpose of this type of protection is to minimize the potential for some type of storage violation that
would harm the data contained in the memory, or damage a portion of the memory capacity of the hard drive.
3) One of the main functions of memory protection is the prevention of any application from making use of memory
that the operating system has not specifically allocated to that application.
4) This prevents applications from seizing control of an inordinate amount of memory and possibly causing damage
that negatively impacts other applications that are currently in use, or even creating a loss of data that is saved on the
hard drive.
5) In many operating systems, this is managed by segmenting the memory for use by all open applications, ensuring
that each has enough to operate properly without creating issues with the other running applications.
What are the four necessary and sufficient conditions behind the deadlock?
These are the 4 conditions:
1) Mutual Exclusion Condition: It specifies that the resources involved are non-sharable.
2) Hold and Wait Condition: It specifies that there must be a process that is holding a resource already allocated to it while waiting for additional resource that are currently being held by other processes.
3) No-Preemptive Condition: Resources cannot be taken away while they are being used by processes.
4) Circular Wait Condition: It is an explanation of the second condition. It specifies that the processes in the system form a circular list or a chain where each process in the chain is waiting for a resource held by next process in the chain.
What are the fundamental characteristics of a Microservices Design?
1) Services split up and organized around business functionality.
2) Separate modules handled and owned by different development teams.
3) Decentralized Framework.
4) Maintenance of respective modules by respective development teams.
5) Separate modules may be maintained by different databases.
6) Modules in a Microservice Architecture are separately deployable. They can be updated, enhanced, or deleted without disrupting the entire architecture.
7) Real-time monitoring of the application.
What are the different strategies of Microservices Deployment?
1) Multiple Service Instance per Host: Run single or multiple service instances of the application on single/multiple physical/virtual hosts.
2) Service Instance per Host: Run a service instance per host.
3) Service Instance per Container: Run each service instance in its respective container.
4) Serverless Deployment: Package the service as a ZIP file and upload it to the Lambda function. The Lambda function is a stateless service that automatically runs enough micro-services to handle all requests.
This round was preety much mixed and contained questions from DBMS, Java and more importantly Spring Boot.
Why is normalization needed in a database?
The term "normalization" refers to the process of analyzing relation schemas based on their functional dependencies.
Normalization is the technique of splitting up data into numerous tables to reduce redundancy.
The advantages of normalization are:
1) Standardization eliminates the copy information, allowing a smaller database to be maintained. As a result, the
size of the database is reduced in general.
2) Better execution is assured, which is related to the previous point. As the size of information bases shrinks, the
time it takes to process it becomes shorter and more constrained, enhancing reaction time and speed.
3) Narrower tables may be possible as standardized tables are altered and feature fewer segments, allowing for more
data items per page.
4) With fewer files per table, support assignments are completed faster (file modifies).
What are views in SQL?
Answer :
1) Views in SQL are kind of virtual tables.
2) A view also has rows and columns as they are in a real table in the database.
3) We can create a view by selecting fields from one or more tables present in the database.
4) A View can either have all the rows of a table or specific rows based on certain condition.
What is dependency Injection?
The process of injecting dependent bean objects into target bean objects is called dependency injection.
1) Setter Injection: The IOC container will inject the dependent bean object into the target bean object by calling the
setter method.
2) Constructor Injection: The IOC container will inject the dependent bean object into the target bean object by calling
the target bean constructor.
3) Field Injection: The IOC container will inject the dependent bean object into the target bean object by Reflection
API.
What is the use of Profiles in spring boot?
While developing the application we deal with multiple environments such as dev, QA, Prod, and each environment requires a different configuration. For eg., we might be using an embedded H2 database for dev but for prod, we might have proprietary Oracle or DB2. Even if DBMS is the same across the environment, the URLs will be different.
To make this easy and clean, Spring has the provision of Profiles to keep the separate configuration of environments.
What are the various access specifiers in Java?
In Java, access specifiers are the keywords which are used to define the access scope of the method, class, or a variable. In Java, there are four access specifiers given below.
1) Public : The classes, methods, or variables which are defined as public, can be accessed by any class or method.
2) Protected : Protected can be accessed by the class of the same package, or by the sub-class of this class, or within the same class.
3) Default : Default are accessible within the package only. By default, all the classes, methods, and variables are of default scope.
4) Private : The private class, methods, or variables defined as private can be accessed within the class only.
What is JIT compiler?
1) JIT stands for Just-In-Time and it is used for improving the performance during run time. It does the task of
compiling parts of byte code having similar functionality at the same time thereby reducing the amount of compilation
time for the code to run.
2) The compiler is nothing but a translator of source code to machine-executable code.
Working of the JIT Compiler :
1) First, the Java source code (.java) conversion to byte code (.class) occurs with the help of the javac compiler.
2) Then, the .class files are loaded at run time by JVM and with the help of an interpreter, these are converted to
machine understandable code.
3) JIT compiler is a part of JVM. When the JIT compiler is enabled, the JVM analyzes the method calls in the .class
files and compiles them to get more efficient and native code. It also ensures that the prioritized method calls are
optimized.
4) Once the above step is done, the JVM executes the optimized code directly instead of interpreting the code again.
This increases the performance and speed of the execution.
This is a cultural fitment testing round .HR was very frank and asked standard questions. Then we discussed about my role.
Why should we hire you ?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round,
like what are the projects currently the company is investing, which team you are mentoring. How all is the work
environment etc.
Tip 4 : Since everybody in the interview panel is from tech background, here too you can expect some technical
questions. No coding in most of the cases but some discussions over the design can surely happen.
Why are you looking for a job change?
General Tip : For an experienced professional seeking a change, this is a common question. The easiest method to
respond to this question is to state that you are leaving your current work in order to advance your career. Make sure
you don't criticize or speak poorly about the company where you now work.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is the purpose of the return keyword?