Са другим великим технолошким процватом Силицијске долине, инжењери су имали невероватно велику потражњу и од стране стартапа и технолошких великана. За оне који имају инжењерску позадину или студирају информатику, свет је тренутно ваша остриге.
Уз то, компаније не дају само посао. Програмери и даље морају проћи кроз специјализоване процесе разговора - укључујући понекад и ужасан технички разговор.
Припрема за њих може бити збуњујућа пресуда. Да ли треба да проучавате одређене техничке пројекте или се генерално освежите на многим темама? Да ли би требало да вежбате за рачунаром или са пријатељем?
Као трећи инжењер компаније Поцкет Гемс, која има око 165 техничких запослених, обавио сам стотине интервјуа телефоном и на лицу места. Током овог времена научио сам доста о томе како се правилно припремити за њега. Ево савета који су вам потребни да бисте започели свој следећи технички разговор.
Усредсредите се на основе
Интервјуери ће вам углавном постављати питања о вашим основама: структуре података, алгоритмичка анализа сложености, дизајн класе и слично. То ће бити питања директно о основама (на пример, помоћу Кс да бисте учинили И) и питања за која ћете користити своје основе (више о томе у даљем тексту).
Размислите о основама као алатима у својој кутији с алатима. Остаће исти без обзира на то која се нова технологија појави. Уз снажне темеље, бићете боље спремни да се бавите отвореним проблемима - врстама проблема које ми и многи други стартаписти решавамо свакодневно. Усредсређујући се на основе, анкетари могу потрошити мање времена на постављање питања за интервју и више времена гледајући како размишљате.
На пример, од вас ће се можда питати нешто: Добили сте бинарно дрво и два чвора на дрвету. Пронађите најнижег уобичајеног претка два дата чвора у О (н) времену.
Кроз ово питање анкетар тражи да види колико добро можете комуницирати свој мисаони процес и решење. Како размишљате кроз проблем, организујете своје мисли и комуницирате свој одговор често је једнако важан као и ваш закључак. Радимо у сложеним и стално променљивим окружењима и потребни су нам људи који могу и да реше тешке проблеме и ефикасно их комуницирају са својим техничким и нетехничким саиграчима.
За ово подручје интервјуа требало би вам бити угодно расправљати о стварима попут низова, низова, основне синтаксе, типова података, повезаних листа, дрвећа, графикона, стакова, редова и таблица хасх-а. Ох, и будите сигурни да можете одговорити на ФиззБузз без давања очију.
Будите спремни на различите начине рјешавања ствари
Сваки ваш основ има предности и недостатке и нуди јединствено решење за одређену врсту проблема. Након што вам анкетари поставе питање само о вашим основама, вероватно ће видети како их можете користити у пракси. То се постиже постављањем отворених питања која се могу ријешити на различите начине.
Примјерно питање овдје би било: Дајете вам аритметичку једначину као низ. Ова једначина ће имати једноцифрене вредности 0-9, сабирање, одузимање, множење и заграде. Напишите функцију која узима ову једначину и израчунава тачан одговор. Примјери улаза укључују „1 + 1“ и „2 * (1 + 9) - ((2 + 5) -9“).
Као и раније, саговорник жели да види како разбијате отворена питања и ваш мисаони процес у одабиру вашег решења. Оно што је најважније, желе да виде да можете ефикасно комуницирати сложене проблеме.
Без обзира на питање или решење које изаберете, обавезно размислите наглас! Ако имате различите начине решавања проблема, разговарајте о могућностима пре него што се одлучите који да користите. Помаже анкетару да види и разуме ваш процес размишљања. Такође, анкетар може препоручити једно решење над осталим, јер зна да други могу имати одређене замке или могу бити изван оквира интервјуа.
Не бојте се постављати питања ако вам нешто није јасно или нема много детаља. Ове емисије показују да и ви размишљате - и дајете анкетару осећај како бисте сарађивали са другима. Обавезно постављајте појашњења да бисте у потпуности разумели питање и да не проширујете опсег проблема (нпр. Који су неки примери уноса? Морам ли да бринем о подели са 0? Морам ли да бринем о дневна уштеда?)
Коначно, проверите да ли сте усмено прошли кроз неколико тестних случајева пре него што кажете да сте готови. То вам омогућава да и ви проверите код и покажете анкетару да проверавате свој код. Лако колико би било интервјуа за посао, на жалост не можемо вам прочитати мишљење.
Дакле, док се припремате, вежбајте решавање питања различитим алаткама из вашег алата, тако да развијате интуицију о томе. Знајте када треба користити сваки од ваших алата како вас током интервјуа не би наишли на посао. И будите сигурни да у потпуности описујете свој мисаони процес - ово може бити најтежи део за кодре који су навикли да раде изоловано.
Вежба, вежба, вежба
Што више вежбате, боље ћете се припремити за интервју с техничким кодирањем. То важи за већину ствари, али посебно је релевантно за технички разговор - они заиста захтевају да загрејете мозак.
Ево неколико савета који ће вам помоћи да најбоље искористите своје време за вежбање:
- Обавезно симулирајте окружење за разговор. Дајте себи ограничење за проблеме. Ако ћете обављати телефонски разговор, вежбајте и на Стипију и на Гоогле документима. (Знам за себе, непостојање аутоматског довршетка и истицање синтаксе потакло ме је у телефонским интервјуима.) Ако ћете интервјуирати лично, вежбајте да радите проблеме на папиру или на табли.
- Нека вам нетехнички пријатељ постави питања за интервју и прошетате њега или њу кроз ваше одговоре. Ако му можете то објаснити, сигуран сам да то можете објаснити свом техничком разговору.
- Не осећајте се као да варате ако користите неке од алата за припрему који су тамо. Често нуде сјајан увид и практикују питања. Моји фаворити су веб странице попут ТопЦодер и књиге Хеад Фирст . Неке друге књиге које више говоре о процесу интервјуирања су Програмирани интервјуи изложени и разбијање кодног интервјуа .
Интервјуи с техничким кодирањем могу изгледати прилично застрашујуће, али с правим типовима фокусиране праксе бићете спремни да их уверите. Не заборавите да се фокусирате на хлеб и путер, основе и много вежбајте. Следите горе наведене савете и бићете спремни за ваш следећи интервју о техничком кодирању.
Желите више информација? Недавно сам представио ову тему на УЦ Беркелеи Енгинееринг / Тецх Цареер Цонференце. Погледајте моје слајдове из доле наведеног текста за додатне мисли и ресурсе!













