|
|
|
|
|
by devmor
485 days ago
|
|
I think those challenges (especially leetcode) are heavily misused. When my team conducts technical interviews, we are asking for a couple simple programming solutions - but we're asking because we want to hear the candidate talk through it and see what their problem solving process is like. If you aren't evaluating based on conditions like those, I don't really see the value of coding questions. |
|
Another interviewer asked a much more interesting question: you are writing an IM client. How do you build the client-server communication?
That was a great conversation I enjoyed on its own without regard for the interview. Asking questions: do we have online/offline status? (yes) What are the target devices? (mobile).
IIRC I said I'd want to optimize for bandwidth and latency. Cellular networks can be spotty at times and stall out in really annoying ways. I'd design the protocol to use an efficient encoding with a pre-shared dictionary (the list of friends doesn't change that much after all and lots of the same words/emoji are used frequently). I also said I'd make a flexible format that would let things like online/offline status or you have a new message from X ride along with an actual message in the current conversation and explore options like QUIC or other UDP-based eventually-consistent options given how a cellular dead band can put you in TCP retransmit jail for minutes at times.
For closure I was offered a position but went to a different company.