Interview Questions Past
Interview Questions Past
○ What is backlog
Sprint is 2-4 weeks long (agile sprint is no more than one month long)
○ DETAILED explanation of FYP
○ Applications of FYP
○ Name some non-functional requirements of your FYP (+ name some general
non-functional requirements).
○ Why do we use ftp protocol
File transfer protocol is protocol to transfer files on network from one machine to
another
○ What is serialization and deserialization?
Serialization in Java is a mechanism of writing the state of an object into a byte-
stream.
○ What is CNN?
○ What is noSQL
NoSQL databases are databases that store data in a format other than relational
tables.
NoSQL databases allow developers to store huge amounts of unstructured data,
giving them a lot of flexibility.
○ What are transactions
○ What is rollback
○ How would you implement a rollback function if you are creating a DBMS?
○ What is SQL injection?
○ Truncate vs Delete vs DROP
○ Write a query to select average salary department wise
○ Delete a row
○ How are views helpful/Advantage of views in business layer?
○ Why is TRUNCATE a DDL?
TRUNCATE actually drops & re-creates the table, and resets the table's metadata
○ How to use a BLOB?
You can also store large files as disk files and URL’s in columns but this can result in loss of track
and movement of files along with the database.
○ What is ACID?
○ What is projection?
● O.S:
○ Type of File Systems (just names)
controls how data is stored and retrieved(ways of organizing and storing files on hard
drive.
windows file sytems are FAT(file allocation table) and NTFS(new technology file system)
Ubuntu’s is ext
macOS are HFS+ and APFS
Unix is UFS and FFS
https://www.includehelp.com/operating-systems/fragmentation.aspx
https://www.tutorialspoint.com/difference-between-internal-fragmentation-and-external-
fragmentation
○ List some terminal commands
● C.N:
○ What are ports?
In computer networking, a port is a communication endpoint
The most common protocols that use port numbers are the Transmission Control
Protocol (TCP) and the User Datagram Protocol (UDP).
Higher-numbered ports are available for general use by applications and are known
as ephemeral ports.
0-65535
○ List network protocol
https://www.w3schools.in/types-of-network-protocols-and-their-uses/
○ Which protocol would you use if you wanted to create Twitter? (ans: HTTP, not TCP)
https
○ How to prevent a DDos attack ?
A DDoS attack happens when a hacker sends a flood of traffic to a network or server in order
to overwhelm(overload) the system and disrupt its ability to operate.
If you know what to expect when your traffic hits its upper limit, you can put rate limiting into
place. That means that the server will only accept as many requests as it can handle.
Another technique to prevent attacks is to hire a DDoS mitigation service. Their way of
preventing attacks is to route all incoming traffic through a filter, so that only genuine traffic
hits your website or application.
Increase Internet Bandwidth and Server Capacity
Using web application firewalls is a great way to protect larger enterprise-level applications.
A firewall can detect and prevent DDoS attacks by monitoring unusual spikes in traffic and
blocking them.
A content distribution network, or CDN, can balance out website traffic by spreading it
across different servers located around the globe.
● C.A:
○ Fragmentation.
○ Virtual Memory
○ What data structure would you use to implement Main Memory?
○ Caches are different from Main Memory, so what data structure would you use to
implement a cache?
● OOP:
○ Static Variable
○ Singleton Class
○ What is open/closed principle
Software entities should be open for extension, but closed for modification.
○ What is cohesion
○ What is coupling?
○ How can you increase coupling? How would you increase coupling in a SINGLE class?
○ Is coupling high in composition?
○ How can you reduce coupling?
○ What are immutable strings in Java.
An immutable class is simply a class whose instances cannot be
modified
An important point to note here is that, while the String object is immutable, its reference
variable is not. So that’s why, in the above example, the reference was made to refer to a
newly formed String object.
Because java uses the concept of string literal.Suppose there are 5 reference
variables,all referes to one object "sachin".If one reference variable changes the value
of the object, it will be affected to all the reference variables. That is why string
objects are immutable in java.
● Data Structures:
○ Basic definition of stack and queue.
Stack A stack is a linear data structure in which elements can be inserted and deleted only
from one side of the list, called the top. A stack follows the LIFO (Last In First Out) principle,
i.e., the element inserted at the last is the first element to come out. The insertion of an
element into stack is called push operation, and deletion of an element from the stack is
called pop operation.
A queue is a linear data structure in which elements can be inserted only from one side of
the list called rear, and the elements can be deleted only from the other side called
the front. The queue data structure follows the FIFO (First In First Out) principle, i.e. the
element inserted at first in the list, is the first element to be removed from the list. The
insertion of an element in a queue is called an enqueue operation and the deletion of an
element is called a dequeue operation. In queue we always maintain two pointers, one
pointing to the element which was inserted at the first and still present in the list with
the front pointer and the second pointer pointing to the element inserted at the last with
the rear pointer.
○ Name some searching algorithms.
Linear
Binary
○ What is the difference between immutable and mutable strings? (Strings are always
immutable!)
○ How can you make a String mutable?
With Mutable string, we can change the contents of an existing object
which does not result in the creation of a new object.
As already covered, the mutable string in java can be created using
StringBuffer and StringBuilder classes.
1) Java package is used to categorize the classes and interfaces so that they can be
easily maintained.
● Assembly:
○ What does shift left operation do mathematically? (Ans: multiplication by 2)
● Software Engineering:
○ What is SOLID Principle?
o Software reengineering?
Software Reengineering is the process of updating software without affecting its
functionality. This process may be done by developing additional features on
the software and adding functionalities that may or may not be required but considered to
make the software experience better and more efficient.
UML diagrams
Unified modelling language
Exception?
Waterfall model??
The Waterfall Model was the first Process Model to be introduced. It is also referred
to as a linear-sequential life cycle model. It is very simple to understand and use.
In a waterfall model, each phase must be completed before the next phase can begin
and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
The waterfall Model illustrates the software development process in a linear
sequential flow. This means that any phase in the development process begins only
if the previous phase is complete. In this waterfall model, the phases do not overlap.
Prototype Model
This model is used when the customers do not know the exact project requirements
beforehand.
JSON vs XML
Verification vs Validation
Client-server arhitecture
MVC
Difference between Inheritance & Polymorphism
What is HTML
Functional VS non Functional Requirnments
Rest
Rest is way of communication within components on web
AJAX
Another
Heap
Rotate array by number k
Annotations
for form validations in mvc