Dropbox'dan offer oldim 🎉

26.09.2024

cover

Logo

O'tgan maqolada IBM kompaniyasidagi intervyular haqida yozgandim. Intervyu topshirish jarayonimda Dropbox'dan rekruter aloqaga chiqib ulardagi ajoyib imkoniyatga qiziqishim haqida so'rashdi. IBM bilan yaxshi savdo qilaman, rad javobi olsam "sen bo'lmasang boshqasi" deyishim uchun ham rozi bo'ldim.

Interviews

1-intervyu

Dropbox’da FAANG intervyularidagi muhitni his qildim. Ammo intervyularni biroz bemalolroq rejalashtirsangiz bo‘lishi boshqalardan ajratib turar ekan. Texnik intervyularni 1-kunga, faqat System Design interviyu sini alohida boshqa kunga (4 kun muhlat oldim yaxshiroq tayyorlanish uchun) belgiladim. Oxirgi intervyu esa doimgidek Hiring Manager bilan bo‘ladi va u interviyudan keyin bo‘ladi.

Texnik intervyu boshlandi, biroz hayajon bosdi. Birinchi intervyudayoq menga intervyuda masala ishlamasligimni aytganidan keyin "Dropbox tugadiyov" deb o‘yladim. Chunki intervyuda sizni real loyihaga tashlab u yerda Data Structure and Algorithm bilimlaringizni sinashar ekan. Bunaqasini hech qayerda ko‘rmaganman, biroz qo‘rqinchli bo‘ldi.

Birinchi intervyuda asosan File Search haqida bo‘ladi. Ya’ni bizda katta hajmdagi folder (папка)lar bor, ularni ichida esa millionlab fayllar. Berilgan faylni topish uchun dasturni Pythonda yozib berishimni so‘rashdi (chunki ko‘p ishlatishar ekanda). Va borgan sari sizni chuqurroq bilimlaringizni tekshirish uchun bitta muammoni bir-necha task’larga bo‘lishar ekan.

Task1’da ’os.walk()’ ni tavsiya qildim, unga yoqdi va yozib berdim. Task2'da esa ’os.walk()’siz yozib ber dedi. Biroz fikrlab, Trie orqali yechimni ifodalab berdim, juda yoqdi yozib berdim. Oxirida parallel scanning qo'shishni so‘radi, FAANG‘da sizdan hech kim concurrency, parallelism yoki asynchronous mavzularini so‘ramasa ham Dropbox so‘raydi, tayyor turing. Bu bo‘yicha ham yechim berdim, ammo kod yozmasimizdan vaqt tugadi, biroz gaplashdik va xayrlashdik.

Qolgan intervyular

2-intervyu asosan Availability calculator yasash bilan o‘tdi. Bu mavzu bo‘yicha ham izlanish qilganligim foyda berdi, orada boshqa tanishlarimdan ham biroz maslahatlar so‘ragandim. System Design intervyu biroz oddiyroq bo‘ldi kutganimdan ko‘ra. Mendan Web crawler dizayn qilib berishimni so‘rashdi. Bular bo‘yicha kitoblar, blog postlar va turli xil resurslar o‘qiganligim tufayli unchalik qiyin bo‘lmadi. Ko‘proq savol so‘rab aniq bir qismiga to‘xtalib uni birgalikda dizayn qildik.

So‘nggi intervyu esa Menejer bilan bo‘ldi va u turli xil Behavioural savollar, eski ishlagan joylarim, nega ketganim va qiziq loyihalarim haqida so‘rashdi. Ular haqida gaplashib ancha ko‘p narsani muhokama qildik. Intervyu shu tariqa tugadi va u menga qarab see you around dedi. Bu narsa menga qandaydir umid berdi. Men ham ko‘rishguncha deya xayrlashdik.

Maslahat

Turli xil kompaniyalar, intervyu davomida sizni bir vaqtda juda ko'plab qirralaringizni tekshirishadi. Hech qachon oldingizga limit qo'ymang. Concurrency ham, Algoritmlar ham va boshqa ishlarni ham o'rganing, qiziquvchan bo'ling.

Imkoningiz bo'lsa System Design bilimlaringizni amaliyot bilan o'rganing. 1 millionta foydalanuvchi topish shart emas, test qilish o'zi ham yaxshi tajriba beradi. Baxonada test qilishni o'rganib olasiz. Kitoblar o'qing, amaliyot qiling, matematika o'rganing. Foydali ishni o'rganishni zarari yo'q.

Natija

Final Decision

Shunday qilib IBM'dan keyin Dropbox'dan ham taklif oldim. Menejerim menga "sen Dropbox'dagi birinchi o'zbek dasturchi bo'lding" deb aytdi, buni yaxshilab tekshirish kerak baribir. Keyingi sonda sizga qanday qilib Meta'dan offer olganim haqida aytib beraman.