Five programming problems every Software Engineer should be able to solve in less than 1 hour
June 2, 2015 § Leave a comment
(The following problems are ridiculously simple, but you’d be surprise to discover how many people struggle with them. To the point of not getting anything done at all. Seriously.)
Write three functions that compute the sum of the numbers in a given list using a for-loop, a while-loop, and recursion.
Write a function that combines two lists by alternatingly taking elements. For example: given the two lists [a, b, c] and [1, 2, 3], the function should return [a, 1, b, 2, c, 3].
Write a function that computes the list of the first 100 Fibonacci numbers. By definition, the first two numbers in the Fibonacci sequence are 0 and 1, and each subsequent number is the sum of the previous two. As an example, here are the first 10 Fibonnaci numbers: 0, 1, 1, 2, 3, 5, 8, 13, 21, and 34.
Write a function that given a list of non negative integers, arranges them such that they form the largest possible number. For example, given [50, 2, 1, 9], the largest formed number is 95021.
Update: Apparently this problem got a lot of people talking (although not as much as Problem 5 below.) You can click here to read my solution.
Write a program that outputs all possibilities to put
- or nothing between the numbers 1, 2, …, 9 (in this order) such that the result is always 100. For example: 1 + 2 + 34 – 5 + 67 – 8 + 9 = 100.
Update: (Here is one solution to this problem in case you are curious.)
Unfortunately, you aren’t the one that needs this
If you bother to read this blog at all (or any other blog about software development), you are probably good enough to solve these and 5 more problems within the hour. The people that think are above all these “nonsense” are usually the ones that can’t code crap.
(And I’m sorry for the rant.)
If you know one of these characters, share this post with them. Challenge them to solve the problems. Help them if you care. Who knows, maybe they learn something from this.
Update: Posted answers for problems 4 and 5
Update: More programming challenges
I love these type of programming problems. I’m going to try to publish one problem every weekend, hoping I’ll have the time to find a good one and solve it myself. Here is the first one to celebrate Mother’s Day: Programming challenge: rotating a matrix 90 degrees in place.