AllImportantQuestions (1) - 1
AllImportantQuestions (1) - 1
1)What is Java?
Java is a object oriented, platform independent, case sensitive, strongly typed checking ,
high level , open source programming language developed by James Gosling in the
year of 1995.
2)Features of Java?
1)Simple
2)Object oriented
3)Platform independent
4)Portable
5)Architecture Neutral
6)Highly secured
7)Robust
8)Multithreaded
9)Distributed
10)Dynamic
JDK
JDK stands for Java Development Kit.
It is a installable software which contains compiler (javac) , interpreter (java),
Java virtual machine (JVM), archiever (.jar) , document generator (javadoc) and
other tools needed for java application development.
JRE
JRE stands for Java Runtime Environment.
It provides very good environment to run java applications only.
JVM
JVM stands for Java Virtual Machine.
It is an interpreter which is used to execute our program line by line procedure.
1
4)Types of classloaders in java?
Till 1.6 version it is possible to execute java program without main method
using static block. But from 1.7 version onwards it is not possible to execute
java program without main method.
ex: class A
{
static
{
System.out.println("Hello World");
System.exit(0);
}
}
6)What is typecasting?
i)Implicit typecasting
If we want to store small value into a bigger variable then we need to use
implicit typecasting.
A compiler is responsible to perform implicit typecasting.
Implicit typecasting is also known as Widening/upcasting.
ii)Explicit typecasting
If we want to store bigger value into a smaller variable then we need to use
explicit typecasting.
A programmer is responsible to perform explicit typecasting.
Explicit typecasting is also known as Norrowing/Downcasting.
2
7)What is static import in java?
java.lang package
IT is a part of a JVM which is used to increase the execution speed of our program.
A Method which is developed by using some other language is called native method.
12) What is Garbage Collector ?
3
There are two ways to call garbage collector in java.
1) System.gc()
2) Runtime.getRuntime().gc()
13) What is identifier?
4
19)Explain main method ?
public:
JVM wants to call this method from any where that's why main method is public.
static:
JVM wants to call this method without using object reference.
void:
Main method does not return anything to JVM.
main:
It is an identifier given to a main method.
String[] args:
It is a command line argument.
No, java will not consider as purely object oriented becauseit does not support many
OOPS concepts like multiple inheritance, operator overloading and more ever we
depends upon primitive datatypes which are non-objects.
OOPS
1) What is class?
syntax:
optional
|
modifier class class_name <extends> Parent_classname
<implements> Interface_name
5
{
- // variables and methods
}
default class
We can access public class within the package and outside of the package.
ex: public class A
{
}
If we declare any class as final then creating child class is not possible.
If we declare any class as final then extending some other class is not possible.
ex:
final class A
{
}
class B extends A // invalid
{
}
Q)What is abstract class ?
If we declare any class as abstract then creating object of that class is not possible.
ex:
abstract class A
{
6
}
3) What is object ?
Q)toString()
Q)Data Hiding
After object creation if we perform any changes then for every change a new object
will be created such behaviour is called immutable object.
ex: String
Wrapper classes.
7
2)Mutable object
After object creation if we perform any changes then all the changes will reflect to
single
object such behaviour is called mutable object.
ex:
StringBuffer
StringBuilder
5)What is singleton class?
A class which allows us to create only one object is called singleton class.
To declare a singleton class we required private constructor and static method.
ex:
class Singleton
{
private static Singleton singleton=null;
private Singleton()
{
}
public static Singleton getInstance()
{
if(singleton==null)
{
singleton=new Singletone();
}
return singleton;
}
}
6)What is hashcode?
For every object , JVM will create a unique identifier number i.e hash code.
In order to read hash code we need to use hashCode() method of Object class.
ex:
Test t=new Test();
System.out.println(t.hashCode());
8
7)Interfaces?
8)Abstract class?
Abstract class is a collection of zero or more abstract methods and zero or more
concrete methods.
A "abstract" keyword is applicable only for class and method but not for variable.
It is not possible to create object for abstract class.
To write the implementation of abstract methods of an abstract class we will use sub
classes.
By default every abstract method is a public and abstract.
Abstract class contains only instance variables.
syntax:
abstract class class_name
{ - //instance variables
- //abstract methods
- //concrete methods
9
}
9)What is Abstraction?
Hiding the internal implementation and high lighting the set of services is called abstraction.
Best example of abstraction is ATM machine, coffee machine,calcular, phone and etc.
The main advantages of abstraction are.
1)It gives security because it will hide internal implementation from the outsider.
2)Enhancement becomes more easy without effecting enduser they can perform any
changes in our internal system.
3)It provides flexibility to the enduser to use the system.
4)It improves maintainability of an application.
10)What is encapsulation?
11)What is the difference between POJO class and Java Bean class?
POJO class:
A class is said to be pojo class if it supports following two properties.
1)All variables must be private.
2)All variables must have setter and getter method.
Java Bean class:
A class is said to be java bean class if it supports following four properties.
1)A class must be public.
2)A class must have constructor.
3)All variables should be private.
4)All variables should have setter and getter method.
Note:
Every Java bean class is a pojo class.
But every pojo class is not a java bean class.
CONSTRUCTORS
1)What is Constructor?
ex:class A
{
A()
11
{
System.out.println("0-arg const");
}
}
ex: class A
{
A(int i)
{
System.out.println("parameterized const");
}
}
1)Userdefined constructor:
2) Parameterized constructor:
Yes, we can overload main method in java.But JVM always execute main method
with String[] parameter only.
Having same method name with same parameters in two different classes is called
method overriding.
Methods which are present in parent class are called overridden methods.
Methods which are present in child class are called overriding methods.
Method resolution will taken care by JVM based on runtime objects.
ex: class A
{
public void m1()
{
System.out.println("ITALENT");
}
}
class B extends A
{
public void m1()
13
{
System.out.println("IIHUB TALENT");
}
}
Method hiding is exactly the same as method overriding with following differences.
14
Method overriding Method hiding
All the methods present in method overriding All the methods present in method
must be non-static. hiding must be static.
Method resolution will taken care by JVM Method resolution will taken care based
on runtime object. by compiler based on reference type.
It is also known as runtime polymorphism, It is also known as compile time
dynamic polymorphism, late binding. polymorphism, static polymorphism,
early binding.
A "super" keyword is a java keyword which is used to refer super class object
reference.
We can utility super keyword in following ways.
i)To refer super class variables
ii)To refer super class methods
iii)To refer super class constructors
15
API stands for application programming interface.
It is a base for the programmer to develop software applications.
API is a collection of packages.
We have three types of API's.
1)Predefined API:
Built-In API is called predefined API.
2)Userdefined API:
API which is created by the user based on the requirement is
called userdefined API.
3)Third party API:
API which is given by third party vendor.
ex: JAVAZOOM API , Text API and etc.
Interface abstract
1)To declare interface we will use 1) To declare abstract class we will
interface keyword. use abstract keyword.
2)Interface is a collection of abstract 2)Abstract class is a collection of
methods,default methods and static abstract methods and concrete
methods. methods.
3)Interface contains constants. 3)Abstract class contains instance
variables.
4)We can achieve multiple 4)We can't achieve multiple
inheritance. inheritence.
16)What is Inheritance?
Inheritance is a mechanism where one class will derived from the properties from
another class.
Using "extends" keyword we can implements inheritance.
We have five types of inheritance.
1) Single level inheritance.
2) Multi level inheritance
3) Multiple inheritance
4) Hierarchical inheritance
5) Hybrid inheritance
There is a chance of raising ambiguity problem that's why java does not
support multiple inheritance.
ex:
P1.m1() p2.m1()
|-----------------------------|
|
C.m1();
But from java 1.8 version onwards java supports multiple inheritance through
default methods of interface.
ex:
class Engine
{
- //engine specific functionality
}
class Car
{
Engine e=new Engine();
-
}
Composition:
Without existing container object there is a no chance of having contained object then
the relationship between
18
container object and contained object is called composition which is strongly
association.
Aggregation:
Without existing container object there is a chance of having contained object then the
relationship
between container object and contained object is called aggregation which is loosely
association.
An interface which does not have any constants and abstract methods is called marker
interface.
In general, empty interface is called marker interface.
Marker interfaces are empty interfaces but by using those interfaces we get some
ability to do.
ex:
Serializable
Remote
21) What is inner class?
Sometimes we will declare a class inside another class such concept is called inner class.
ex:class Outer_Class
{
class Inner_Class
{
- //code to be execute
}
}
Inner classes introduced as a part of event handling to remove GUI bugs.
But because of powerful features and benefits of inner classes, Programmers started
to use inner classes in regular programming code.
Inner class does not accept static members i.e static variable, static method and
static block.
22)What is package?
19
Package is a collection of classes, interfaces, enums ,Annotations, Exceptions and Errors.
Enum,Exception and Error is a special class and Annotation is a special interface.
In general, a package is a collection of classes and interfaces.
Package is also known as folder or a directory.
In java, packages are divided into two types.
All package names we need to declare under lower case letters only.
1)Predefined packages:
Built-In packages are called predefined packages.
ex: java.lang , java.io, java.util
2)Userdefined package:
Packages which are created by ther user are called userdefined packages.
It is highly recommanded to use package name in the reverse order of url.
ex:
com.ihubtalent.www
Arrays
1)what is Array?
Length length()
It is a final variable which is It is a final method which is applicable
applicable only for arrays only for String objects.
It will return size of an array. It will return number of character present in
String.
Ex: ex:
class Test class Test
{ {
public static void main(String[] args) public static void main(String[] args)
{ {
int[] arr=new int[3]; String str="hello";
System.out.println(arr.length);//3 System.out.println(str.length());//5
3)What is Recursion?
4) What is Enum?
The main objective of wrapper class is used to wrap primitive to wrapper object
and vice versa.
To defined serveral utility methods.
Primitive type Wrapper class
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
constructors
Every wrapper contains following two constructors.One will take corresponding primitive as an
argument and another will take corresponding String as an argument.
wrapper class constructor
Byte byte or String
Short short or String
Integer int or String
Long long or String
Float float or String
Double double or String
22
Boolean boolean or String
Character char
STRINGS
1) What is Strings?
StringBuffer StringBuilder
23
4.StringBuffer introduced in 1.0v. 4.StringBuilder introduced in 1.5v.
EXCEPTION HANDILING
1)What is the difference between Exception and Error?
Exception
Exception is a problem for which we can provide solution programmatically.
Exception will raise due to syntax errors.
ex:
ArithmeticException
FileNotFoundException
IllegalArgumentException
Error
Error is a problem for which we can't provide solution programmatically.
Error will raise due to lack of system resources.
ex:
OutOfMemoryError
StackOverFlowErrr
LinkageError
and etc.
1)Smooth termination:
During the program execution suppose if we are not getting any interruption in the
middle of the program such type of termination is called smooth termination.
ex:
class Test
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
24
}
2)Abnormal termination:
During the program execution suppose if we are getting any interruption in the middle
of the program such type of termination is called abnormal termination.
ex:
class Test
{
public static void main(String[] args)
{
System.out.println(10/0);
}
}
2) What is Exception?
ii)Unchecked exceptions
Exceptions which are checked by a JVM at the time of runtime is called
unchecked exceptions.
ex:
ArithmeticException
25
IllegalArgumentException
ClassCastException
and etc
If any checked exception raised in our program we must and should handle that exception by
using try and catch block.
2)Userdefined exceptions
Exceptions which are created by the user based on the application requirement are called
customized exceptions.
ex:
StudentsNotPracticingException
NoInterestInJavaException
InsufficientFeeException
26
- //Error handling code
}
2)toString()
It will display name of the exception and description of the exception.
3)getMessage()
It will display description of the exception.
syntax
try
{
- // Risky Code
}
catch(Exception e)
{
- // Errorhandling code
}
finally
{
- //cleanup code
}
27
5)What is the difference between final, finally and finalized method
Final:
A final is a modifier which is applicable for variables,methods and classes.
If we declare any variable as final then reassignment of that variable is not possible.
If we declare any method as final then overriding of that method is not possible.
If we declare any class as final then creating child class is not possible.
Finally
It is a block which contains cleanup code and it will execute irrespective of exception
raised or not.
finalized method
It is a method called by garbage collector just before destroying an object for cleanup
activity.
Sometimes we will create exception object explicitly and handover to JVM manually by using
throw statement.
Array is a typesafe.
We can provide guarantee that what type of elements are present in array.
If requirement to store String values then we need to use String[] array.
ex:
String[] str=new String[100];
str[0]="hi";
str[2]=10; // invalid
At the time of retrieving the data from array , we don't need to perform any typecasting
ex:
String[] str=new String[100];
28
str[0]="hi";
Collections
1. Differences between Arrays and Collections?
Arrays Collections
It is a collection of homogeneous data It is a collection of homogeneous and
elements. heterogeneous data elements.
Arrays are fixed in size. Collections are growable in nature.
Performance point of view arrays are Memory point of view collections are
recommended to use. recommended to use.
Arrays are type safe. Collections are not type safe.
Arrays are not implemented based on Collections are implemented based on
data structure concept so we can’t expect data structure concept so we can expect
any readymade (utility) methods. readymade (utility) methods.
It holds primitive and object types. It holds only object types but not primitive
types.
3. What is Collection?
29
Collection is an interface which can be used to represent a group of objects as a
single entity.
ArrayList Vector
No method is synchronized Every method is synchronized
At a time multiple Threads are allow to At a time only one Thread is allow to
operate on ArrayList object and hence operate on Vector object and hence
ArrayList object is not Thread safe. Vector object is Thread safe.
Relatively performance is high because Relatively performance is low because
Threads are not required to wait. Threads are required to wait.
It is non legacy and introduced in 1.2v. It is legacy and introduced in 1.0v.
ArrayList LinkedList
The underlying data structure is resizable The underlying data structure is doubly
30
array or growable array. linked list.
ArrayList is better for storing and LinkedList is better for manipulating data.
accessing data.
The memory location for the elements of The location for the elements of a linked
an ArrayList is contiguous. list is not contagious.
When an ArrayList is initialized, a default There is no case of default capacity in a
capacity of 10 is assigned to the ArrayList. LinkedList.
List Set
If we want to represent group of If we want to represent group of individual
individual objects in a single entity where objects in a single entity where duplicates
duplicates are allowed and order is are not allowed and order is not preserved
preserved then we need to use List. then we need to use Set.
List allows us to add any number of null Set allows us to add at least one null value
values. in it.
List implementation classes are ArrayList, Set implementation classes are HashSet,
LinkedList and Vector. LinkedHashSet and TreeSet.
ListIterator cursor is used to iterate the Iterator cursor is used to iterate the set
List elements. elements.
HashSet LinkedHashSet
The underlying data structure is The underlying data structure is Hastable
Hashtable. and LinkedList.
Insertion order is not preserved. Insertion order is preserved.
Introduced in 1.2 version. Introduced in 1.4 version.
HashSet TreeSet
The underlying data structure is The underlying data structure is Balanced
Hashtable. Tree.
Null insertion is possible. Null insertion is not possible.
Heterogeneous objects are allowed. Heterogeneous objects are not allowed.
31
Insertion order is not preserved. Insertion order is sorting order of an
object.
Comparable Comparator
It is present in java.lang package It is present in java.util package
It contains only one method i.e It contains two methods i.e compare() and
compareTo() equals()
If we depend upon natural sorting order If we depend upon customized sorting
then we need to use Comparable order then we need to use Comparator
interface. interface.
HashMap LinkedHashMap
The underlying data structure is The underlying data structure is Hastable
Hashtable. and LinkedList.
Insertion order is not preserved. Insertion order is preserved.
Introduced in 1.2 version. Introduced in 1.4 version.
HashMap TreeMap
The underlying data structure is The underlying data structure is Red Black
Hashtable. Tree.
32
Insertion order is not preserved. Insertion order is sorting order of an
object.
Both key and value can be null. Key can’t be null but value can be null.
TreeMap Hashtable
The underlying data structure is Red Black The underlying data structure is Hashtable.
Tree.
Key can’t be null but value can be null. Both key and value can’t be null.
Both key and value can be null. Key can’t be null but value can be null.
It is a non-legacy class. It is a legacy class
It is introduced in 1.2 version. It is introduced in 1.0 version
Methods are not synchronized. All methods are synchronized.
33
16.Types of Cursors in java?
Thread:
Thread is a light weight sub process.
We can run multiple threads concurently.
One thread can communicate with another thread.
ex:
class is one thread
constructor is one thread
block is one thread
and etc.
PROCESS:
Process is a collection of threads.
We can run multiple process concurently.
One process can't communicate with another process.They are independent to each
other.
ex:
Opening a notepad and typing java notes is one process.
Downloading a file from internet is one process.
Taking class in zoom metting is one process.
2)What is Multi-tasking?
Executing several task simultenously where each task is a same part of a program.
It is best suitable for programmatic level.
4)Thread priority?
In java, every thread has a priority automatically generated by JVM or explicitly provided by the
programmer.
The valid range for thread priority is 1 to 10.1 is a least priority and 10 is a highest priority.
Thread class defines following standard constants as thread priorities.
ex:
Thread.MAX_PRIORITY -- 10
Thread.NORM_PRIORITY -- 5
Thread.MIN_PRIORITY -- 1
In java, every thread has a name automatically generated by JVM or explictly provided by the
programmer.
1)yield()
It will pause the current execution thread and gives chance to other threads having same priority.
If multiple threads having same priority then we can't expect any execution order.
If there is no waiting threads then same thread will continue the execution.
Ex
public static native void yield()
2)join()
If a thread wants to wait untill the completion of some other thread then we need to use join()
method.
A join() method throws one checked exception called InterruptedException so we must and
should handle that exception by using try and catch block or by using throws statement
ex:
public final void join()throws InterruptedException
public final void join(long ms)throws InterruptedException
public final void join(long ms,int ns)throws InterruptedException
3)SLEEP():
If a thread don't want to perform any operation on perticular amount of time then we need to
use
sleep() method.
A sleep() method will throw one checked exception called InterruptedException so must and
should
handle that exception by using try and catch block or by using throws statement.
ex: public static native void sleep()throws InterruptedException
public static native void sleep(long ms)throws InterruptedException
public static native void sleep(long ms,int ns)throws InterruptedException
Q)Lock Mechanism in Java?
Whenever a thread wants to access any object.First it has to acquire the lock of it and release the
lock once thread complete its task.
7)Daemon Thread
Deamon thread is a service provide thread which provides service to user threads.
The life of deamon thread is same as user threads.Once threads executed deamon thread will
terminate automatically.
There are many daemon thread are running in our system.
ex:
Garbage collector , Finalizer and etc.
To start a deamon thread we need to use setDaemon(true) method.
To check a thread is a daemon or not we need to use isDaemon() method.
8)synchronization?
9)synchronized block?
10)Static synchronization?
11)DeadLock in java?
1)DeadLock
2)Thread Starvation
JAVA 1.8 FEATURES
1)Functional Interface?
An interface that contains exactly one abstract method is known as functional interface.
ex:
Runnable -> run()
Comparable -> compareTo()
ActionListener -> actionPerformed()
It can have any number of default and static methods.
Function interface is also known as Single Abstract Method Interface or SAM interface.
It is a new feature in java which helps in to achieve functional programming .
ex:
a=f1(){}
f1(f2(){}){}
@FunctionalInterface is a annotation which is used to declare functional interface and it is
optional.
2)Lamda Expression?
3)Stream API?
If we want to process the objects from Collections then we need to use Stream API.
Stream is an interface which is present in java.util.stream package.
Stream is use to perform bulk operations on Collections.
We can create Stream object as follow.
Syntax:
Stream s=c.stream();
ADVANCE JAVA
JDBC
1)What is JDBC ?
JDBC is a persistence technology which is used to develop persistence logic having the capability
1)Simple Statement
2)PreparedStatement
3)CallableStatement
5)What is DatabaseMetaData?
DatabaseMetaData gives information about database product name, database product version,
database driver name, database driver version, database username and etc.
ex:
DatabaseMetaData dbmd=con.getMetaData();
5)What is ResultSetMetaData?
ResultSetMetaData is an interface which is present in java.sql package.
ex:
ResultSetMetaData rsmd=rs.getMetaData();
6)Types of Queries in jdbc?
1)Select query
ex:
2)Non-Select query
database table.
ex:
It allows us to read the records sequentially or uni-directionally such type of ResultSet object is
called non-scrollable ResultSet object.
or
import java.sql.*;
class CreateTableApp
Class.forName("oracle.jdbc.driver.OracleDriver");
Connecton con=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:XE","system","admin");
PreparedStatement ps=con.prepareStatement(qry);
int result=ps.executeUpdate();
if(result==0)
else
System.out.println("Table created");
ps.close();
con.close();
import java.sql.*;
import java.util.*;
class CreateTableApp
int no=sc.nextInt();
String name=sc.next();
String add=sc.next();
Class.forName("oracle.jdbc.driver.OracleDriver");
Connecton
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","admin");
PreparedStatement ps=con.prepareStatement(qry);
ps.setInt(1,no);
ps.setString(2,name);
ps.setString(3,add);
int result=ps.executeUpdate();
if(result==0)
else
System.out.println("Table created");
ps.close();
con.close();
Persistence:
The process of storing and managing the data for a long period of time is called persistence.
Persistence store:
It is a place where we can store and manage the data for a long period of time.
Persistence data :
Persistence operation:
Insert, Update, Delete, Create and Select are called persistence operations.
In the real-time this operation is also known as CURD operation or CRUD operation or SCUD
operation.
Persistence logic:
persistence technology :
Deserialization:
The process of taking the data from file and representing an object is called deserialization.
Class.forName():
It is used to register JDBC driver with DriverManager service.
This method is used to load the driver class but it won't create an object.
Connection object:
A Connection is an interface which is present in java.sql package.
It is an object of underlying supplied java class which implements java.sql.Connection interface.
DriverManager.getConnection():
DriverManager is a class which is present in java.sql package.
A getConnection() is a static method which returns one JDBC connection object represent
connectivity between java application and database software.
Statement object :
A Statement is an interface which is present in java.sql package.
It is used to sends and executes our SQL query in database software.
We can create Statement object by using createStatement() method of Connection object.
A connection object which is created by the user is called direct direct connection object.
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","admin");
A connection object which is gathered from JDBC Connection pool is called pooled jdbc
connection object.
Limitations with Simple Statement object:
> It is not suitable to execute same query for multiple times with same or different values.
> It raises SQL injection problem.
> Framing query with variables is quite complex.
> We can't use string values directly in a query.
> It does not allows us to insert date values in a database table column.
>It does not allows us to insert LOB values in a database table column.
> To overcome these limitations we need to PreparedStatement object.
JDBC Flexible Application:
In JDBC, Connection object is a heavy weight object.
It is never recommanded to create Connection object in every JDBC application because it will
increasethe burdun of an application over the network.
It is always recommanded to a seperate class which returns Connection object.
PreparedStatement Object:
We can gather the result from pre compiled sql query for multiple times.
CallableStatement Object:
1)Q)What is Servlet ?
Servlet is a dynamic web resource program which enhanced the functionality of web server ,
proxy server ,HTTP server and etc.
or
Servlet is a java based dynamic web resource program which is used to generate
dynamic web pages.
or
Servlet is a single instance multi-thread java based web resource program which is used
to develop web applications.
It is a software application or program which is used to manage whole life cycle of web
resource program i.e from birth to death.
Servlet container manages whole life cycle of servlet program.
Similarly , JSP container manages whole life cycle of jsp program.
Some part of industry considers servlet container and jsp container are web containers.
Or ServletConfig config=getServletConfig();
ServletContext context=config.getServletContext();
7) what is Servlet Filters?
GET PosT
It is a default methodology. It is not a default methodology.
It sends the request fastly. It sends the request bit slow
It will carry limited amount of data. It will carry unlimited amount of data.
It is not suitable for secure data. It is suitable for secure data.
It is not suitable to perform It is suitable to perform encyrption and
encryption or fileuploading. file uploading.
To process GET methodology we To process POST methodology we need to use
need to use doGet(-,-) method. doPost(-,-) method.
What is deployment?
The process of keeping the application in the server is called deployment and reverse
is called undeployment.
What is web server ?
A server is a piece of software which is used to automate whole process of web application and
webresource program execution.
programexecution.
URL Pattern will hide technology name or class name from the outsider for security reason.
Our web container, web resource program and client will recognize each servlet by using url
patternonly.
Every server is designed to support three types of url
patterns.
pattern3)Extension match
url pattern
Types of Communications:
2)HtmltoServletcommunication
3)ServlettoServletcommunication
In Browser to Servlet communication we need to type our request url in browser address bar.But
typing request url in browser address bar is complex.
To overcome this limitation we need to use HTML to Servlet communication.
In html to servlet communication we can generate the request by using html based hyperlinks or
form pages.
The request which is generated by using hyperlink does not carry the data.
The request which is generated by using form page will carry the data.
In html based hyperlink to servlet communication we need to type our request url as
In html based form page to servelt communication we need to type our request url
asaction url.
Form Validation:
The process of checking format and pattern of form data is called formvalidation. Such logic
is called form validation logic.
There are two ways to perform form validation.
It does not give any implicit object. (Object which can be used without any configuration
is called implicit object)
2)What is jsp?
JavaServer Pages (JSP) is a technology for developing Webpages that supports dynamic content.
This helps developers insert java code in HTML pages by making use of special JSP tags,
most of which start with <% and end with %>.
6)Phases in JSP
1)Translation phase
In this phase, our JSP program converts to JES class
(ABC_jsp.class and ABC_jsp.java) object.
2)Request processing phase
In this phase, our JES class will be execute and result will send
to browser window as dynamic response.
7)MVC in JSP?
MVC stands for Model View Controller.
It is a design partern which seperates business logic , persistence logic and data.
Controller acts like an interface between Model and View.
Controller is used to intercept with all the incoming requests.
Model contains data.
View represent User interface i.e UI.
9)What is JES class?
Action tags provides functionality along with servlet API features. It contains xml tags. It does
not have any standard tags. All action tags are executed dynamically at runtime. Action tags
are divided into twotypes
Response:
JSP config
It is an implicit object of type ServletConfig. The config object is created by web container for
each jsp page. This object is used to read initialized parameters for a perticular jsp page.
HTML-5
What is HTML?
HTML stands for Hypertext Markup Language. HTML was developed by "Burners Lee" in late, 1991.
HTML is widely used language on web to develop web pages and web applications.HTML element
represented by tags so it is also known as tag based language.
All HTML documents must save with ".html" and ".htm" extension.
Advantages of HTML?
HTML is easy to learn and easy to use
It is free to use.
It is platform independent.
Disadvantages of HTML?
HTML is used to create Static web pages but not Dynamic web pages.
Page description
Keywords
Author
Portview and
Other metadata
Ex:
<br>
<hr>
<input>
HTML tag:
HTML element:
An HTML element is defined by a start tag, some content and end tag.Ex:
HTML attribute:
Attributes provide additional information about elements.Attributes are always specified in the start tag.
<body bgcolor="#FFFF00">
It contains only an opening tag and does not need a closing tag.Ex:
Block Elements:
Block elements always start with a new line and occupies completed width of aviewport /device.
ex:
Inline elements start with same line and occupy width as much as required.ex:
Ex:
Character Entity
& &
> >
< <
“ "
Order list:
<ol>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
</ul>
Description list:
<dl>
<dt>HTML</dt>
</dl>
What is DHTML?
DHTML stands for Dynamic Hypertext Markup language.
DHTML is a combination of HTML, CSS and JavaScript and etc. which are used to createdynamically
changes websites.
The HTML <b> element defines bold text, without any extra importance.Ex:
The HTML <strong> element defines text with strong importance.The content inside is typically displayed in
bold.
Ex:
Ex:
The HTML <em> element defines emphasized text.The content inside is typically displayed in italic.
Ex:
Ex:
Abbreviation -- <abr>
Definition -- <dfn>
code -- <code>
keyboard -- <kbd>
address -- <address>
<details> - Defines additional details that the user can open and close on demand
Div span
It is used to wrap sections of a document. It is used to wrap small portion of text, images
and etc.
A web resource program which executes at client side(Browser) is called clientside web resource
program.
Ex:
A web resource program which executes at server side is called serverside web resource program.
Ex:
java program
.net program python programphp program
A static web page is a page that written in HTML, CSS, JavaScript, Bootstrap andetc.
What is Website?
Website is a collection of web pages.
Website resides and executes in internet environment and it will give 24/7 accessibility for ourweb pages.
Ex:
www.ihubtalent.com www.qualitythought.inwww.amazon.com
www.flipkart.com
List out some Tags introduced in HTML5?
The following tags introduced in HTML5 areEx:
List out some Tags/Elements removed from HTML5? The following tags/elements removed from HTML5 are
Ex:
SVG:
Using SVG we can derive 2 dimensional vector based graphics on a web page.The <svg> tag/element is a
container for SVG graphics.
CANVAS:
A <canvas> tag/element is used to draw the graphics via JavaScript. A <canvas> tag/element is a container
for html graphics.
<audio> : It is an inline element that is used to embed sound files into a web page.
<track> : It specifies text tracks for media components audio and video.
<embed> : It is used for embedding external applications which are generallymultimedia content like
audio or video into an HTML document.
The <datalist> tag is used to provide an "autocomplete" feature for <input> elements.Users will see a drop-
down list of pre-defined options as they input data.
Ex:
<datalist id=”browsers”>
<option value=”Chrome”>
<option value=”firefox”>
<option value=”Edge”>
</datalist>
Differences between HTML and HTML5?
HTML HTML5
<!DOCTYPE>.
HTML is inflexible for the developer. HTML5 is flexible for the developer.
Does not support drag and drop effects. It supports Drag and Drop effects.
Not supported Audio and video without Supports audio and video with the help of
usingflash player.
<audio> and <video> tag without using
flashplayer.
Vector graphics supported with the help Vector graphics is supported with the help
of technologies such as VML, Silver light, ofinternal technologies such as SVG and
adobeflash and etc. CANVAS.
Shapes like circle, rectangle, and triangle Shapes like circle, triangle, and rectangle
arenot possible. areeasy to draw.
Responsive web design is about creating web pages which automatically adjust the content fordifference
1) What is CSS?
CSS stands for Cascading Style Sheets.
It is widely used language on web like HTML.
It is extremely used to apply the styles on HTML elements.
In general, CSS is used to design the HTML elements/tags.
The latest version of CSS3 was introduced in 2001.
All CSS files we need to save with ".css" extension.
2) Advantages of CSS?
Flexibility
Saves lot of time
Performance is faster
Support Global Change
Compatibility with multiple devices
3) Disadvantages of
CSS?
Fragmentation
Need to update all the versions of CSS
There exists a scarcity of security
Browser compatibility
Inline CSS:
Inline CSS may use to apply a unique style for a single Element/Tag.
We can achieve inline CSS with the help of "style" attribute.
The "style" attribute may contain any CSS property.
Ex:
<h1 style=”color:red”>Heading Tag</h1>
<p style=”background-color:yellow”></p>
<b style=”font-size:30px”></b>
Internal CSS or Embedded CSS:
Internal CSS may use when a single HTML document must be styled uniquely.
Using <style> tag we can achieve internal CSS.
A <style> tag must be placed inside <head> tag.
Ex:
<!DOCYTPE html>
<html>
<head>
<title>IHUB TALENT</title>
<style type=”text/css”>
body
{
background-color:red;
}
</style>
</head>
<body>
Welcome to IHUB TALENT MANAGEMENT
</body>
</html>
External CSS:
External CSS may use to change the look of the entire website by changing just one file.
Each html pages includes a reference to the external style sheet inside the <link> tag.
In external css we have two create two files. i.e ".html" and ".css" file.
The external ".css" file should not contain any html tags.
Ex:
index.html
<!DOCTYPE html>
<html>
<head>
<title>IHUB Talent</title>
<!-- adding external css file -->
<link rel="stylesheet" type="text/css" href="mystyles.css">
</head>
<body>
Welcome to IHUB TALENT MANAGEMENT
</body>
</html>
mystyles.css
body
{
background-color:violet;
}
5) Limitations of CSS?
CSS has various limitations as a programming language as follows
CSS cannot perform any logical operations like if/else or for/while or +/-.
We can’t read any files using CSS.
It can’t interact with databases.
CSS can’t request a web page.
.box
{
width:320px;
height:200px;
background:#ccc;
padding:10px;
box-sizing: content-box
}
<div class=”box”></div>
border-box: Box-sizing border-box consider width equals to total border box. Adding
border and padding will not change size of box.
Ex:
.box
{
width:320px;
height:200px;
background:#ccc;
padding:10px;
box-sizing: border-box
}
<div class=”box”></div>
GRID FLEXBOX
Grid is made for two-dimensional layout Grid is made for two-dimensional layout
Grid can work on rows and columns at a Flexbox can work on either rows or
time. columns at a time.
Grid helps you create the outer layout of Flexbox mostly helps align content &
the webpage. move blocks.
CSS margins: It is used to create space around the element. We can set the different
sizes of margins for individual sides (top, right, bottom, left).
CSS padding: It used to create space around the element, inside any defined border.
We can set different paddings for individual sides (top, right, bottom, left). It is
important to add border properties to implement padding properties.
h1
{
visibility: hidden;
}
display:none- It is hidden and takes no space.
Ex:
h1
{
display:none;
}
1) What is JavaScript?
JavaScript is a scripting language.
It is a case sensitive language.
It is an object based language.
It is a loosely typed checking language.
It was developed by Brendan Eich in 1995.
The original name of JavaScript is LiveScript.
2) Advantages of JavaScript?
Speed/Faster
Simplicity
Interoperability
Versatility
Rich interfaces
Reduce Server Load
No compiler and No interpreter
Weakly typed language
Platform independent
Client Side validation
3) Disadvantages of JavaScript?
Client-Side Security
Browser Support
Stop Rendering
Slow Bitwise Operation
Single Inheritance
Java JavaScript
It is a non-scripting language. It is a scripting language.
Java can run individually. JavaScript can't run individually.
Java does not required browser window JavaScript requires browser window for
for execution execution.
It is an object oriented programming It is an object based programming
language. language.
It is a strongly typed checking language. It is a loosely typed checking language
It is complex language. It is easy language.
5) What is JavaScript Engine?
JavaScript Engine is software or a program which converts user understandable
scripting language to machine understandable scripting language.
By default, every browser contains JavaScript engine.
The following lists of JavaScript engine present in a browser are.
Ex:
Browser JavaScript Engine
1) Chrome V8 Engine
2) Firefox Spidermonkey
3) Safari javascriptcore
4) Edge Chakra
6) Types of JavaScript?
We have two type of JavaScript.
Internal JavaScript / Embedded JavaScript
It contains html code and JavaScript code inside a single file with ".html"
extension.
External JavaScript / External JavaScript
It contains html code in ".html" file and JavaScript code in ".js" file.
7) Types of functions in
JavaScript?
We have two types of functions.
Named Functions
These types of functions contains name at the time of definition.
Ex:
function f1()
{
document.writeln(“hello world”);
}
f1();
Anonymous Functions
These types of functions don’t contain any name.
They are declared dynamically at runtime.
Ex:
var f1=function(){
document.writeln(‘hello world’);
}
f1();
innerHTML:
The innerHTML property is used to write the HTML code using JavaScript
dynamically.
Ex:
<div id=”result”></div>
<script>
document.getElementById (‘result’).innerHTML=”<h1>HTML Text</h1>”;
</script>
13) Types of objects in JavaScript?
Build-In Objects:
Built-in objects are provided by JavaScript.
Built-in objects are not related to any Window or DOM.
These objects are used for simple data processing in the JavaScript.
Ex:
String
Number
Boolean
Math
Array
Predefine Objects:
Objects which are created by the user based on the requirement are called
custom objects.
JavaScript provides built-in object called Object.
We can use “Object” to create custom objects in JavaScript.
Ex:
<script>
var emp={id:101,name:"IHUB TALENT",salary:40000}
document.writeln (emp.id+" "+emp.name+" "+emp.salary);
</script>
1) Element node
2) Attribute node
3) Text node
Using document object we can add dynamic content to the web page.
A document object is a property of window.
It means we can call document object directory or by using window.
Ex:
window.document
or
document
Ex2:
hoistedFunction(); //calling function hoistedFunction()
function hoistedFunction() {
{ ==> console.log(" Hello world! ");
console.log(" Hello world! "); }
} hoistedFunction(); //calling
function currying(fn){
return function(a){
return function(b){
return fn(a,b);
}
}
}
multiply(4, 3); // Returns 12
var curriedMultiply = currying(multiply);
curriedMultiply(4)(3); // Also returns 12
</script>
20) What is the difference between exec () and test () methods in JavaScript?
test () and exec () are RegExp expression methods used in JavaScript.
We'll use exec () to search a string for a specific pattern, and if it finds then it will
return the pattern directly otherwise t will return an 'empty' result.
We will use a test () to find a string for a specific pattern. It will return the
Boolean value 'true' on finding the given text otherwise, it will return 'false'.
<script>
const arr = [1, 2, 3, 4];
const [first,second,third,fourth] = arr;
document.writeln(first); // Outputs 1
document.writeln(second); // Outputs 2
document.writeln(third); // Outputs 3
document.writeln(fourth); // Outputs 4
</script>
Mouse Events:
mouseover onmouseover When the cursor of the mouse comes over the
element
Form Events:
Keydown & onkeydown & When the user press and then release the key
Keyup onkeyup
Document/Window Event:
Load Onload When the browser finishes the loading of the page
Unload Onunload When the visitor leaves the current webpage, the
browser unloads it
Resize Onresize When the visitor resizes the window of the browser
1)What is ReactJS?
2)Advantages of ReactJS?
3)What is JSX?
4)What is React Fragment?
5)What is React Component?
6)Function component vs Class component?
7)Write a program on function component and class component?
8)Real DOM vs Virtual DOM
9) props vs state
10) var vs let vs const
11) Phases of react component?
12) Life cycle method in react?
13) What is Hook?
14) What is react router?
15) What is SPA?
16) What is React event handling?
17) What is React redux?
18) Render vs Re-Render?
19) What is Reconciliation?
20) What is map() function?
21) What is filter() function?
22) What is reducer() function?
23) Controlled component vs Uncontrolled component (forms)
Questions and Answers
========================
1) What is React/ReactJS?
It is a declarative, efficient and flexible javascript frontend library responsible for building
frontend applications or User interfaces(UI).
It is an open source, component based frontend library responsible only for view layer of the
application.
It was developed by Jordan Walke who was a software engineer at Facebook.
2)Advantages of React/ReactJS ?
3)What is JSX ?
Fragment is used to group of list of childrens without adding extra nodes of the DOM.
In general, We can return only one element at a time but we can't return more then one
element directly.
To return more then one element we need to use React Fragment.
ex:
<>
-
-
</>
function component
--------------------
function App()
{
return(
<h1>Function component</h1>
)
}
export default App;
class component
--------------
import {Component} from 'react';
export default class App extends Component
{
render()
{
return(
<h1>Class Component</h1>
)
}
}
Handling events on react Elements are same like handling events on DOM elements.
ex:
Javascript
<button onclick="f1()">clickMe</button
React
<button onClick={handleClick}>clickMe</button> --> Function component
props state
Props are read-only. States are updatable.
Props are immutable. State is mutable.
Props allow us to pass data from one State holds information
component to other components as an argument. about the components.
Stateless component can have Props. Statefull components can have state.
React Router is a standard library system built on top of the React and used to
create routing in the React application using React Router Package.
ReactJS Router is mainly used for developing Single Page Web Applications.
17)What is SPA?
A Single Page Application (SPA) is a single web page, website, or web application that works
within a web browser and loads just a single document. It does not need page reloading during
its usage.
Programs
let count=0
let i,j
for(j=2;j<=100;j++)
{
for( i=1;i<=j;i++)
{
if(j%i==0)
count++
}
if(count==2)
{
console.log(j)
}
count=0
}
2) Difference between render and re-render ?
The map() method is used for traversing or displaying the list of similar objects of a component.
ex:
var arr = [10,20,30];
const result = arr.map((element)=>{
return (element + 10);
});
console.log(result);
ex:
const ages = [32, 33, 16, 40];
const result = ages.filter(checkAdult);
document.writeln(result);
function checkAdult(age) {
return age >= 18;
}
ex:
const numbers = [175, 50, 25];
var result=numbers.reduce(myFunc);
document.writeln(result);
function myFunc(total, num) {
return total + num;
}
6)What is Reconciliation?
Reconciliation is the process by which React updates the UI to reflect changes in the
component state.
The reconciliation algorithm is the set of rules that React uses to determine how to update the
UI in the most efficient way possible. React uses a virtual DOM (Document Object Model) to
update the UI.
7)What is Redux?
Redux is a pattern and library for managing and updating application state
using events called actions.
React uses Redux for building the user interface.
It servers as a centralized store for the state that needs to be used across your
entire application, with the rules ensuring that the state can only be updated in a predictable
fashion.
We have three components in react redux.
1)STORE
2)ACTION
3)REDUCER
const arr1=[1,2,3,4,5];
const arr2=[6,7,8,9,10];
const result=[...arr1,...arr2];
document.writeln(result);
11) Write a javascript program to find out fibonacci series of a given number?
var n=5;
var a=0,b=1,c;
for(var i=2;i<=n;i++)
{
c=a+b;
document.writeln(c+" ");
a=b;
b=c;
}
var str="hello";
var carr=str.split('').reverse().join("");
document.writeln(carr);
There are two ways are there two declare the state.
1)Inside the class
2)Inside the constructor
this.state={
name: "Alan"
}
}
render()
{
return(
<h1>My Name : {name}</h1>
)
}
}
App.js
function App(props)
{
return(
<h1>My Name : {props.name}</h1>
)
}
export default App;
Spring Framework
Framework :
Vendor : Interface2
https://repo.spring.io/ui/native/release/org/springframework/spring/
Aspect oriented , open source java based application framework which is used to develop all
types ofapplications.
AOP
DAO
While working JDBC we need to handle the exceptions. That problem is eliminated in DAO module. Here
checked exceptions converts to unchecked exceptions. So we don't need to handle any exceptions.
ORM
ORM is a abstract layer on ORM tools like hibernate, ibatis, jpa and etc.
While transfer the data in the form objects there are some drawbacks, those problems solved by ORM
module.
JEE
MVC
After receiving an HTTP request, DispatcherServlet consults the HandlerMapping to call the appropriate
Controller.
The Controller takes the request and calls the appropriate service methods based on used GET orPOST
method. The service method will set model data based on defined business logic and returns view name
to the DispatcherServlet.
The DispatcherServlet will take help from ViewResolver to pickup the defined view for the request.
Once view is finalized, The DispatcherServlet passes the model data to the view which is finallyrendered
on the browser.
Perform configurations.
Arrange a virtual server (Tomcat, GlassFish and etc) to deploy web applications.
Arrange a Physical database (Oracle, MySql, mongodb and etc) to perform database operations.We can
overcome above limitations by using spring Boot.
Diagram: Developer
| Spring Boot
|Spring
What is Spring Boot?
Spring Boot is an open source Java-based framework developed by Pivotal Team.
Spring Boot provides the RAD (Rapid Application Development) feature to the Spring framework.
Spring Boot is used to create stand-alone, production-grade Spring based Applicationswith minimum
configuration.
In Spring Boot, there is no requirement for XML configuration. XML configurations are replaced by
Annotations.
It provides production-ready features such as metrics, health checks, and externalized configuration. It
increases productivity and reduces development time.
It tests web applications easily with the help of different Embedded HTTP servers such as Tomcat, Jetty,
Undertow etc. We don't need to deploy WAR files.
It offers a CLI tool for developing and testing the Spring Boot application.
It also minimizes writing multiple boilerplate codes (the code that has to be included in many placeswith
little or no alteration), XML configuration, and annotations.
Autoconfiguration
starter
CLI
Actuators
82
Q) In how many ways we can create a spring boot project?
There are two ways to create spring boot project.
STS IDE
It provides a ready-to-use environment to implement, run, deploy, and debug the application.
ex: https://spring.io/tools#suite-thre
Spring Boot provides a number of starters that allow us to add jars in the classpath. Spring Boot built-in
starters make development easier and rapid.
In the Spring Boot Framework, all the starters follow a similar naming pattern:spring-boot-starter-*,
where * denotes a particular type of application.
spring-boot-starter-data-jpa spring-boot-starter-data-mongodbspring-boot-starter-mail
Third-Party Starters
ex: abc-spring-boot-starter.
>AutoConfiguration
83
If we want to develop a web application, we need to add the following dependency in pom.xml file. ex:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
Spring web starter uses Spring MVC, REST and Tomcat as a default embedded server.
The single spring-boot-starter-web dependency transitively pulls in all dependencies related to web
development.
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.0.0.RELEASE</version>
<scope>compile</scope>
</dependency>
The spring-boot-starter-web ,auto-configures the following things that are required for the web
development:
Dispatcher Servlet
Error Page
Interview question
@Configuration: It allows us to register extra beans in the context or import additional configuration
classes.
84
Where to do spring boot application configurations?
ex: We can configure application configuration in two files.
Q)In spring boot mvc based web application who will pass HTTP request tocontroller?
ans) RequestDispatcher.
Q)To create a spring mvc based web application we need to add which starter?
spring-boot-stater-web
server.port = 9090
Spring Data JPA handles most of the complexity of JDBC-based database access and ORM (Object
Relational Mapping).
Spring Data JPA aims to improve the implementation of data access layers by reducing the effort to the
amount that is needed.
85
Spring Boot provides spring-boot-starter-data-jpa dependency to connect Spring application with
relational database efficiently.
ex: <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
CrudRepository:
It offers standard create, read, update, and delete It contains method like findOne(), findAll(), save(),
delete(), etc.
PagingAndSortingRepository:
It extends the CrudRepository and adds the findAll methods. It allows us to sort and retrieve thedata in a
paginated way.
JpaRepository:
It is a JPA specific repository It is defined in Spring Data Jpa. It extends the both repository
CrudRepository and PagingAndSortingRepository. It adds the JPA-specific methods, like flush() totrigger
a flush on the persistence context.
If we give/pass wrong request to our application then we will get Exception. ex:
http://localhost:9090/fetch/102
Here '102' record is not available so immediately our controller will throw below exception.ex:
"timestamp": "2021-02-14T06:24:01.205+00:00",
86
"status": 500,
Handling exceptions and errors in APIs and sending the proper response to the client is good for
enterprise applications.
@ControllerAdvice
@ExceptionHandler
The @ExceptionHandler is an annotation used to handle the specific exceptions and sending thecustom
responses to the client.
Monolithic Architecture
Diagram: sb5.1
87
In Monolithic Architecture we are developing every service individually and at end of thedevelopment
we are packaging all services as single war file and deploying in a server.
Advanages
1)Simple to develop
2)Simple to test
3)Simple to deploy
4)Simple to scale
2)Slow Development
4)Unscalable
5)Unreliable6)Inflexible
MicroService Architecture
Microservices are the small services that work together
The microservice defines an approach to the architecture that divides an application intoa pool of
loosely coupled services that implements business requirements.
Diagram: sb5.2
88
The microservice architectural style is an approach to develop a single application as a suite of small
services.It is next to Service-Oriented Architecture (SOA).
Each microservice runs its process and communicates with lightweight mechanisms. These services are
built around business capabilities and independently developed by fullyautomated deployment
machinery.
Independent Development
A single development team can build test and deploy the service.
Independent Deployment
we can update the service without redeploying the entire application.Bug release is more managable
and less risky.
It is used to pick best technology which best suitable for our application.
Granular Scaling
ebayGILT
theguardian NORDSTROM
and etc.
customer-microservice
Eureka Server
Eureka server is also known as service registry.Eureka server runs on 8761 port number.
89
Diagram: sb6.1
Features
Able to match routes on any request attributes.Predicates and filters are specific to routes.
Using Hystrix we can prevent Deligation of failure from one service to another service.Hystrix internally
follows Circuit Breaker Design pattern.
In short circuit breaker is used to check availability of external services like web service call,database
connection and etc.
90
Spring Security
Spring Security is a framework which provides various security features like authentication,
authorization to create secure Java Enterprise Applications.
Later on, in 2004, It was released under the Apache License as Spring Security 2.0.0.
This framework targets two major areas of application i.e authentication and authorization.
Authentication
Authorization
We can apply authorization to authorize web request, methods and access to individual domain.Spring
Security framework supports wide range of authentication models.
91
92