Skip to content

We challenge you once a year!

The ti&m Coding Challenge for students was held from March 2024 to July 2024. Every month there was a new exciting task: from a number search to a graph challenge with Dijkstra to a CSS and HTML quest. Follow us on LinkedIn if you want to be informed when the Challenge 2025 goes live.

If you want to test your skills now for fun and find out if you have the right solutions, simply send your answers to marketing@ti8m.ch. We'll get right back to you. And who knows... Maybe there will be a give-away package for you if your answers are really good!

And this is how it worked:

The challenges were published at the beginning of the month and participants had until the end of the month to submit their solutions.

Discover the task

Release you skills

Submit you solution

Win great prizes

#1 Challenge: Number search

#1 Challenge: Number search

Time required: Approx. 20-30 minutes

We start our series of challenges with three puzzles to test your problem-solving skills. Each one is a little more difficult than the last. Anyone who works with software should be able to write a script that solves different problems, starting from a small task. Mathematical tasks and sequences are very well-suited for this purpose, since we have to solve similar tasks when we write “business logic” and we have to think about how to deal with the large amounts of data that can accumulate when a program is running.

Ask yourself the question: do you always have to program everything yourself or has someone already done some of the work for you? Ask yourself the right questions before you tackle your first programming task.

Tip: “hack an app” is the way ti&m supports young talent. We organize IT project weeks for children between the ages of 11 and 14, where they immerse themselves in the world of IT and learn how to develop their own app in just four short days.

ti&m Coding Challenge 2024 März

Here are your tasks!

01

Question 1

Name the first digit in PI where the founding year of “hack an app” is included in full. Enter only the first digit as the solution, counting from the first digit after the decimal point.

02

Question 2

Name the first digit in a Fibonacci sequence (start at 0, 1, ...) where the founding year of “hack an app” is included in full. Count all digits up to the founding year. Only give the position of the first digit as the solution, do not count any spaces or commas between the numbers in the sequence.

03

Question 3

How many eight-digit prime numbers are there that contain the founding year of “hack an app” in full? (e.g. ‘99201251’).

#2 Challenge: JavaScript quiz

#2 Challenge: JavaScript quiz

Time required: Approx. 10-20 minutes

Our second challenge is now online. JavaScript is one of the World Wide Web’s key technologies. More than 97% of all websites use it. So it would be fair to say that it’s pretty important. We’ve had fun finding three interesting or tricky functions for you to decipher. And again, each one is a little more difficult than the last. To make it that bit more difficult, you not only have to calculate the answer, but also justify it. Choose the correct answer from our selection list and explain why this function provides exactly this answer.

Coding Challenge 2 April JavaScript Quiz

Question 1: Confusing arrays

Let’s start with quite an easy one. This is a basic function of JavaScript – why does the console give this answer?

A) The function specifies that all numbers that can be divided by 3 are filtered out, then the remaining numbers are multiplied by 2 and then added together. (1*2 + 2*2 + 4*2 + 5*2 = 24)

B) The function never reassigns the input after the “for each”, which means that we simply add up all the numbers at the end.

C) The filter changes the array directly, but “for each” only returns a changed array and does not change the values of the original array. At the end, only the filter part is applied to the array, which then adds 1+2+4+5 = 12.

Question 2: Destructuring objects

Okay, now let’s make it a little more difficult and see if you can decipher the structure of this function. We have three objects (in this case, employees), all of which are a certain age. Perform the function and choose the correct explanation for your answer.

A) The ages of Tobias, Timon and Tom are simply added together.

B) A set does not allow duplicates, i.e. Tobias and Timon are only counted once.

C) Since we are using a set, all duplicates are removed. As we are using objects, only the entries that have exactly the same references are removed. This means that Timon can be inserted into the array twice, as there are two different references.

Question 3: Fun with dates

Okay, now it’s getting more difficult. Here we have a function that looks quite simple at first glance, right? Simply enter the day, month and year. But the answer is somewhat different. Why is that?

A) This is a relative function. We are in the year 2024, 19 years after ti&m was founded. The function therefore divides the founding date by the number of years the company has been in business, thus indicating the founding date relative to the number of financial years.

B) getYear is an obsolete function that only returns the difference between the year 1900 and the date. getMonth returns the index of the month, but starts with 0. getDay returns the day of the week.

C) We create the date object incorrectly, which leads to an incorrect date output at the end. The correct way to create a date is: new Date(February 1, 2005 00:00:00')

#3 Challenge: Shortest path with Dijkstra

#3 Challenge: Now it's getting trickier!
Shortest path with Dijkstra

Time required: Approx. 40-60 minutes

We're sure you have successfully tackeled challenges 1 and 2! Now it's getting a bit trickier! Are you up for the challenge? 

Sometimes we have to find the quickest way through a labyrinth of possibilities. Certain algorithms can model this, for example when modeling a traffic network or various Internet protocols. We have a few exercises for you to test your problem-solving skills. Can you find the shortest route?

ti&m Coding Challenge 2024 Mai

Question 1

Sarah from our Zurich office has a full day today. First, she has a personal meeting with her colleagues for an innovation project in Zurich. Then, she has a client meeting in Basel and takes the opportunity to drop by the Basel office and say hello to the Basel team. Finally, she heads to the IoT Hack Night at the Bern office to round off the evening with an IoT challenge over pizza and a few beers.

What’s the quickest way for Sarah to get from the ti&m office in Zurich to the ti&m office in Bern, if she stops by and says hello to her colleagues at the ti&m office in Basel first?

Dijkstra Challenge 1 Update

Question 2

A new employee of a client company has opened an unsafe email and now the entire system is infected with a worm. The ti&m security team must gain access to all computers and clean them individually. The time costs for taking over control are indicated by the arc
 
ti&m relies on you to take back the control of all the devices, but don’t be afraid, you are not alone! You can at any time ask one or more ti&m colleagues to help you with the other nodes while you are working on your node – what is important to the client is that it must be done in the fastest way possible. 

Question: What is the minimum time to take back the control of all devices? This should correspond to the time of the longest path (as in that time your colleagues have already cleared all the other devices)

Dijkstra Challenge 2 Update

Bonus hint for question 2

Need a hint?: In the example you can see the tricky part. There are two ways to get from S to B. The time to arrive to B on the example 1 on the left (7) is shorter than on the example 2 on the right (9). That is the shortest path. However, the total cost (the sum of all the archs used to reach all nodes) will be higher on the example 1 on the left (10) as on the example 2 on the right (9).  

Dijkstra Challenge 3

#4 Challenge: Security Challenge

#4 Challenge: Security Challenge

Time required: Approx. 15-25 minutes

This month, it’s all about security. And we have a special secure code review challenge for you. Being able to read the source code and improve the security of an application is crucial. Are there logic errors, security gaps or vulnerabilities? Let’s see if you can find out where the weak points are and how you would fix them.

Your questions:

1) Which line would stand out in a code review (a common vulnerability in database access)? 

2) What would a hacker enter to enable them to read all the user names from the database? 

1. True’ or ‘1=1
2. ‘True’ or ‘1=1
3. True’ and ‘1=1

3) What is fundamentally wrong with the implementation? 

1. The prepared statement is incorrectly used. 
2. A different java.util.Scanner method needs to be used. 
3. executeQuery requires one or more parameters.

code-challenge4.

#5 Challenge: CSS & HTML

#5 Challenge: CSS & HTML (Last Challenge)

Time required: approx. 10-20 minutes

In the field of software development, it is important to be able to develop and understand all parts of an application - be it the backend, the frontend or the infrastructure. The frontend plays a crucial role in the user experience as it is the first impression users get of a website. We've created a little quest to guide you through different areas of our website. Download the file, follow the clues, answer all the questions.

This is how you submit your answers.

Want to know if you've done it right? Then simply send the answers to marketing@ti8m.ch and we'll get back to you. 

If you've worked really hard, there might be a great giveaway package waiting for you!

Employer Branding

Jennifer Harstad

Contact us directly if you have any questions.