Skip to main content

Interview Task: Java exercise to test basic Java skills

Here is a problem to test following basic Java skills, with increasing difficulty. Depending on what skills are expected from you.

1. OOPS concepts
2. Code Design
3.  Knowledge of Java classes
4. Collections
5. J2EE

Interview Tasks

Task 1
Create an application that maintains information of all students in a class.
The information of each student includes Name, Age and Roll number.

The application should be able to do the following, through a console: (No need for UI)

1. Add a new student information
2. Delete a student information
3. Edit Student information -- Roll number should not be editable
4. List all students in a class

--While evaluating the solution, check what are the Interfaces, abstract classes are created and the reasons to do so. Which collection is used to store the list of students. How do you ensure a student is not added twice.


Task 2

Now functionality that will allow users to be sorted alphabetically by Name.
Also add another functionality that will allow users to be sorted by roll number.


-- Check usage of Comparator , Comparable and methods used to sort the Students.

Task 3 (Checking J2EE knowledge)

Create a web application which will allow the functionalities in task 1 to be done from browser.

-- Which framework is used to do this, and what was the reason to use that.

Task 4 

Create a login page and allow user to be authorized. Only one user needs to be created.

-- Check  how is authentication done, where are the credentials stored ?

Comments

Popular posts from this blog

How to remotly debug java program using Eclipse

Eclipse provides a facility to debug your java programs remotely. To demonstrate how you can remotely debug java programs remotely, I will do the following: Create a .bat file that calls the java program Configure the arguments to the JVM so that the JVM will be capable of being remotely debugged Configure Eclipse to connect to the remote JVM 1. Create a bat file calling the java program I create a java class given below: public class RemoteDebugDemo { public static void main(String[] args) { System.out.println("STEP 1"); System.out.println("STEP 2"); System.out.println("STEP 3"); System.out.println("STEP 4"); System.out.println("STEP 5"); System.out.println("STEP 6"); } } Now I wish to run this program in batch mode.So I write a file called RemoteDebugDemo.bat file with following content. java -jar RemoteDebugDemo.jar I create a jar file named RemoteDebugDe...

How to convert a CSV file to XLSX

I wrote this utility for a friend of mine who wanted to convert large (~50MB) CSV files to XLSX. The CSV files had comma "," as a delimiter. I have used apache poi utility in this program. https://www.apache.org/dyn/closer.lua/poi/release/RELEASE-NOTES.txt This code uses SXSSFWorkbook class. The SXSSFWorkbook class uses "BigGridDemo" strategy, where only portions being processed are kept in memory. There are temporary files created which store the rest of the temporary data. setCompressTempFiles() method allows these temp files to be compressed. The size of these files can get quite large. The data to be converted was UTF-8 encoded data. So, we are using  OutputStreamWriter, where we specify the encoding of the data. If you do not need the encoding, just remove that parameter from the constructor call of OutputStreamWriter. The system where this ran, supported Java 7, so have not used features in java 8, such as try with exceptions. import java.io.*; im...

How to take a full webpage screenshot using AShot library

AShot library Ashot library by yandex.ru is something which I recently found. It can be used for multiple browsers. It is very simple to use. Just add maven dependency in your java code. < dependency > < groupId > ru.yandex.qatools.ashot </ groupId > < artifactId > ashot </ artifactId > < version > 1.5.2 </ version > </ dependency > </ pre > Then call the takeScreenshot() function,as shown below and you have a screenshot file. new AShot () .shootingStrategy( ShootingStrategies . viewportPasting( 100 )) .takeScreenshot(myWebDriver); You could even select specific html elements and take their screenshots. WebElement webElement = webDriver . findElement( By . cssSelector( "#element_to_be _captured" )); new AShot () .takeScreenshot(myWebDriver, webElement); All this can be found at below repository. https://github.com/yandex-qatools/ashot Know of any more libraries ...