Skip to main content

Как да тествам техническото си интервю

Невидима империя:Създаването на новия световен ред 2010 (Юни 2025)

Невидима империя:Създаването на новия световен ред 2010 (Юни 2025)
Anonim

Независимо дали сте програмирали, тъй като пижамата ви е стъпила на краката или сте изправени надолу по цевта на първия си изследователски лов след работа, техническото интервю може да бъде ужасяващо препятствие между вас и вашата мечтана работа.

Но не се страхувайте - просто се пригответе да покажете своите умения. По-долу ще намерите някои съвети, които са полезни за асо всяко техническо интервю.

Преди интервюто

Вземете книга

Колкото е възможно по-рано преди интервюто ви (макар че успях само две седмици), започнете да се подготвяте. Работата чрез подготвителна книга не само ще освежи вашите алгоритми и знания за структурата на данните, но и ще ви постави в правилното мислене за решаване на проблеми.

Най-важното е да изберете подходящата подготвителна книга за вашето ниво и интереси. Пропукването на интервюто за кодиране е чудесен ресурс, но ако вече не сте достатъчно опитен програмист, той няма да компенсира опита. Ако тепърва започвате, има и други книги, от които ще получите по-голям пробег, като например експонирани програми за интервюта: Тайни за кацане на следващата ви работа . И има много по-специализирани и усъвършенствани книги за тези с повече опит.

Практиката прави перфектни

Малко неща побеждават паниката, както практиката, така че започнете бяла дъска, когато можете, дори и малки проблеми. Кодирането на книги за интервю предлага почти безкрайни примерни проблеми, но можете да използвате и проблеми, над които вече работите. Поставете проблема на себе си (или помолете технически наклонен приятел да ви го постави, за по-реалистична настройка), начертайте стратегията си и поставете маркер, за да изсушите дъската за изтриване. Колкото по-удобно ви е да маркирате тази празна дъска у дома, толкова по-малко колебливо ще бъдете на интервюто.

Ако нямате време и искате бързо да преодолеете шейковете, можете да добавите натиск, който няма да бъде там в действителното интервю. Ако си дадете ограничение във времето или имате някой, когото уважавате да играе ролята на вашия интервюиращ, истинската сделка ще се почувства като парче торта.

Не се претоварвайте

Когато планирате интервюта, не забравяйте да оставите поне няколко часа между тях. Това звучи като проблем от първи свят, но всеки път, когато имах няколко интервюта на ден, не се представях толкова добре, колкото можех. Или се притеснявам дали ще стигна до следващия навреме или вече бях изложил логиката си часове преди.

О, и да поспя. Това звучи като нещо, което майка ви би казала, но има няколко неща, които ще ви отхвърлят от играта, като лишаване от сън. Това е сравнимо с показването на пиян.

В интервюто

Бъдете готови за всичко

След като го направите на вашето интервю, трябва да сте подготвени за няколко различни вида решаване на проблеми. Вашите интервюиращи може да ви помолят да говорите как бихте решили даден проблем, те могат да отворят компютър и да ви помолят да ги ръководите чрез създаване на код или може да ви накарат сами да напишете кода на бяла дъска. Бъдете готови за вариация и не се опитвайте да опитвате детайлите! Без значение какъв метод използват вашите интервюиращи, те наистина тестват уменията ви за решаване на проблеми.

Задайте въпроси

Когато ви бъде представен проблем, обмислете го и се уверете, че напълно разбирате какво ви се иска да върнете. Не се страхувайте да задавате въпроси рано, ако нещо не е ясно. Ако има например крайни случаи, попитайте как вашите интервюиращи искат да бъдат обработени. Трябва ли да хвърлите изключение? Break?

Също така не забравяйте да зададете процедурни въпроси, за да разберете какво търсят интервюиращите и какви са вашите ограничения - напр. „Има ли конкретен език, на който бихте искали да ви дам моето решение?“ Или „Мога ли да приема, че имам достъп до някоя библиотека на Python? “

И не правете предположения. Дори и да сте сигурни, че е безопасно, споменете на глас какво мислите, за да може интервюиращите да ви уведомят, ако нещо ви липсва.

Отделете си време

След като разберете въпроса, който ви се задава, не се страхувайте да отделите минута, за да помислите и да обработите, преди да започнете да решавате проблема. Докато не се възпрепятствате с бързи, базирани на знания въпроси, паузата, след като бъдете зададени, е добро нещо. Разбира се - уверете се, че не отделяте 10 минути, за да го решите в главата си, без да кажете дума! Въпросът е да използвате времето си отпред, за да структурирате своя подход, а не да се опитвате да запишете целия код в главата си, преди да докоснете маркера до бялата дъска.

Помислете Голяма картина

Помислете първо за голямата картина на проблема. Хубаво е да псевдокодирате цялостната структура, стига да кажете на интервюиращите, че правите това и че възнамерявате да се върнете обратно и всъщност да го кодирате по-късно. Това е добър начин да натоварите организирането на проблема, така че мозъкът ви да има повече място за обработка. Това също ще ви помогне, ако в крайна сметка ви изтече време; интервюиращите поне ще знаят как сте планирали да завършите задачата, дори и да не сте стигнали до подробностите.

Освен това, не се тревожете в началото за намирането на най-ефикасния начин за решаване на проблема, освен ако това естествено не изскочи в главата ви. Ноктите по-малко ефективно решение и след това обсъдете защо е по-малко от идеалното. След това, ако имате време или видите по-добър начин да го решите, преминете към по-удобен за времето или пространството алгоритъм. Дори ако всичко, което имате време, е да довършите не толкова ефективната си версия и след това да обясните как бихте се справили по-добре, това не е лош отговор.

Говорете

Най-важното: Говорете. Вземете интервюиращите заедно с вас при решаването на вашите проблеми. Това може да бъде толкова просто, колкото да очертаете какво ще правите, когато го правите („Значи, ще ми трябва за цикъл, за да повторя всички елементи от този списък“) или да създадете проблеми на себе си като вас go („Това означава, че ще ми трябва по-добър начин за достъп до информацията; хм, ще се свържа по-късно“).

Разговорът през вашия мисловен процес дава на интервюиращите ви прозорец как мислите и това в крайна сметка е смисълът на интервюто. Дори и да мислите, че решението ви е невероятно, по-добре е те да знаят как сте подходили към проблема и да стигнете до отговора си, отколкото да виждате пълния отговор и да няма представа какво ви е довело там. Също така дава шанс на интервюиращите да ви помогнат, ако сте заседнали или тръгнете по пътека, която е задънена улица.

Донесете на хората си умения, твърде

Това, че се занимавате с инженерна работа, не означава, че можете да се отслабите от това да бъдете персонални и отговорни. Чувал съм ужасни истории на фантастични програмисти, които не са били наети, защото не са били подходящи за култура или са имали лошо отношение. Сигурен съм, че и вие имате. Не бъди този човек.

Любопитството и ентусиазмът са ценени във всеки служител - а разработчиците не са по-различни. Попитайте за инженерния екип на компанията, стека и най-трудните проблеми, с които се справя с продукта. Разбира се, има фина граница между ентусиазъм и сикофант, затова го дръжте истински, но всеки обича кандидат, който се интересува от продукта, върху който ще работи.

Научете нещо ново

И накрая, едно нещо, което интервюираните най-често пропускат, е възможността за обучение. Надяваме се, че ще научите нещо ново във всяко интервю - ще придобиете нова идея или нов инструмент или ще получите някакъв поглед върху интересните продукти и технологии. Колкото повече мислите за интервютата си по този начин, толкова по-ценно ще бъде това време в дългосрочен план.