Saya juga mengajukan pertanyaan semacam ini, dan saya setuju dengan sebagian besar jawaban lainnya. Mungkin akan membantu orang yang diwawancarai untuk memahami MENGAPA jenis pertanyaan ini penting? Misalkan kita memiliki keputusan bisnis yang penting untuk dibuat, dan untuk melakukannya, kita perlu membangun sistem baru. Jika seseorang berlari menghampiri Anda dan bertanya apa yang diperlukan untuk membangun sistem yang berfungsi X, dapatkah Anda memberi mereka jawaban mendalam yang memprediksi tantangan dan sumber daya utama yang diperlukan?
Seorang programmer junior tidak tahu harus mulai dari mana. Mereka tidak siap untuk mulai berbicara tanpa spesifikasi terperinci. Seorang programmer senior akan langsung melihat bahwa ada banyak sisi dari masalah ini, dan akan berusaha untuk mengasah tantangan. Anda tidak harus merancang setiap aspek, cukup mengidentifikasi tantangan arsitektur dan kemudian mencari tahu bagaimana mengatasinya.
Pertimbangkan masalah Google Documents:
Satu hal yang menarik adalah skala geser permintaan yang akan datang. Anda tidak bisa hanya mendapatkan satu server dan menggunakan kode Anda untuk itu - ini adalah usaha yang lebih besar. Orang yang diwawancarai yang berhasil mungkin membidik tentang hal ini dan akan menggambarkan jenis sumber daya yang akan dibutuhkan, dan beberapa tantangan teknis dalam mengimplementasikan pada skala itu, dengan aplikasi yang tidak hanya memiliki keadaan, ia berbagi keadaan di beberapa pengguna.
Hal lain yang menarik tentang Google Documents adalah banyak orang dapat mengedit secara bersamaan. Orang yang diwawancarai yang berhasil akan dapat membahas mekanisme untuk memastikan dokumen yang dihasilkan bukan sampah, dan kandidat yang benar-benar hebat akan menyadari bahwa berbagai metode sinkronisasi atau penggabungan suntingan akan berdampak besar pada kinerja dan UX. Bahkan mungkin membahas variasi: Editor dokumen bersama untuk menulis kode mungkin harus menggunakan metode penyelesaian konflik yang berbeda dari Google Doc pada umumnya, karena ada konsekuensi yang berbeda terhadap hal-hal yang terjadi dalam urutan berbeda atau memiliki struktur yang sedikit berbeda.
Tidak ada satu pun cara yang tepat untuk membuat aplikasi seperti Google Documents, Anda tidak perlu mengidentifikasi apa yang akan Anda lakukan untuk setiap trade-off, tetapi sangat bagus untuk menemukan area yang memiliki masalah menarik, dan menjelaskan dengan jelas apa yang dilakukan perdagangan tersebut. -off mungkin.
-t.