Nima uchun men 8 oy davomida Google-da intervyu olish uchun to'liq kunlik mashg'ulotlarni o'qidim

Dijkstraning qisqa manbali algoritmi bilan bezatilgan mening eski taxtam.

Bu haqiqat. Men Google dasturiy ta'minot muhandisi suhbatiga tayyorgarlik ko'rish uchun minglab soat kitob o'qish, kod yozish va kompyuter fanlari bo'yicha ma'ruzalarni tomosha qildim.

Agar siz Google intervyusiga tayyorgarlik ko'rmoqchi bo'lsangiz, mening o'quv rejam bilan tanishing:

Qanday qilib bu erda oldim

Men o'rta maktabda dasturlashni boshladim, ammo kollej ochish vaqti kelganida, men Iqtisodiyot darajasiga intildim. Mening mantiqim shundan iborat ediki, men bitirgan paytga qadar ish qidiradigan juda ko'p dasturchilar bo'ladi. Bola, men adashgan edim.

Keyinchalik men dasturchi bo'lish uchun Armiya safiga qo'shildim, ammo yollanma meni harbiy razvedka lavozimiga taklif qildi va men keyingi ikki yilni koreys tilini o'rganishga sarfladim. Men Janubiy Koreyada 2 yil xizmat qildim.

Armiya safidan chiqishimdan oldin dasturga qaytishga harakat qildim va qiyinchilikdan hayron bo'ldim. Men BASIC-ni o'rta maktabda o'rganganman va o'rta maktabda dasturlashda davom etganman. Ammo men C ++ bilan dasturiy tadqiqotlarimni qaytadan boshladim va sakrash juda katta edi. Men shunchaki tushuna olmadim.

Ammo men veb-saytlar yaratishni yoqtirardim, lekin men veb-saytlarimni nashr etishda ishlatiladigan Word-ga o'xshash interfeysli dasturlardan foydalanardim. Veb-saytlarni noldan qanday qilishni bilmasdim.

Armiyadan so'ng Koreyada bir yil qolib, ingliz tilidan dars berishga qaror qildim. Men kecha va dam olish kunlari Perl, HTML, CSS (o'sha paytlarda yangi bo'lgan), JavaScript va SQL-dan foydalangan holda veb-dasturlarni o'rganishda edim.

Bir yillik tinimsiz tadqiqdan so'ng, men Sietlga ish joyini topshirdim va shu paytgacha shu erda edim.

WA-ning Bellevue go'zal qismida balkondan ba'zi ishlar qilish.

Men 15 yildan beri veb-ishlab chiquvchiman. Men 3 ta kompaniyani ishga tushirdim, ularning ikkitasi hanuzgacha ishlamoqda va daromad keltirmoqda. Men katta va kichik kompaniyalarda ishladim, startaplarni ishga tushirishda va o'sishiga yordam berdim, jamoalarni yollash va boshqarish. Men mahsulot menejeri, bosh direktor, dizayner va marketolog edim.

Men muvaffaqiyatli martaba qildim va yo'l davomida ko'p narsalarni o'rgandim. Ammo men hali tayyor emasman.

Karyera o'zgarishiga intilish

Men kompyuter fanlari bo'yicha ma'lumot olmagan joyimni eslaysizmi? Bu o'zgarishga olib keldi.

Bir necha yil oldin, men biron bir joyga ishga yollanishim mumkin deb o'ylagan edim. Men o'zimni juda qiziq narsa deb o'yladim: qiyinchiliksiz to'liq veb-ishlab chiqaruvchi. Ammo 2013 yilda ish qidirish jarayonida menda mahorat etishmayotganini angladim. Bo'sh vaqtlarimda startaplarni ishga tushirib, dollarlarni ta'qib qilish uchun ko'p vaqt sarflaganman, shu sababli o'z mahoratimni atrofiya qilib qo'yganman. Men texnologiyani bilmas edim.

Yillar davomida men oldimga yetib borish uchun etarli narsalarni o'rgandim. Menda juda yaxshi mahorat to'plami bor edi, lekin hech narsa bo'yicha mutaxassis emas edim.

Meni xatoga yo'l qo'ymang, men hali ham yollashim mumkin edi, lekin men ishlashni xohlagan texnologiyalar yoki sohalarda emas. Men kabi texnologik stok biroz eskirgan joylarga ishga yollanishim mumkin edi. U erda katta pullar bor, lekin men ajoyib istiqbollarni ko'rmadim.

O'tgan yili martaba yarmarkada sotuvga erishildi. Meni mahalliy venchur kompaniyalarning birida venchur kapital firmalar tomonidan boshqariladigan boshlang'ich laboratoriyalarida ishlash qiziqtirar edi. Ammo, menda kompyuter fanlari darajasi va bu darajaga ega bo'lgan ko'nikma va bilimlarning etishmasligi menda imkoniyat yo'qligini anglatadi.

Men o'sha paytda o'z biznesimda to'la vaqt ishlaganman va hanuzgacha ishlayman.

2016 yil boshida veb-ishlab chiqaruvchidan dasturiy ta'minot muhandisigacha martaba o'zgarishi vaqti keldi deb qaror qildim. Bir necha oy ichida kompyuter fanlari darajasini siqib chiqarish uchun men qattiq va mashq qilishni o'rganishim kerak edi, ammo men bir marta yangi martaba boshlashim mumkin edi.

Siz veb-ishlab chiqish va dasturiy ta'minotni har xil pozitsiyalar sifatida ko'rmasligingiz mumkin. Ikkalasi ham dasturlash va mahorat bilan shug'ullanishni o'z ichiga oladi, ammo dasturiy ta'minot unga ma'lumot tuzilmalari va algoritmlar, kompilyatsiya qilingan tillar, xotirani o'rganish va kodlash va arxitektura qarorlarining ular yashaydigan mashinalarga ta'sirini tushunishga yordam beradi.

Dasturiy ta'minot muhandislik lavozimlariga yollagan yirik kompaniyalar nomzodlardan bu ma'lumotga ega bo'lishlarini kutishadi.

Men Google-da ishlaydigan bir tanish bilan uchrashdim va unga kompaniyadagi tajribasi haqida savol berdim. Men Google qanday ishlashi haqida o'qigan edim va Google bilan juda yaxshi tanish edim.

Boshqa bir aloqa orqali men Google-ning nomzodlarga intervyu berish uchun berilgan eslatmalar nusxasini oldim. Bu mening o'quv rejamning asosi bo'ldi.

Google - bu ishlash uchun juda zo'r joy, lekin men buni bilmasimdan oldin, Google mening maqsadim edi.

Nega Google?

Google yollash uchun juda yuqori to'siqni o'rnatadi. Ular faqat eng yaxshisini yollashni xohlashadi. Agar mening diqqatga sazovor joylarimni yuqori darajaga qo'ysam (Google-da yollanib ishlasam), tanlanmagan bo'lsam-da, boshqa joyda juda yaxshi yollanib yuraman.

Google haqida ko'proq bilganim sayin, u erda ishlashni xohlayman.

Qisqacha aytganda, Google aqlli, ijodiy odamlarni yollaydigan va ularga yaxshi muomala qiladigan kompaniya. Google munosib taqdirlaydi, katta g'oyalarni rag'batlantiradi va xodimlarga foydalanuvchi uchun to'g'ri qarorlarni qabul qilish erkinligini beradi.

Yollash jarayoni aqlli, ishtiyoqli odamlarni jalb qilish uchun sozlanadi. Google yillar davomida yollash va suhbatlar jarayonini yuqori baholadi. Miya tizeriga oid savollar allaqachon o'tib ketgan. Hozirgi paytda nomzodlar kodlash qobiliyatiga, texnik ma'lumotlarga va Googleyness-ga qarab tanlanmoqda. Bu bitta so'z bilan ko'p narsa bor.

2015 yilda yo'l safari paytida Mountain View HQ-ga tashrif buyurdim. Bu urug 'ekkan.

Boshqaruv boshqacha. Menejerlar mikro-boshqaruvni amalga oshirmaydilar. Ular to'g'ri qaror qabul qilish uchun muhandislarga ishonishadi. Ishchilarga ishonish Google-dagi menejerlar rolini ko'pchilik odamlar menejment haqida o'ylashganda tasavvur qilgan narsalardan o'zgartiradi. Bundan tashqari, menejerlar bir tomonlama tartibda ishlay olmaydilar, ishga ololmaydilar yoki targ'ib qila olmaydilar. Ofis siyosati sifatida qabul qilinishi mumkin bo'lgan ko'plab muhim boshqaruv qarorlari ushbu xavfni bartaraf etish uchun qo'mita tomonidan ko'rib chiqiladi.

Google-ning odamlar faoliyati (HR) vaqt o'tishi bilan nima ishlashini bilib oldi va ular ma'lumotlar va xodimlarning fikr-mulohazalarini baholash tizimlarini, yollash jarayoni, lavozimlarni ko'tarish, mukofotlar, imtiyozlar va boshqalarni yaxshilash uchun foydalanadilar. Ish qoidalarini o'qing! Laszlo Bock (SVP, People Operations) haqida ko'proq ma'lumot olish uchun.

Ha, foyda juda ajoyib. Men Kirklenddagi (WA) Google-ning ofisiga tashrif buyurdim va bu mening kutganimdan ham ko'proq edi. Va mening umidlarim allaqachon yuqori edi.

Google Intervyu Universiteti

Menga nima o'qish kerakligi haqida olgan eslatmalarimni eslaysizmi? Mavzular ro'yxati boshqariluvchi bo'lib tuyuldi, garchi men bu ro'yxatda hech narsa bilmasam ham.

Notalardagi mavzularni rejaga aylantirdim va mavzularni YouTube MIT va UC Berkli ma'ruzalarining videolari bilan to'ldirishni boshladim. Bir joyda bog'langan ro'yxatlardagi video, boshqasida navbatlar haqida video. Ro'yxat o'sishni boshladi.

Men Github-dagi hisobim juda bo'sh bo'lganligi sababli ro'yxatni e'lon qildim. Mening biznesim va ishim uchun yozgan barcha kodlar shaxsiy bo'lganligi sababli, Github-dagi hisobim men umuman kod bermaganga o'xshardi. Men portfel tuzishim kerak edi. Men dastlab loyihani "9894" deb nomladim. Google 1998 yil 4 sentyabrda ishga tushdi. Keyinchalik bu nomni "Google Intervyu Universiteti" deb o'zgartirdim.

Vaqt o'tishi bilan men yo'l davomida topib olgan bir nechta ixtiyoriy mavzularni qo'shdim.

Yozgi o'qish ro'yxatim. Bir oz tepadan.

CPU dasturni qanday ishlashini, xotira qanday ishlashini yoki boshqa biron bir narsani bilmasdan ham o'z faoliyatimda shu paytgacha orttirgan narsamdan hayratda qoldim. Muvaffaqiyatga erishish uchun “etarli” narsani bilardim.

Mening kichkina Github loyiham bir nechta yulduzlarni yig'ishni boshladi va men 20 yulduzni nishonlaydigan blog postini nashr etdim.

Bir kuni ertalab uyg'onib, u 120 yulduzga etganini ko'rdim. Kechasi taniqli kimdir bu haqda tvit yozgan va bu Githubning kundalik ommabop hisoboti bilan tugashiga olib kelgan. Men bir necha kun Github-ga qiziqish bilan shug'ullanardim.

Ko'plab mehribon odamlar menga minnatdorchilik va dalda berish uchun murojaat qilishdi. Ma'lum bo'lishicha, nafaqat Google-da ishlashni istagan, balki dastur muhandisi sifatida ishlashni istagan minglab odamlar bor va bu ro'yxat ularga kerak bo'lgan vazifalar ro'yxati edi.

Hozir 21000 dan oshiq yulduz.

Men hali ham bunga ishonolmayman.

Agar men ish topmasam nima bo'ladi?

Bu dunyoning oxiri bo'lmaydi.

Men Google dasturiy ta'minot muhandisi sifatida yollanish uchun o'z vaqtimni va mehnatimni bag'ishladim, ammo muvaffaqiyatsiz bo'lsa ham, men har qanday kompaniyada dastur muhandisi sifatida ishlash uchun zarur bo'lgan ko'nikma va bilimlarga ega bo'laman. .

Qayerda bo'lishimdan qat'i nazar, men kirish darajasidagi dastur muhandisi sifatida ishlayapman. Men 15 yillik dasturiy injiniring tajribasiga qo'shilmayman, chunki menda bu etarli emas. Bu narsa haqida gap ketganda, men yangi CS gradiga tengman.

Ammo menda ham yangi darajadagi ishtiyoq bor. Bu men uchun yangi dunyo. Men endigina boshladim. Men xato qilishdan qo'rqmayman. Bilishimni bilaman. Shuningdek, men qo'ldan kelgan hamma narsani o'rganishni xohlayman va har qanday jamoaga ajoyib qo'shimcha bo'laman.

Men kabi ko'p o'qimang

Ha, men 8 oyni oldim. Ammo men jarayonni qisqartirishi mumkin edi. Katta maqsadga ega har qanday boshlang'ich singari, siz ham xato qilasiz va vaqtni behuda sarf qiladigan ishlarni qilasiz. Orqaga qaytib, boshqacha yo'l tutishni istagan narsalarim ko'p.

Men kerak bo'lmagan mavzularni o'qidim, ba'zilari suhbat uchun ularga kerak deb o'ylagandim, ba'zilari esa ishlay boshlaganimda bilishni xohlaganim uchun. Menga tayinlangan jamoaga og'ir yuk bo'lishni xohlamadim. Men shunchaki haddan tashqari tayyorlanganligim aniq.

Men 3 hafta davomida C ++-da 1000 sahifali kitobni o'qidim. 1000 sahifali qiymatni eslay olmayman, lekin men hozir C ++ haqida yaxshi ma'lumot bilaman. Ma'lum bo'lishicha, men Python-dan intervyu olish uchun C ++ -dan foydalanmayapman. Men C ++, C yoki Java-ga ehtiyoj bor deb taxmin qilgandim, lekin men yanglishgan edim. O'ylash yaxshi emas, taxmin qilmang.

Men kerak bo'lgandan ko'ra ko'proq kitob o'qiyman. Men o'qishim kerak bo'lgan atigi 3-4 ta kitob bor.

Men ko'rib chiqadigan o'nlab algoritmlarning kod katalogi bor, ulardan ko'pini intervyuda kutmagan edim. Buni qilish kerak emas.

Ko'rib chiqish uchun bosib chiqarilgan algoritmlar to'plami.

Men YouTube-dagi ko'p soatlik videolarni ko'rdim, lekin kamroq ko'rishim mumkin va vaqt o'tishi bilan mavzularni tarqatdim.

Men ilgari kitob o'qishni va videolarni ko'rishni to'xtatib, kodlash bilan bog'liq muammolarni tezroq boshlashim kerak edi. Men o'rgangan mavzularimni qo'llash uchun ko'proq vaqt sarflashim mumkin edi.

Oraliq takrorlash yodlashning kalitidir. Biror narsani o'rganganingizdan so'ng uni keyinroq, keyinroq yana ko'rib chiqing. Har bir takrorlashda siz o'rganishni kuchaytirasiz. Soatlar va soatlarning bir vaqtning o'zida ustuvor navbatlarga sarflanishi sizni mutaxassisga aylantirmaydi. Vaqt o'tishi bilan qayta ko'rib chiqish orqali ekspertga aylanasiz. Agar shunday qilsangiz, siz tafsilotlarni unuta olmaydigan joyga borasiz.

Qayta ko'rib chiqishga yordam berish uchun men 1,792 flesh-kartani (raqamli flesh-kartalar) qildim. Bu juda ko'p. Bo'sh vaqtim bo'lganda (masalan, Rojdestvo xaridlari paytida) ularni telefonim yoki planshetimda ko'rib chiqaman. Flash kartalar va intervalgacha takrorlash qo'lda ishlaydi. To'g'ri javob fleshkada paydo bo'lganda, men uni ma'lum deb belgilamayman. Men uni kemada saqlayman va bir necha bor ko'rganman va to'g'ri javob berganimdan keyin, men buni ma'lum deb belgilayman.

Mening qo'rquv hissim ("Agar ular menga qizil-qora daraxtlar haqida savol berishsa nima bo'ladi?") Meni kerak bo'lmaganidan ko'proq mavzularni o'rganishga undadi.

Ammo men shunchaki suhbatga tayyorgarlik ko'rishni xohlamadim, keng ko'lamli muammolarni hal qilib, Google'dagi martaba uchun tayyorgarlik ko'rishni xohlardim. Bu vaqtni, makonni va / yoki kirishni hisoblash resurslarini tejashga imkon beradigan algoritmlarni bilish demakdir.

Maksimal oqim algoritmini (Ford-Fulkerson) bilishim shart emas, ammo agar men vaziyat yuzaga kelsa (ushbu dasturni yodlamasdan) va ushbu muammoni hal qilishda uning qo'llanilishini tan olsam, juda yoqadi.

Xulosa

Erta boshida men bu o'rganishni o'tkazib yubormoqchi edim va shunchaki shoshilib ishga yollamoqchi edim, buning o'rniga vaqtimni o'zim qo'shilgan jamoada tillar va vositalarni o'rganishga sarflashim mumkin edi. Ammo, yo'l davomida, men bu bilimning qanchalik muhimligini angladim va uning ko'pchiligini kundalik ravishda qo'llash mumkin bo'lmasa ham, men bor kuchimni sarflaganimdan xursandman. Menda hisoblash tarixi, sohadagi ulug'vorliklar, ma'lumotlar tuzilmalari va algoritmlar (va ular bir-birini qanday to'ldiradi) va kompyuter tizimlari past darajada qanday ishlashi haqida yangi fikrga ega bo'ldim.

Men tezda arizamni to'ldiraman. Bu nuqtaga yetgancha uzoq safar bo'ldi - deyarli bir yil. Bu yanvar oyida boshlangan, lekin men aprelgacha to'liq vaqtli o'qishga kirishga qodir emas edim.

Men imkonim boricha tayyorman. Men o'qishni davom ettirolmayman va dasturni abadiy o'chirib qo'yaman. Bir payt men sakrashga to'g'ri keladi.

Oldinda porloq kelajak bor.

Hikoyamni o'qishga vaqt ajratganingiz uchun tashakkur.

Maqola arab, vetnam va koreys tillarida ham mavjud.

Yangilanish: 2017 yil 10 yanvar

Men yollanmadim. O'qing Ajoyib, haddan tashqari ko'magi uchun barchaga rahmat

Yangilanish: 2017 yil 6 mart

Hikoyaning baxtli yakuni bor! Meni Amazon veb-xizmatlarida dasturlarni ishlab chiqish muhandisi sifatida ishlash uchun ishga qabul qilishdi!

Meni qayerdan topsam bo'ladi

Men Startup Next Door-da blog yuritaman.

Githubdagi Google Intervyu Universiteti: