4 ms·
I did recruiting for Full Stack developers for a number of years. I only gave two programming problems, one to be completed before an initial phone screen and
by hahamrfunnyguy 3y ago
I did recruiting for Full Stack developers for a number of years. I only gave two programming problems, one to be completed before an initial phone screen and one to be completed in the first part of the interview.
Myself and another team member worked on the questions, and we gave them to the team. Everyone was able to complete the exercises in a reasonable period of time, so we knew they weren't going to be too challenging.
Pre-screen question: For the numbers 1 to 99, print the number if its digits do not add up to ten. Otherwise, print the number and its digits 91 (9,1) if it adds up to ten. Download the file quiz.txt and use it a starting point for your program, keep it simple and make sure your output matches sampleoutput.txt exactly. When you've completed it, rename it to yourname.txt and email it to quiz@company.com with the subject of "Your Name: Completed Exercise".
A lot of people would just use convert the strings to numbers and then do the test to see if it adds up to ten, in this case I would kick it back to them and ask it to be solved mathematically. Usually, we'd get a response back right away with the "best" solution. Candidates that completed the exercise correctly and followed the directions got 15 minute phone screen to see if they had the technical background required.
For the in-person (or Zoom) interview question, we had a problem that required modifying HTML, CSS and JavaScript to come up with a solution. We stated this up front, and tell the candidates to use web resources to look up anything they need to. It also requires using modulus which they should already know (or figured out how to use!) in the screener exercise. If someone got stuck on something we felt they probably knew we'd give them some hints and they'd relax a bit. Most people solved it within 5-15 minutes, but there have been people that couldn't do it at all event with lots of hints.
In that case, we'd usually just end the interview and thank the candidate for their time.
From here we'd do some database exercises if their role called for database, and move onto an deeper assessment of technical background. That process worked well, and they're still following it today.
- harshalizee 3y agoLooks like I'd fail your pre-screen test. What's the "mathematical" solution if you're not allowed to convert strings to ints? Ascii math?
- m3047 3y agoNot quite sure, and I'm not quite sure I care either. ;-) However for any multiple of 9, the digits will add up to a multiple of 9. So you're looking for numbers in [ (n+2)*9 + 1 for n in range(9) ]
- monkeyjoe 3y agoI think it just means taking the input as an integer and then separating out the “ones place”and “tens place” using integer division and modulo operator. E.g., ones = number % 10 tens = number // 10 do_print = (ones + tens) == 10
- harshalizee 3y agoThat's what my solution after the parsing would be. OP mentioned reading from a file, which you would only be able to use after string conversion to ints.
- ProZsolt 3y agoMaybe they didin't calculated the digits, like this: if toInt(number) % 10 != 0 print number else print number + "(" + number[0] + "," + number[1] + ")"
- hahamrfunnyguy 3y agoYes. This is the mathematical solution.
- deleted 3y ago[deleted]
- tomjupiter 3y agoI think hahamrfunnyguy must have meant "convert the numbers to strings" - that's the only way I can make sense of it. quiz.txt must contain code, not sample data.
- hahamrfunnyguy 3y ago