Articles like this always underestimate how many bullshit artists there are out there. The technical interview is not perfect but it is still far more meritocratic than many fields.
If it sounds crazy, it is because you're not a BS artist yourself, so it is hard to put yourself in that mindset. I have friends who fall into this category, and they would be the first to admit they bullshited their way into FANG
It's a pretty small problem, but it's still one that needs some thought to get. Also doesn't weed out people who don't know technical details of a red-black binary tree (for example) without necessarily getting rid of people who could quickly pick up what a red-black binary tree is.
x, y = y, x
Legit solution (I think): x = x + y
y = x - y
x = x - y
Actually, using bitwise xor would be even easier: x = x ^ y
y = x ^ y
x = x ^ yFor example, in Javascript with:
x = 2
y = 9007199254740991
then: x = x + y // 9007199254740992
y = x - y // 1 (!!!)
x = x - y // 9007199254740991
Or in a somewhat more sane language like C, it'll usually work but may technically invoke undefined behavior: % cat test.c
#include <stdio.h>
int main() {
int x = 2;
int y = 2147483647;
x = x + y;
y = x - y;
x = x - y;
printf( "%d %d\n", x, y );
}
% gcc -fsanitize=undefined -O0 -g -o test test.c && ./test
test.c:5:7: runtime error: signed integer overflow: 2 + 2147483647 cannot be represented in type 'int'
test.c:6:7: runtime error: signed integer overflow: -2147483647 - 2147483647 cannot be represented in type 'int'
test.c:7:7: runtime error: signed integer overflow: -2147483647 - 2 cannot be represented in type 'int'
And even in Python you can end up with it silently turning your ints into longs.