4 ms·
This is a great topic. I like to split my interview to the following steps: - introduction, small talk about the company or the candidate - level 1 write a
by istvan__ 11y ago
This is a great topic.
I like to split my interview to the following steps:
- introduction, small talk about the company or the candidate
- level 1
write a function that flips a bit that is represented as a single digit integer: (0 -> 1, 1 -> 0)
flip two variables (int) without a third one: (a,b -> b,a)
- level 2
what is the runtime complexity of a nested loop (assuming n == m)
lease write a function that returns the list of numbers (in a string representation) that are permutation of N digits, where digits are 0..9.
(1 -> 0..9, 2 -> 00 01....98 99 etc.)
please explain recursion
- level 3 99% of the candidates do not make it to here
I guess I should just make them flip that binary tree over the phone. :)
This is basics I think, so most of the software engineers should be able to solve these, even with a little hint.
On the top of these artificial tasks I usually ask them what is the biggest system they contributed code to, what was the contribution. What tools are they using. What is the favorite language and why. How do you to performance profiling for your code. What was the last problem that you solved in production, what was the problem and what is the solution.
And few others.
- istvan__ 11y agoSorry for the terrible spelling, I was in a rush.
- siscia 11y agoHow do you flip two variable without a third one ?
- sllabres 11y agosearch XOR (X=X XOR Y; Y=X XOR Y; X=X XOR Y)
- pdiddy 11y agoAnother way is to just use subtraction: x = x + y y = x - y x = x - y I originally learned about this while preparing for some interviews. The funny thing, I find, is that in Python you can simply do this: x, y = 5, 10 x, y = y, x I was asked this question in an interview and I responded that you can do this. His response: "Python is weird."
- deleted 11y ago[deleted]