JavaRush /Java Blogu /Random-AZ /Texniki müsahibədə akrobatika: Google, Microsoft və daha ...

Texniki müsahibədə akrobatika: Google, Microsoft və daha çoxuna necə daxil oldum

Qrupda dərc edilmişdir
Məqalənin tərcüməsi və uyğunlaşdırılması Ace Your Technical Interview: Nə Məni Google, Microsoft və daha çox şeylərə cəlb etdi, The Startup icmasında Medium. Texniki müsahibədə aerobatika: Google, Microsoft və daha çoxuna necə daxil oldum - 1İlk təcrübə müsahibəmdən əvvəl texniki sualların da veriləcəyini bilmirdim. Güman edirdim ki, məni yalnız “özün haqqında danış” sualları gözləyir. Ancaq mən də onlara lazımınca hazırlaşmamışdım. Hər kəsdən dəyərli məsləhətlər almağa çalışaraq karyera yönümlü mərkəzdə iki saat vaxt keçirdim və daha iki saat evdə müxtəlif sualların cavablarını məşq etdim. Amma müsahibəyə gələndə müsahibim güclü və zəif tərəflərimi soruşmadı. Əvəzində mənə marker verdilər və dedilər ki, lövhəyə get. İlk öncə texniki bacarıqlarımı yoxlayacaqlarını düşünmürdüm! Bu məni təəccübləndirdi. Suallara necə düzgün cavab verəcəyimi bilmirdim və bir neçə saat sonra nəzakətli imtina ilə bir e-poçt aldım. Xoşbəxtlikdən bu hadisədən sonra çoxlu uğurlu müsahibələrim oldu. Mən əlli texniki müsahibədə olmuşam və çoxlu dostlarımı onlar üçün hazırlamışam. Mənim yanaşmam olduqca yaxşı görünür, çünki bu, mənə və başqalarına Google, Microsoft, Apple, Amazon və s. kimi şirkətlərdə müsahibələrdə uğur qazanmağa kömək etdi. Hər kəsə şəxsən kömək etmək istərdim, amma bunun üçün sadəcə vaxt yoxdur. Mən edə biləcəyim ən yaxşı şey texniki müsahibələri necə əldə etmək barədə addım-addım təlimatı paylaşmaqdır. Sınaq və səhv yolu ilə belə vəziyyətlərdə nəyin edilə biləcəyini və nəyin mümkün olmadığını öyrəndim. Beləliklə, burada bir neçə illik təcrübə ərzində tərtib etdiyim faydalı məsləhətlərin siyahısı var.

1. Sınaq müsahibələrə dərhal girməyin.

İnsanlar adətən mümkün qədər çox istehzalı müsahibələr etməyi məsləhət görürlər və onlar haqlıdırlar. Ancaq hazırlıqsızsınızsa, saxta müsahibə təsirsiz, qorxuducu və hətta ruhdan sala bilər. Təcrübədən sizə deyə bilərəm: təcrübə kimi tamamilə hazırlıqsız olan birindən müsahibə götürsəm, sonda suallarda “üzən” və çox yaxşı cavab vermədikləri üçün özlərini ruhdan salmış hiss etdilər. Daha yaxşı hazırlaşmaq və texniki müsahibənin nə olduğunu başa düşmək üçün vaxt ayırın. Google-da saxta müsahibənin yaxşı nümunəsi:

2. Ünsiyyət bacarıqları > texniki hazırlıq səviyyəsi

Bir çox insan LeetCode və Hackerrank kimi saytlarda saatlarla vaxt sərf edərək texniki müsahibələrə hazırlaşır. Bunlar təcrübə üçün əla platformalardır. Ancaq müsahibə zamanı qarşılaşacağınızı düşündüyünüz problemləri təsadüfən həll etmək üçün bir neçə saat sərf etməzdən əvvəl bir az vaxt ayırmaq daha yaxşıdır. Bu, səmərəsiz yanaşmadır: müsahibədə əvvəllər heç yerdə görmədiyiniz ən azı bir sualla qarşılaşacaqsınız. Bəzi dostlarımın məndən daha güclü proqramçıları var və mən tez-tez təəccüblənirdim ki, niyə texniki biliklərimlə bağlı testlərdən keçdim, amma onlar (bəzən) etmədilər. Aramızdakı ən böyük fərq, yəqin ki, ünsiyyət bacarıqlarımı tətbiq etməyə çox vaxt sərf etməyimdir. Ciddi: həll məntiqinizi aydın şəkildə izah edə bilməsəniz, ilk 100 texniki tapşırığı necə həll edəcəyinizi bilmək kömək etməyəcək. Düşüncələri formalaşdırmağı öyrənmək çox vacibdir. Əvvəlcə bütün bunlar çətin, yöndəmsiz və qeyri-təbii görünə bilər, amma təcrübə kömək edir. Texniki biliklərinizi yeni saxlamaq vacibdir, lakin ünsiyyət bacarıqlarınızı inkişaf etdirmək bəlkə də daha vacibdir. Qarşıdan gələn müsahibədən əvvəl vaxtınız varsa, iki il ərzində kompüter elmində oxuduğunuz materialı iki gündə təkrar etməyə çalışmaqdansa, diqqətinizi ünsiyyətə yönəltmək daha yaxşıdır. Növbəti texniki müsahibədən əvvəl bunu öyrənməyə çalışın:

2.1 Aydınlaşdırıcı suallar verməyi öyrənin

Müsahibənin əsas üstünlüklərindən biri sizə verilən suala aydınlıq gətirmək bacarığıdır. Adətən müsahibə aparanlar bütün məlumatları vermirlər, ona görə də onlardan əlavə təfərrüatlar çıxarmalısan. Problemin nə olduğunu tam başa düşmədən həll edə bilməzsiniz! Təcrübə etmək üçün texniki müsahibələrdən bir neçə sual götürə və onlar üçün bir sıra aydınlaşdırıcı suallar verə bilərsiniz. Məsələn, siyahını çeşidləmək istənilsə, soruşa bilərsiniz:
  • Siyahını necə çeşidləmək olar - artan və ya azalan qaydada?
  • Siyahı hansı növ məlumatlardan ibarətdir?
  • Bu tip tapşırıq üçün verilənlərin daxil edilməsi və çıxışının necə görünməli olduğuna dair bir nümunə verə bilərsinizmi?
  • və s.
Daha çox suallar ola bilər - bunlar yalnız bir neçə nümunədir. Müxtəlif nüansları aydınlaşdırdığınızdan əmin olun: Giriş və çıxış nümunəsini soruşun
  • Məlumat növünü təyin edin
  • Dəyərlər aralığında hər hansı məhdudiyyətlərin olub olmadığını yoxlayın
  • Kənar işlərlə məşğul olmağın olub olmadığını soruşun
  • Proqramlaşdırdığınız dilin müəyyən kitabxanalarından və xüsusiyyətlərindən istifadə edə bildiyinizi öyrənin

2.2 Fikirlərini ifadə etməyi öyrənin

Bütün aydınlaşdırıcı sualları verdikdən və problemi həll etmək üçün nəyə ehtiyacınız olduğunu dəqiq bildikdən sonra, həllinizin mahiyyətini düzgün şəkildə necə çatdırmağı öyrənməyin vaxtı gəldi. Əgər yol boyu bunu niyə etdiyinizi izah etmədən sadəcə kod yazmağa başlasanız, müsahibin sizin haqlı və ya səhv olduğunuzu anlaması çətin olacaq. Bunun üçün xal almayacaqsınız, hətta səhv bir həll yazmaqla nəticələnə bilərsiniz. Qərarınızın arxasındakı məntiqi yol boyu izah etdiyiniz zaman, yoldan bir az kənara çıxsanız, müsahibə verən sizi düzgün istiqamətə yönəldə bilər. Hər hansı kod yazmadan əvvəl bunu sınayın:
  • Həmsöhbətinizə mümkün həlliniz barədə danışın - problemi "baş-başa" həll edə biləcəksinizmi və bu mümkündürmü, yoxsa bir şəkildə yaxşılaşdırıla bilərmi?
  • Necə işləməli olduğunu başa düşmək üçün bir nümunə ilə həllinizi addım-addım nəzərdən keçirin.
  • Həllini bir neçə addıma bölün və psevdokod və ya “skelet” yazın ki, müsahibə götürən şəxs sizin düşüncə prosesinizi başa düşsün.
  • Hər şeyi əhatə edib-etmədiyinizi görmək üçün həllinizi fərqli kənar vəziyyətlərlə yoxlayın. Müsahibin fikrini soruşun.
Təcrübə etmək üçün işlənmiş müsahibə sualını götürün və düzgün cavabı (həlli) dostunuza deməyə çalışın. Əgər dost tapa bilmirsinizsə, doldurulmuş heyvan və ya başqa bir əşya götürün və onların üzərində məşq edin.

3. Texniki bilik və bacarıqlarınızı təkmilləşdirin

Müsahibədə düzgün ünsiyyət qurmağı öyrəndikdən sonra bütün enerjinizi texniki biliklərinizi təkmilləşdirməyə sərf edə bilərsiniz. Alqoritmləri və məlumat strukturlarını təzələdiyinizə əmin olun. Məlumat strukturları, çeşidləmə, alqoritmlərlə işləmə, bit operatorları, Big O qeydləri və s. kimi əsas mövzuları başa düşdüyünüzə əmin olun. Bilməli olduğunuz şeylərin siyahısı müraciət etdiyiniz vəzifədən asılı olaraq dəyişir.

4. Məşq edin!

İndi lazımi bacarıq və bilikləri təkmilləşdirərək, bütün enerjinizi praktikaya sərf edə bilərsiniz.
JavaRush kursu proqram həlləri yaratmaq üçün bir çox “tamaşca” tapşırıqlarını və bütün layihələri ehtiva edir.
Yalnız bir həll yazmağa deyil, addımlar haqqında düşünməyə çalışın: zehni olaraq aydınlaşdırıcı suallar verin, strukturu düşünün və yalnız bundan sonra həlli yazın. Bu, müsahibədə özünüzü daha inamlı hiss etməyə kömək edəcək və güvən kraldır!

5. Müsahibə zamanı “dayansanız” nə etməli?

İndi təsəvvür edək ki, siz real müsahibəyə girmisiniz və birdən sualın sizi çaşdırdığını anladınız. Nə etmək lazım olduğunu və problemi necə həll edəcəyinizi bilmirsiniz. Sadəcə otaqdan qaçıb geri qayıtmamaq istəyirsən. Başa düşürəm - kabuslarda hələ də xəyal etdiyim vəziyyətlərdə olmuşam. Ancaq narahat olmayın - bütün ümidlər hələ də itirilməyib. Bu, müsahibələr zamanı bir neçə dəfə baş verdi, lakin onlar adətən təkliflə başa çatırdılar. Çətindir, əsəblərinizi alır, amma hər şey mümkündür. Bir ara verin və düşünün. Nəfəs alın, düşüncələrinizi nizama salın. Ola bilsin ki, sizdə “bir ipucu” olacaq. Həllinizi sadə bir nümunə ilə yoxlayın. Addım-addım hərəkətlərə diqqət yetirərək, oxşar problemin həllinin sadələşdirilmiş versiyasını yaratmağa çalışın, lakin daha sadədir. Məsələn, bir siyahını çeşidləmək lazımdırsa, nə edirsiniz? Ən kiçik ədədi tapıb onu əvvəlinə qoyursunuz. Bu həlli kodda necə tətbiq edərdiniz? Şəxsi həll haqqında bizə məlumat verin. Tam bir həll ortaya çıxmazsa, bu, yaxşıdır. Müsahibinə bunu deyin, həm də ona fikir qatarınıza daxil olmasına icazə verin. Bu problem qarşılaşdığınız hər hansı bir problemə bənzəyirmi? Bunu həll etmək üçün xüsusi bir məlumat strukturundan istifadə etməlisiniz kimi görünür? Sizi istiqamətləndirən məntiqi paylaşın. Dürüst ol. Əgər sizə verilən sualın sizə tanış olmayan bilik sahəsindən olduğuna əminsinizsə, bu barədə müsahibinə məlumat verin. Çözüm axtarmağa hazır olduğunuzu, lakin hələ lazımi bacarıqlara sahib olmadığını söyləyin. Bir dəfə mənə şəbəkə təhlükəsizliyi ilə bağlı sual verdilər. O vaxt bu sahədə müsahiblərə dediyim təcrübəm yox idi. Tapşırığın öhdəsindən gəlməyim üçün lazım olan əsasları mənə izah etdilər. Əsl insanlardan müsahibə alacaqsınız :) Onlar sizi mükəmməl başa düşürlər, çünki özləri də oxşar vəziyyətlərdə olublar. Bütün bunlar bir neçə illik müsahibələr ərzində hazırladığım məsləhətlərdir. Onlar mənə və dostlarıma ən yaxşı şirkətlərə daxil olmağa kömək etdilər. Axtarışda uğurlar!
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION