If you are on this page it is likely that you are considering a job with BIF Technologies, Corp as a software developer. The interviewing process for BIF involves (1) a meetup to make sure that you are not a bot and can carry on conversation with other humans, (2) a technical interview to see if you are conversant in the technologies that we use at BIF, and (3) a programming ability assessment.

The programming ability assessment is comprised of a few software development challenges. If you have a few years of Java under your belt these will be no problem. If you make it this far we are considering you for the team. When attempting these challenges bear a few things in mind:

1) You can ask for help. If you do not understand the challenge or would like a hint speak up.

2) You can look up things on the internet during your challenge.

3) You have one hour to finish the work.

Relax and try to have fun.

Challenge 1 – Connect to PostgreSQL Database and Retrieve Data

Using only the command line and a text editor (e.g., Notepad or VI) create a Java program that will (1) connect to a PostgreSQL database, (2) retrieve data using SQL, and (3) display the data in the console. Your Java program should be compiled using a command that you will issue at the operating system prompt (e.g., javac). The database table is billing_period and is in the schema timecard. The database URL will be provided when you arrive for the challenge.

Connection Parameter Parameter Value
JDBC Driver org.postgresql.Driver
Database URL
Port 5432
Username postgres


Challenge 2 – Create a Servlet That Returns an HTML-Based Table of Data from PostgreSQL


You may use Eclipse for this challenge. Building on the previous challenge create a simple servlet that returns data from a PostgreSQL database. You will need to (1) download and install Apache Tomcat, (2) create a web application resource (WAR) file for your servlet, (3) install your WAR file in Tomcat, and (4) request your servlet using a browser.