Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
13 views5 pages

Client Interview Guidelines

The document provides comprehensive client interview guidelines for Java developers, covering essential topics such as Java fundamentals, data structures, algorithms, Spring framework, DevOps practices, SQL, Angular, and Kafka. Each section outlines key concepts, practical applications, and recommended reference links for further study. Candidates are advised to gain hands-on experience and a thorough understanding of each topic to prepare effectively for interviews.

Uploaded by

claraotori
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

Client Interview Guidelines

The document provides comprehensive client interview guidelines for Java developers, covering essential topics such as Java fundamentals, data structures, algorithms, Spring framework, DevOps practices, SQL, Angular, and Kafka. Each section outlines key concepts, practical applications, and recommended reference links for further study. Candidates are advised to gain hands-on experience and a thorough understanding of each topic to prepare effectively for interviews.

Uploaded by

claraotori
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Client Interview guidelines

1. Java
Java language is the fundamental part for any backend developer of Java domain.
Candidate must have thorough knowledge of JRE, JDK, Javac and JVM along with
java libraries. Please go through the following topics for your preparation:
a. JRE, JDK, JVM: Learn about the schematics of JRE, JDK, JVM. Understand
how every element of JVM works, like Program counter, class file loader,
bytecode verifier and interpreter. Learn in detail how JVM instructs the
microprocessor.
b. Data types and Operators: Learn all the data types, both
non-primitive/Wrapper and primitive ones. Learn how much memory is
consumed by each data type. Also get hands-on on every type of operators
including ternary and instanceof operator. Learn all new types introduced in
JAVA 8 onwards.
c. String, StringBuilder and StringBuffer: Learn the difference between these.
Learn all the methods and their practical uses from String, StringBuilder and
StringBuffer.
d. Polymorphism: Learn the need of polymorphism and it’s use in real-world.
Learn how different types of polymorphism get used in real-life scenario.
e. Object cloning, object casting: Learning about classes and objects are very
important. Give special emphasis on aggregation and association of
objects.
f. Strictpf keyword: Java strictfp(Strict floating point) keyword ensures that
you will get the same result on every platform if you perform operations in the
floating-point variable. This new keyword is very important. Include it in your
studies.
g. Abstraction and Encapsulation with access modifers: These two
methodologies of OOPS coding is very important for all Java Developers.
These are used almost in all kinds of java development.
h. Threading: Learn about Thread class and Runnable interfaces. Understand
thread life cycle and all the methods involved in the life cycle and PCS
(Process Context Switching). Get lot of hands-on on this topic. Emphasize on
Synchronization of Threads and CompletableFuture.
i. Lambda and Functional interface: Learn about lambda expression, usage
and advantages of it. Learn about all pre-defined functional interfaces and
their usage.
j. Final keyword ,Static class and function: Learn the usage.
k. Collections and Map: Learn the usage.
l. Various return types : Learn the usage.
m. Regular Expression: Learn the usage.
n. Exception handling: Learn the different types of exceptions. Learn the
difference between exception and error. Get hands-on on creating
custom-exceptions.
o. Date and Formatter: Get hands-on on Date and LocalDate(). Also learn how
to use date and string formatter.
p. Stream API: Learn usage of all the functions of Stream API introduced in
Java 8.
Reference links:
● https://www.w3schools.com/java/
● https://www.geeksforgeeks.org/java/
● https://www.interviewbit.com/java-interview-questions/
● https://www.simplilearn.com/tutorials/java-tutorial/java-interview-questi
ons

2. Data structure and Algorithm:


A data structure is a named location that can be used to store and organize
data. And, an algorithm is a collection of steps to solve a particular problem. Learning
data structures and algorithms allow us to write efficient and optimized computer
programs.
a. Sorting and Searching: Learn all the sorting and searching algorithms
like Bubble sort, merge sort, quick sort, linear search, binary search etc.
Learn the time-complexity efficiency of each algorithm. Get hands-on
on best case and worst case of each algorithm.
b. Data Structures: Learn all types of structures like LIST, HEAP, SET,
HASHING, GRAPH, QUEUE and TREES. Practice search, sort, filter on
LIST, QUEUE, SET and TREES (LEFT Binary, Right Binary etc).
c. Operations on Data Structures: Learn how to remove and add nodes in
the beginning/end/middle of data structures. Learn how to traverse a data
structure. Practice various operations like:
i. Finding max, min average from a list of numbers.
ii. Finding palindrome numbers from a list.
iii. Sorting and reversing a list/array.
d. Collections Interface: Learn how new APIs and Interfaces are used for
data structures. Practice all methods for performing operations on Data
Structure.

Reference:

● https://www.geeksforgeeks.org/data-structures/
● https://www.mygreatlearning.com/blog/data-structures-using-java/
● https://www.geeksforgeeks.org/introduction-to-built-in-data-structures-in-c/
● https://dev.to/adavidoaiei/fundamental-data-structures-and-algorithms-in-c-
4ocf
3. Spring:
The Spring Framework provides a comprehensive programming and configuration model for
modern Java-based enterprise applications - on any kind of deployment platform.

a. Spring: Learn about spring container, IOC and DI, Autowiring and it’s
practical usage.
b. Springboot and microservices: Learn how we moved from Spring MVC
to Springboot. Advantages of using Microservices over monolithic
architecture and it’s business impact. Get hands-on on all the relevant
annotations.
c. Spring autoconfiguration: All annotations involved in spring
autoconfiguration must be learnt.
d. Spring ORM: Learn about Spring-data-jpa and Spring-data-mongo. Get
hands-on on custom native queries- @Query annotation.
e. 12 Factor app: Get hands-on on 12 Factor app. Create fully functional
microservices that implements minimum 9-10 factors out of 12 factors.
f. GOF design patterns: Get practical hands-on done on all design patterns
like singleton, factory, observer etc.
g. Spring security and jwt: Get practical hands-on on Spring security and
jwt usage.
Reference links:

● https://spring.io/projects/spring-framework
● https://spring.io/blog/2015/07/14/microservices-with-spring
● https://springframework.guru/gang-of-four-design-patterns/

4. DevOps:

The word DevOps is a combination of the terms development and operations,


meant to represent a collaborative or shared approach to the tasks performed by a
company's application development and IT operations teams.
In its broadest meaning, DevOps is a philosophy that promotes better communication
and collaboration between these teams -- and others -- in an organization. In its most
narrow interpretation, DevOps describes the adoption of iterative software
development, automation, and programmable infrastructure deployment and
maintenance.

a. DevOps Automation Tools : CI/CD using Jenkins with github or gitlab or


AWS.
b. Containerization: Docker and Kubernetes

Reference Links:
● https://www.geeksforgeeks.org/devops-tutorial/
● https://www.atlassian.com/devops/devops-tools

5. SQL:
SQL is a standard language for accessing and manipulating databases.

a. DDL, DML, DQL DCL : Learn usage.


b. Joins: Learn usage.
c. Constraints : Learn usage.
d. Store procedures: Learn usage.
e. Triggers and Magic table: Learn usage.
f. Savepoint and Rollbacks: Learn usage.

Reference Links:

● https://www.w3schools.com/sql/sql_intro.asp
● https://www.tutorialspoint.com/sql/index.htm

6. Angular:
Angular is a TypeScript-based, free and open-source single-page web application framework
led by the Angular Team at Google and by a community of individuals and corporations.

a. ES6 and Typescript: Learn usage and difference.


b. Angular SPA concept: Learn about all the config files like tsconfig.ts,
tscofig.spec.js, package.json, package-lock.json, angular.json etc. Understand
entry point of SPA.
c. Components: Learn usage, cli command , component interaction .
d. Data bindings: Learn usage.
e. Directives: Learn usage.
f. Service, Observable from RxJS: Learn usage.
g. Material: Learn usage.
h. Routing and Route Guard: Learn usage.
i. Interceptor: Learn usage.
j. Pipes: Learn usage.
k. Component Life cycle: Learn about all the phases, sequence and usage.

Reference links:

● https://angular.io/tutorial
● https://angular.io/start
● https://angular.io/guide/architecture

7. Kafka Message Queuing:


Apache Kafka is a distributed event store and stream-processing platform. It is an
open-source system developed by the Apache Software Foundation written in Java and
Scala.

a. Kafka message broker: Learn usage.


b. Brokers and Topics: Learn usage.
c. Partitioning of Topics: Learn usage.
d. Difference and Similarities between Kafka broker and database: Learn
usage.
e. Transaction type, size of data and limitations: Learn usage.

Reference links:

● https://www.tutorialspoint.com/apache_kafka/index.htm

You might also like