I think a spiritually similar assignment would be: implement multiplayer Google Docs using a CRDT, server, and clients, supporting a certain class of documents that are shown to you during the interview.
And imagine that the CRDTs are not directly explained in the problem statement, but some supporting data structure of CRDTs is referenced, and like clearly there is some way to make all the pieces referenced work together to create a working system, but it's never made explicit.
And imagine that you need to actually implement CRDTs from scratch in the interview, but also integrate them into this client-server document-editing app, which you also need to code from scratch. All in an hour.
This is why I say the interview felt kind of insane to me. But plausibly if I'd previously studied that problem, so that the implementation details were all clear to me from the start, and if I had used the company's coding assistant to the extent allowed, and if I had been in much better coding-things-from-scratch form, I could have done OK. I don't know. It's fine. They were probably looking for a type of engineer that I'm not. :')
Nope, it was a live coding interview, less than an hour. I personally did a double-take at the beginning of the interview. However, the long tail of people who can code up algorithms and apps quickly is very long indeed. There are certainly people I've worked with who are just multiples faster than me in this kind of situation, and I could imagine them passing the interview.
I think a spiritually similar assignment would be: implement multiplayer Google Docs using a CRDT, server, and clients, supporting a certain class of documents that are shown to you during the interview.
And imagine that the CRDTs are not directly explained in the problem statement, but some supporting data structure of CRDTs is referenced, and like clearly there is some way to make all the pieces referenced work together to create a working system, but it's never made explicit.
And imagine that you need to actually implement CRDTs from scratch in the interview, but also integrate them into this client-server document-editing app, which you also need to code from scratch. All in an hour.
This is why I say the interview felt kind of insane to me. But plausibly if I'd previously studied that problem, so that the implementation details were all clear to me from the start, and if I had used the company's coding assistant to the extent allowed, and if I had been in much better coding-things-from-scratch form, I could have done OK. I don't know. It's fine. They were probably looking for a type of engineer that I'm not. :')
This sounds like a take home assignment. Are these type of questions standard interview question today?
Nope, it was a live coding interview, less than an hour. I personally did a double-take at the beginning of the interview. However, the long tail of people who can code up algorithms and apps quickly is very long indeed. There are certainly people I've worked with who are just multiples faster than me in this kind of situation, and I could imagine them passing the interview.