Skip to main content

5 начина за успех у техничком разговору - музе

Anonim

Технички интервјуи су познати по својим загонеткама. Било да се од вас тражи да напишете бинарно дрво на плочу, објасните алгоритам сортирања или примените ФиззБузз у 10 или мање редака, у просечном интервјуу треба да се припремите за питања техничког програмирања.

Али то није једино на што бисте требали бити спремни.

Реалност је да ће многи програмери моћи да решавају уобичајена питања о интервјуу за програм са малим одступањем између одговора. Дакле, по чему се разликујете од следећег кандидата? Управо на то ћемо се фокусирати у ових пет савета.

1. Разговарајте о свом решењу и решавању проблема

Најгора ствар коју можете да учините када вам се постави тешко питање је да потпуно останете без речи. Нажалост, то је веома лако урадити случајно. Када наиђете на проблем који захтева значајну менталну енергију и фокус, вероватно је да вам је прва склоност да се повучете у свој ум. Иако је ово природно, анкетар такође није од велике користи.

Смисао техничких питања је делом да откријете како размишљате о решавању проблема. Шта је ваш процес? Како разбијате различите компоненте? Како до решења? Како реагујете када покушавате нешто што не функционише? Да ли сте бољи у експериментисању кода или у цртању нечега на табли?

Објасните шта се дешава у вашој глави док решите проблем. Понашајте се као да снимате свој глас да објављујете на мрежи како бисте научили друге како да реше тај проблем. Чак и ако вам анкетари дају простор за тихо размишљање, можда ћете имати користи од објашњавања свог мисаоног поступка без да вас они на то подстакну. Не само да им ово помаже да детаљније схвате ваше вештине и критичко размишљање, већ вам чини још незаборавним.

2. Шта је боље од решавања проблема у техничком разговору? Решавајући га двапут

Веома мали број проблема има само једно решење, а сви проблеми имају бесконачно погрешна решења. Дакле, ако се фокусирате на само један начин решавања проблема, недостаје вам главна прилика да докажете своју флексибилност и постављени вештину.

Уместо да једноставно идете са добро познатим решењем или радите на једном језику, отворите дискусију о том одређеном проблему и решите га за различите сценарије. На пример, ако се од вас тражи да програмирате ФиззБузз, можда бисте понудили да то урадите на два језика или коришћењем две различите парадигме или можда узимањем одређених ограничења перформанси за једно решење и естетских ограничења за друго.

Потврђујући да проблем може имати више решења, показујете своју прилагодљивост, флексибилност и свест, а све ће то указати поверењу код анкетара да ћете моћи да одаберете право решење међу многим могућностима.

Наравно, не претеривајте се - постоји вештина читања кад је одговор на питање са више решења претешко или са задовољством добродошли. Ако сте у недоумици, немојте се бојати питати своје саговорнике да ли им смета ако вам треба неко време да проширите своје решење секундарном опцијом.

3. Не бојте се да ћете делити своја мишљења, када је то применљиво

Понекад, док радите кроз проблеме, доносите одлуке које су у потпуности засноване на вашем укусу и мишљењу. И то је у реду - послодавци су заинтересовани за ваше мишљење! Начин на који размишљате и реагујете на ситуације чини велику разлику у култури предузећа. Имати мишљење је такође знак вођства и техничке зрелости као програмера. Да бисте разговарали о својим мишљењима, потребно је да процијените друга стајалишта о одређеној теми.

Имајте на уму, међутим, да се мишљења могу одржати врло уско. Ако се не слажете са анкетером о одређеној теми, лагано корачајте када делите те информације. Иако је добро имати становиште, такође је важно имати на уму да дељење није увек неопходно и знати како да одаберете своје битке. Добро правило: Не делите своје мишљење ако вас не питају.

4. Никад не завршавајте одговором са „Не знам“

Ако се нисте суочили са сценаријем „Кобаиасхи Мару“, никад не завршавајте питање за интервју са „Не знам.“ То није опција на послу, тако да не би требало да буде опција у интервјуу.

Наравно, не кажем да бисте требали знати све. То је немогуће! Али требали бисте показати да имате стратегију за учење онога што требате знати да бисте обавили посао. Покушајте да одговорите са „Не знам како то да учиним, али ево како бих се потрудио да то схватим.“ Овај одговор би требало да иде даље него да само кажем „Ја бих то послао“. Боље вам је да објасните који је вероватнији правац који бисте истражили.

Највише од свега, немојте да се стидите! Учење је у великој мери процес проналажења ствари које не знате. Ваш послодавац не очекује да будете савршени, али од вас очекују да будете марљиви и интелигентни и да никада не одустанете од проблема.

5. Увек играјте за тим

Осим ако нисте ванредни програмер, ваш посао ће увек бити постављен у оквиру тима, а успех тима увек је најважнији за вас. Дакле, ваш разговор би требао одражавати да се не бавите само решавањем својих проблема у одређеном дану, већ да сте фокусирани на то да учините све што је потребно за тим да успе.

Па, како то можете саопштити у интервјуу?

Никада не разговарајте о проблемима као да су у вакууму

Скоро сваки пројекат би практично имао потребе и ограничења за ресурсе, тако да покажите своју свест о контексту проблема. Проблем који је добро решен, али је прекорачио буџет, није заиста највеће решење.

Покажите своју свест о стручности постојећег тима

Понекад је најбољи одговор на питање замолити друге у вашем тиму да сарађују са вама, а тим људима можете упутити техничка питања: „Да сам овај проблем представио у контексту нашег тима, вероватно бих замолио да га прегледамо и моје решење. "То показује да сте спремни да се ослоните на стручност других и да је ваш циљ да дођете до најбољег решења.

Комуницирајте вредности вођене од стране тима експлицитно

Ово је довољно важно питање да би требало да изађете и кажете га. Желите бити сигурни да су ваши послодавци у потпуности свесни да је ваш циљ да помогнете компанији да успе, а не само да седите за свој сто и читате читав дан.

На крају, ваш посао програмера није само кодирање. То је бити тимски играч, лидер и неко ко никад није спреман да одустане од проблема. Прилике у техничком разговору нису само да покажете да можете испуњавати циљеве или писати алгоритме, већ и да се поставите изнад конкуренције и покажете вредност коју додајете послодавцу.