Code Monkey home page Code Monkey logo

java-technical-test's Introduction

java-technical-test

Java programming questions.

Instructions

  1. Clone this git repository which contains a number of Java source files and open as a project in your editor of choice.
  2. Answer the three questions listed below by providing the missing implementations. Do NOT use 3rd party libraries.
  3. Provide tests in your preferred style to support your solution. You can use common test libraries such as junit and mockito.
  4. Zip up and email the entire source tree to [email protected]

Note: Please do NOT spend more than 2 hours on this test.

In addition to a working solution, we will be looking for:

  • Good coding style
  • Use of comments - especially if you get stuck on a question
  • Understanding of object orientation
  • Understanding of concurrency issues that might arise

Note: Please do not push your test answers back onto Github.

Question 1: Palindrome

Complete the method stub in the Palindrome class.

Question 2: Tree Average Value

Complete the method stub in the TreeAverageValue class.

Question 3: Parallel Multi Search

Review the Search interface. The search method on this interface represents a generic Search.

Example concrete class: GoogleSearch - usage - search google for "London"

Review the MultiSearch class. The aim of this class is to provide multiple searches using the same query over a defined set of searches. The results of all the searches are to be aggregated.

Example concrete class: SerialMultiSearch - usage - search google and yahoo searches for "London", in serial fashion

As a single search call made to a resource might take a considerable amount of time, ParallelMultiSearch will execute all the searches in the MultiSearch in parallel to provide a quicker overall implementation.

Complete the method stub in the ParallelMultiSearch class to provide a fast implementation of the search.

Example usage: - search google and yahoo searches for "London", in parallel fashion

Note: Assume each Search is independent to the others.

Note: The order of the results returned by the MultiSearch is not important.

java-technical-test's People

Contributors

chenery avatar paulchenery avatar

Stargazers

Shubham avatar  avatar Ben Rometsch avatar

Watchers

Ben Rometsch avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.