Important Questions
Important Questions
Important Questions
Digital transformation in the education industry helps improve the learning experience
for both students and teachers, as well as other people involved in the process.
Such changes focus on improving engagement and accessibility through interactive and
customizable learning.
As a result, online education gets cheaper, more comprehensive, and more inclusive.
Managing admissions
Uploading your enrollment application to universities or schools online is more
convenient.
You pick all the institutions of interest and send the respective documents at once.
This is a time-savvy option that wouldn't just accept your documents but also process
them faster.
Minimizing risks
Whether a child is sick or the classes were canceled due to harsh weather conditions,
online learning can handle it all.
Now, to maintain excellent attendance rates and not miss an important lesson, you can
simply click on the "Join" button of the meeting tool or just read through the material
uploaded on the cloud.
Improving learning outcomes
With interactive lessons and implementing high-tech solutions, you can motivate students
and, as a result, improve their learning skills.
The more attention they pay to what's going on, the more relevant information they'll be
able to absorb at once.
Evaluating performance
Students will get faster access to tests and their grades through online systems.
E-learning systems allow submitting papers, doing instant plagiarism checks, and
tracking attendance.
All these factors form students' performance levels that you can easily measure via a
digital platform.
1. b. Diagnostic imaging procedures are cutting-edge technology, but at the same time they
are an unpleasant experience for patients – and even more for paediatric patients. Explain
how design thinking helped Doug Dietz, an industrial designer, create a scanner experience
that children loved.
2. a. Identify the tasks involved in the process of receiving Admission Ticket for semester
exams in your college. Which of the identified tasks can be automated and illustrate
automation of one task
Identified task in the process of receiving Admission Ticket
1. Student Register:
To register students have to just provide their Personal Details like Name, Address,
Phone No, etc., and a photo, to the enroll himself into the System.
2. Admin Login:
Admin can view who has enrolled into the system, and can see all the new enrollment
on his login
3. Send Email:
After creating the hall ticket, the system mails the link of soft copy to every student
who have registered.
4. Student Login:
Students can use their credentials provided by admin to login into the system
Support to Accept Form Fee Online using Credit/ Debit Card/ Mobile Wallets/ UPI
Instant Generation of Form Fee Receipt
2. b. Identify the following cloud service types and list their characteristics and advantages.
Cisco WebEx Google App Engine, Amazon EC2.
Cisco WebEx
Cisco Webex Meetings is a software-as-a-service (SaaS)
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a good example of IaaS.
Characteristics of PaaS
PaaS offers browser based development environment. It allows the developer to create
database and edit the application code either via Application Programming Interface or
point-and-click tools.
PaaS provides built-in security, scalability, and web service interfaces.
PaaS provides built-in tools for defining workflow, approval processes, and business
rules.
It is easy to integrate PaaS with other applications on the same platform.
PaaS also provides web services interfaces that allow us to connect the applications
outside the platform.
Advantages
Characteristics of IaaS
On-demand availability of resources.
Allows to store copies of particular data at different locations.
The computing resources can be easily scaled up and down.
Highly flexible and highly scalable.
Accessible by multiple users.
Cost-effective.
Advantages
Full control of the computing resources through administrative access to VMs.
Flexible and efficient renting of computer hardware.
Portability, interoperability with legacy applications.
Characteristics of SaaS
SaaS makes the software available over the Internet.
The software applications are maintained by the vendor.
The license to the software may be subscription based or usage based. And it is billed on
recurring basis.
SaaS applications are cost-effective since they do not require any maintenance at end user
side.
They are available on demand.
They can be scaled up or down on demand.
They are automatically upgraded and updated.
SaaS offers shared data model. Therefore, multiple users can share single instance of
infrastructure. It is not required to hard code the functionality for individual users.
Advantages
Modest software tools
Efficient use of software licenses
Centralized management and data
Platform responsibilities managed by provider
Multitenant solutions
3. a. eCab is an online Cab booking application that helps its users to book cab across
Karnataka. This application allows users to log in for eCab Application. Users can find the
cab in a specific locality. Once found, user can check the availability of a cab for specific
dates and time. Users can book a cab for required duration. Once booked, user can get the
booking details. Identify and write the user stories for this application.
User story
Description:
As a customer
“scope”
Customer validation
Pre condition:
Acceptance criteria:
Description:
As a customer
“scope”
Customer should able to get confirmation of the driver and its details on our mobile
Pre condition:
I need to selecting a cab ,there will be two options to choose from ride later and ride now option
Description:
As a customer
“scope”
And I receive the cancellation message like “your booking with “xxxx” has been cancelled
successfully
Test
Test Case Actual Pass/
Case Test Steps Test Data Expected Results
Description Results Fail
ID
TU01 Check Customer Go to App Userid = guru99 User should Login As Expected
Login with valid Enter UserId Password = into an application
Data Enter Password pass99 Pass
Click Submit
TU02 Check Customer Go to App Userid = guru99 User should not As Expected
Login with invalid Enter UserId Password = Login into an
Data Enter Password glass99 application Pass
Click Submit
TU03 Check Cab Select Specific Location: Select User can get As Expected
Availability for Location current location Facility
Pass
Specific Location within
Karnataka
TU04 Check Cab Select Specific Location: Select User cannot get As Expected
Availability for Location current location Facility
Pass
invalid Location outside
Karnataka
TU05 Check a Cab for Enter Specific Location: Select User can book cab As Expected
desired location & Location destination Successfully
Date Select Specific Date location within Pass
& Time Karnataka
Mention Date
TU06 Check a Cab for Enter Specific Location: Select User cannot book As Expected
desired location & Location destination cab Successfully
required Date Enter Specific Date
location outside Pass
& Time Karnataka
Mention Date
4.a. Myntra is an online shopping application that helps its users to buy variety of
products. This application allows users to log in for buying product. Users can search for a
product, sort the product list based on rating or price. Users can select the items and add
them to the cart. Once the selection is done, users can go to the cart page for payment.
Identify and write the user stories for this application.
Note: Students can assume and write the user stories for above application
4. b. Write test plan and test cases for the above application.
1. Analyze the product:
2. Design the Test Strategy
3. Define the Test Objectives
4. Define Test Criteria
5. Resource Planning
6. Plan Test Environment
7. Schedule & Estimation
8. Determine Test Deliverables
ID
TU01 Check Customer Go to App Userid = guru99 User should Login As Expected Pass
Login with valid Enter UserId Password = into an application
Data Enter Password pass99
Click Submit
TU02 Check Customer Go to App Userid = guru99 User should not As Expected Pass
Login with invalid Password = Login into an
Enter UserId
Data glass99 application
Enter Password
Click Submit
TU03 Check for product Enter product name Product name User can view As Expected Pass
Availability Sort based on price =XYZ products
&ratings based on price
Click Submit and rating
TU04 Check for Un Enter product name Product name Products not found As Expected Pass
Available product Click Submit =XYZ
5 a. Create a Spring Boot application to maintain Patient details such as Pid, Patient name,
Address and perform the following database operations.
Patient.java
//import required packages and dependencies
@Entity
@Table(name="patient")
public class Patient
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long pid;
private String pname;
private String paddress;
public Patient() {
}
// Call Getter & Setter
// Call Constructor
}
PatientRepository.java
//import required packages and dependencies
@Repository
public interface PatientRepository extends JpaRepository<Patient,Long>
{
}
PatientController.java
//import required packages and dependencies
@RestController
@RequestMapping("/patient")
public class PatientController
{
@Autowired
@GetMapping
public List<Patient> getAllPatient()
{
return this.patientRepo.findAll();
}
@GetMapping("/{id}")
public User getPatientById(@PathVariable(value="id") long pId) {
return this.patientrRepo.findById(pId).orElseThrow();
}
@PostMapping
public Patient createPatient(@RequestBody Patient patient)
{
return this. patientRepo.save(user);
}
@PutMapping("/{id}")
public Patient updatePatient(@RequestBody Patient patient,@PathVariable("id") long
pId)
{
Patient p=this. patientRepo.findById(pId).orElseThrow();
p.setPname(patient.getPname());
p.setPaddress(patient.getPaddress());
return this. patientRepo.save(p);
}
@DeleteMapping("/{id}")
public ResponseEntity<Patient> deletePatient(@PathVariable("id") long pId)
{
Patient p=this. patientRepo.findById(pId).orElseThrow();
this. patientRepo.delete(ex);
return ResponseEntity.ok().build();
}
}
@RestController
public class SecurityController
{
@GetMapping("/")
public String welcome() {
return ("<h1>Hello Everyone, Welcome to SpringBoot Security</h1>");
}
@GetMapping("/user")
public String welcomeUser() {
return ("<h1>Hello User, Welcome to SpringBoot Security</h1>");
}
@GetMapping("/admin")
public String welcomeAdmin() {
return ("<h1>Hello Admin, Welcome to SpringBoot Security</h1>");
}
}
SecurityConfiguration.java
//import required packages and dependencies
@SuppressWarnings("deprecation")
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("Gagan").password("ABC").roles("USER")
.and().withUser("Deep").password("XYZ").roles("ADMIN");
}
@Bean
public PasswordEncoder getPasswordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin").hasRole("ADMIN")
.antMatchers("/user").hasAnyRole("USER","ADMIN")
.antMatchers("/").permitAll()
.and().formLogin();
}
}
6 a. Create a Feedback form using React Js
Home.js
import { useState } from 'react';
import './App.css';
export default function Form()
{
const [name, setName] = useState('');
const [regno, setRegno] = useState('');
};
return (
<div className="form">
<div>
<h1>Student Feedback Form</h1>
</div>
{/* Calling to the methods */}
<div className="messages">
{successMessage()}
</div>
<form>
<label className="label">Name</label>
<input className="input" value={name} type="text"
/><br></br>
<label className="label">Regno</label>
<input className="input" value={regno} type="text"
/><br></br>
<label className="label">Feedback</label>
<input className="input" value={feedback} type="text"
/><br></br>
<button className="btn" type="submit">
Submit
</button>
</form>
</div>
);}
b. Compare the database communication through JDBC and ORM.
7.a. Illustrate the use of different annotation used in spring boot application.
Annotations
Annotations are used to provide supplemental information about a program.
Annotations start with ‘@’.
Annotations help to associate metadata (information) to the program elements i.e. instance
variables, constructors, methods, classes, etc.
Annotations basically are used to provide additional information, so could be an alternative
to XML and Java marker interfaces.
Spring Annotations List
@Service: Annotate all your service classes with @Service. All your business logic should
be in Service classes.
@Service
public class CompanyServiceImpl implements CompanyService {
...
}
@Repository: Annotate all your DAO classes with @Repository. All your database access
logic should be in DAO classes.
@Repository
public class CompanyDAOImpl implements CompanyDAO {
...
}
@Component: Annotate your other components (for example REST resource classes) with
@Component
@Component
public class ContactResource {
...
}
@Autowired: Let Spring auto-wire other beans into your classes using @Autowired
annotation.
@Service
public class CompanyServiceImpl implements CompanyService {
@Autowired
private CompanyDAO companyDAO;
}
@Transactional: Configure your transactions with @Transactional spring annotation.
@Service
public class CompanyServiceImpl implements CompanyService {
@Autowired
private CompanyDAO companyDAO;
@Transactional
public Company findByName(String name) {
Company company = companyDAO.findByName(name);
return company;
}
}
@Scope: To change default behavior, use @Scope spring annotation.
@Component
@Scope("request")
public class ContactResource {
}
The first step is to split the code and convert delivery management into a separate, loosely
coupled module within the monolith.
The second step is split the database and define a separate database schema for the ftgo-
delivery-service module.
The third step of the refactoring process is to define a standalone Delivery Service and deploy
it. The service does not, however, handle production traffic. Instead, it can, for example, be
tested in production.
The fourth step of the refactoring process is to use the standalone Delivery Service.
Step 5: Remove the delivery management functionality from the FTGO monolith
The fifth step of the refactoring process is to remove the now obsolete delivery management
logic from the monolith.
}
}
Docker container
Docker containers are the live, running instances of Docker images. While Docker images are
read-only files, containers are life, ephemeral, executable content. Users can interact with them,
and administrators can adjust their settings and conditions using Docker commands.
Docker client
Docker client is an application for Mac or Windows that includes Docker Engine, Docker CLI
client, Docker Compose, Kubernetes, and others. It also includes access to Docker Hub.
Docker daemon
Docker daemon is a service that creates and manages Docker images, using the commands from
the client. Essentially Docker daemon serves as the control center of your Docker
implementation. The server on which Docker daemon runs is called the Docker host.
Docker image
Docker images contain executable application source code as well as all the tools, libraries, and
dependencies that the application code needs to run as a container. When you run the Docker
image, it becomes one instance (or multiple instances) of the container.
Docker registry
A Docker registry is a scalable open-source storage and distribution system for Docker images.
The registry enables you to track image versions in repositories, using tagging for identification.
This is accomplished using git, a version control tool.
9. b. Draw the CI/CD build process flow diagram for an online footwear store
application and explain each component
Components
10 a).Create a form to add a new product detail to the product catalogue using React.
);
}
export default App;
b) CRUD Operations on document using MangoDB
Creating a Table.
To create collections/tables, createCollection(name, options) method is used.
Syntax: db.createCollection(name, options)
Example: db.createCollection("student")
{ ok: 1 }
show tables
student
insert() Method
To insert data into MongoDB collection, insert() or save() method is used.
Syntax: db.collectonName.insert(document)
Example: db.student.insert({"id":1,"name":"chandru","mark":300})
db.student.insertMany([{"id":1,"name":"chandru","mark":300},
{"id":2,"name":"suman","mark":290}])
Update.
To Update documents, update() method is used
Syntax: db. collectonName.update({})
Example: db.student.update({"name":"chandru"},{$set:{"name":"sekar",id:5}})
1. Determining Activities
The first step in organizing is to identify and enumerate (to specify one after another) the
The activities will depend upon the nature and size of the enterprise.
For instance, a manufacturing concern will have production, marketing and other.
2. Grouping of Activities
The various activities are then classified into appropriate departments and divisions on
Similar and related activities may be grouped together under one department or division.
Grouping of activities helps to secure specialization. Each department may be further sub
3. Assigning Duties
The individual groups of activities are then allotted to different individuals on the basis of
Each person is given a specific job best suited to him and he is made responsible for its
execution.
4. Delegating Authority:
Every individual is given the authority necessary to perform the assigned task effectively.
An individual cannot perform his job without the necessary authority or power.
5. Coordinating Activities:
The activities and efforts of different individuals are then synchronized. Such co-
The software plan prevents hurdles that tend to crop up during the project’s
execution. It also ensures optimal utilization of every allotted resource and time.
7. Create a team:
Project management requires one or several teams of professionals with the
right experience and skills.
If your company lacks these individuals, you may hire from outside or outsource
the recruitment process to a company that will put together the teams for you.
Your planning is not yet over until you include the progress checks and quality
testing.
Testing your stages ensures you’re meeting your milestone goals.
List: The list is used to display data in an ordered format and is traversed using the map()
function.
</div>
);}
const numbers = ['Indore', 'Mumbai', 'Pune', 'Hyderabad', 'Banglore'];
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App numbers={numbers} />);
export default App;
4. About type script with example
TypeScript If Statement:
If statement is used to execute a block of statements if specified condition is true.
if(condition){
….
}
if(condition1){
...
}else if(condition2){
...
}else{
...
}
Example
var num:number = 2;
if(num==1){
console.log("TypeScript Statement 1");
}
else if(num==2){
console.log("TypeScript Statement 2");
}
else{
console.log("TypeScript Statement n");
}
TypeScript - for Loops
1. for loop
2. for..of loop
3. for..in loop
for Loop
The for loop is used to execute a block of code a given number of times, which is specified by
a condition.
for (first expression; second expression; third expression ) {
// statements to be executed repeatedly
}
Example:
for (let i = 0; i < 3; i++) {
for...of Loop
TypeScript includes the for...of loop to iterate and access elements of an array, list, or tuple
collection.
let arr = [10, 20, 30, 40];
for (var val of arr) {
console.log(val);
}
for...in Loop
Another form of the for loop is for...in. This can be used with an array, list, or tuple.
let arr = [10, 20, 30, 40];
for (var index in arr) {
console.log(index);
console.log(arr[index]);
}
do..while loop
The do..while loop is similar to the while loop, except that the condition is given at the end of
the loop. The do..while loop runs the block of code at least once before checking for the
specified condition.
do {
// code block to be executed
}
while (condition expression);
Example:
let i: number = 2;
do {
console.log("Block statement execution no." + i )
i++;
} while ( i < 4)
5. Authentication service
SecurityController.java
SecurityConfiguration.java
//import required packages and dependencies
@SuppressWarnings("deprecation")
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("Gagan").password("ABC").roles("USER")
.and().withUser("Deep").password("XYZ").roles("ADMIN");
}
@Bean
public PasswordEncoder getPasswordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin").hasRole("ADMIN")
.antMatchers("/user").hasAnyRole("USER","ADMIN")
.antMatchers("/").permitAll()
.and().formLogin();
}
}
MongoDB
Lombok
DevTools
Step 3: Create 3 packages and create some classes and interfaces inside these packages
entity
repository
controller
Step 4: Inside the entity package create a Book.java file.
//import required packages & Dependencies
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "Book")
public class Book {
@Id
private int id;
private String bookName;
private String authorName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthorName() {
return authorName;
}
public void setAuthorName(String authorName) {
this.authorName = authorName;
}
}
Step 5: Inside the repository package
Create a simple interface and name the interface as BookRepo. This interface is going to
extend the MongoRepository
//import required packages & Dependencies
public interface BookRepo extends MongoRepository<Book, Integer>
{
}
Step 6: Inside the controller package. Inside the package create one class named
as BookController
//import required packages & Dependencies
@RestController
public class BookController {
@Autowired
private BookRepo repo;
@PostMapping("/addBook")
public String saveBook(@RequestBody Book book){
repo.save(book);
return "Added Successfully";
}
@GetMapping("/findAllBooks")
public List<Book> getBooks() {
return repo.findAll();
}
@DeleteMapping("/delete/{id}")
public String deleteBook(@PathVariable int id){
repo.deleteById(id);
return "Deleted Successfully";
}
}
Step 7: Below is the code for the application.properties file
server.port:8989
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=jss
7. About pom.xml
POM stands for Project Object Model. It is fundamental unit of work in Maven. It is an
XML file that resides in the base directory of the project as pom.xml.
The POM contains information about the project, goals, plugins and various
configuration detail used by Maven to build the project(s).
Some of the configuration that can be specified in the POM are following
project dependencies
plugins
goals
build profiles
project version
Before creating a POM, we should first decide the project group (groupId),
its name (artifactId) and its version as these attributes help in uniquely identifying the project in
repository.
POM Example
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.project-group</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
</project>
1 Project root
This is project root tag. You need to specify the basic schema settings such as apache
schema and w3.org specification.
2 Model version
Model version should be 4.0.0.
3 groupId
This is an Id of project's group. This is generally unique amongst an organization or a
project. For example, a banking group com.company.bank has all bank related projects.
4 artifactId
This is an Id of the project. This is generally name of the project. For example,
consumer-banking. Along with the groupId, the artifactId defines the artifact's location
within the repository.
5 version
This is the version of the project. Along with the groupId, It is used within an artifact's
repository to separate versions from each other. For example −
com.company.bank:consumer-banking:1.0
com.company.bank:consumer-banking:1.1.
function Name(props) {
return <h2>My name { props.name }!</h2>;
}
function Display() {
return (
<>
<Name name="Niranjan" />
</>
);
}
What is state?
React has another special built-in object called state, which allows components to create and
manage their own data. So unlike props, components cannot pass data with state, but they can
create and manage it internally.
constructor(props) {
super(props);
this.state = {
id: 1,
name: "test"
};
}
render() {
return (
<div>
<p>{this.state.id}</p>
<p>{this.state.name}</p>
</div>
);
}
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Test />);
9. Create student database with name rollno department percentage in mongoDB and
perform aggregate functions.
db.createCollection("student")
{ ok: 1 }
db.student.insertMany([{"roll no":1,"department":"cs","percentage":25},
{"roll no":2,"department":"mech","percentage":35},
{"roll no":3,"department":"ec","percentage":50}])
Aggregate Function:
NoSQL RDBMS
Non-relational databases, often known as RDBMS, which stands for Relational Database
distributed databases, are another name for Management Systems, is the most common name
NoSQL databases. for SQL databases.
NoSQL databases are horizontally scalable RDBMS databases are vertically scalable
One record stores all the query data. This Relational database models contain data in
simplifies finding matched records, which different tables, because of so many tables, the
speeds up queries. database's query time is slow.
NoSQL Database has no fixed schema. Relational Database has a fixed schema.
NoSQL databases can handle big data or NoSQL databases are used to handle moderate
data in a very high volume . volume of data.
NoSQL database can manage structured, Relational database manages only structured
unstructured and semi-structured data. data.
NoSQL combines multiple database Traditional RDBMS systems use SQL syntax and
technologies.. queries to get insights from data.
Pros (Advantages)
Allows enterprises to test in production with real users and use cases.
Enables comparison of different service versions side by side.
Cheaper than blue-green deployments because it does not require two production environments.
DevOps team can rapidly and safely trigger a rollback to a previous version of an application.
Cons (Disadvantages)
Scripting a canary release can be complex as manual verification or testing can sometimes
become time-consuming.
Monitoring and instrumentation for testing in production may involve exhaustive research and
additional skills & knowledge.
Blue/green deployment
Blue/green deployment is a deployment technique to release new code into the
production environment. Blue/green deployments make use of two identical production
environments. One of these is active and the other environment is set to idle. New updates are
pushed to the active environment where it is monitored for bugs while the idle environment
serves as a backup where traffic can be routed in case an error occurs.
Pros
Simple, fast, easy to understand and implement.
Rollback is straightforward as teams need to simply flip traffic back to the old environment in
case any issue arises.
Blue-green deployments are not as risky and vulnerable to losses as compared to other
deployment strategies.
Cons
Cost is the major drawback to blue-green deployments.
Quality assurance and user acceptance testing may not be enough to identify all of the
regressions.