Download RECRUITMENT TEST (SENIOR JAVA DEVELOPER) - X

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
RECRUITMENT TEST (SENIOR JAVA DEVELOPER)
Instruction: Please answer the following questions to the best of your ability and return your
solutions to X-Formation for review.
Note the following considerations before you start taking the test:


The usage of Maven in Java projects would be considered a plus.
Hosting your project in a public repository (e.g. GitHub) would be an advantage.
TASK DESCRIPTIONS
1. MineSweeper
Please provide the implementation of the following interface :
public interface MineSweeper {
/**
* Initialises the field
*
* A mine-field of N x M squares is represented by N lines of exactly M characters each.
* The character '*' represents a mine * and the character '.' represents no-mine.
* Lines are separated by '\n'
* <p/>
* * Example mine-field string (as input to setMineField()): "*...\n..*.\n...."
* (a 3 x 4 mine-field of 12 squares, 2 of which are mines)
*
* @param mineField string containing the mines
* @throws IllegalArgumentException if mineField is not properly formatted
*/
void setMineField(String mineField) throws IllegalArgumentException;
/**
* Produces a hint-field of identical dimensions as the mineFiled() where each
* square is a * for a mine or the number of adjacent mine-squares if the square does not
contain a mine.
* <p/>
* Example hint-field (for the above input): "*211\n12*1\n0111"
*
* @return a string representation of the hint-field
* @throws IllegalStateException if the mine-field has not been initialised (i.e.
setMineField() has not been called)
*/
String getHintField() throws IllegalStateException;
}
2. SQL
Consider the following physical data model:
Write two SQL queries that:
1. Select countries where a total number of inhabitants (population) in all cities is greater
than 400.
2. Select names of the countries that have no buildings at all.
Please use the schema named “XF” & same table+fields naming as shown in the diagram.
3. File merging
Imagine you have two big (much bigger than system memory size) CSV files with product &
price data. Both files are unsorted (product_id column is in a random order).
products.csv
"PRODUCT_ID", "PRODUCT_DESCRIPTION"
“24”,”Jigsaw”
“187”,”Baby toy”
“11”,”Coca-cola”
prices_by_date.csv
"PRODUCT_ID", "DATE", "PRICE"
“24”, “2014-10-23”,“12.78”
“187”, “2014-10-22”,“132.78”
“24”, “2014-10-25”,“11.78”
You need to generate a new CSV file with all prices for each product, for example:
all_prices.csv
"PRODUCT_ID", "PRODUCT_DESCRIPTION", "PRICE"
“11”, “Coca-cola”, “2.13”, “1.89”
“24”, “Jigsaw”, “12.78”, “11.78”, “13.01”
Write a set of classes which will generate the result price file from two input files. Note the
following:


No UI is required, but only runnable code that does the merge.
Remember that you can’t read all files into memory. Imagine that they are really huge.
www.x-formation.com
Recruitment Test Senior Java Developer