Software Engineering Technical Assessments

This repository contains the different technical assessments that are used for the BBC Assessment Centre. You will need to choose one of the assessments to undertake in your technical interview.

Each assessment makes up part of a mock elections system which could show results pages similar to how BBC News covers elections.

These pieces of software don't rely on one another or interact in any way.

What to do before your interview

  • Choose ONE assessment you wish to undertake and let your recruitment contact know. Please see guidelines below on choosing one.
  • Familiarise yourself with the codebase of your chosen assessment.
  • If you are not familiar with how elections work in the UK please watch this video.
  • Follow the "setup" steps in the Readme of your chosen assessment and get it running locally.
  • Ensure you are ready to "screenshare" your working environment on Zoom during the interview.
  • Do not complete the assessment before the interview

The applications:

  • election-api-golang A fake election API written with Go

  • election-api-java A fake election API written with Java

  • election-api-javascript A fake election API written with NodeJS

  • election-api-scala A fake election API written with Scala

  • election-api-python A fake elction API written with Python

  • election-ui-javascript A fake elections Web UI written with React and Javascript

  • election-ui-swift A fake elections iOS app written with Swift (with UIKit and SwiftUI variations)

  • election-ui-kotlin A fake elections Android app written with Kotlin (with XML layout and Jetpack Compose variations)

Choosing an assessment

Things to take into account when choosing your assessment:

  • You must choose ONE assessment
  • If you want a web/front end/fullstack role you must choose the election-ui-javascript assessment.
  • If you want a mid- or senior-level mobile development role you must choose the election-ui-swift or election-ui-kotlin assessment. If you'd consider a junior-level mobile development role we're happy to assess your programming skills based on whichever platform you're most comfortable.
  • Otherwise, choose a language you are most comfortable and that gives you the best opportunity to show your ability.
  • More information on each assessment can be found inside the readme of the relevant application.

Once you have decided, please let your recruitment contact know.

What to expect in your interview

In the assessment we will ask you to screenshare your working environment with us as we discuss and work on the following:

  1. How does the software work?
  2. Are there any changes/improvements that you would suggest and/or want to tackle?
  3. Our elections product team have asked for some new features to be added! With the help of a pair, you will be asked to try to implement one or more of these features.

Questions?

If you have any questions about any of this, please contact your recruitment contact, and/or the person who sent you the link to this repository.