Пробиване на интервюто отпред

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

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

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

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

Също така, помолете вашия рекрутер за съвети върху какви теми да се съсредоточите при подготовката. Причината за това е, че в допълнение към специфичен въпрос отпред, някои компании ще ви задават традиционни въпроси по компютърни науки по теми като алгоритми за търсене и сортиране.

Предни крайни концепции

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

HTML и CSS е като хлябът и маслото на разработката отпред. По време на интервюта най-вероятно ще ви бъдат зададени въпроси за нюансите на HTML и CSS. Също така, бъдете готови да бъдете помолени да кодирате оформление въз основа на макет.

Само в случай, че имате нужда от опресняване на HTML и CSS, ето няколко основни концепции, които да разгледате.

  • CSS анимации
  • CSS спрайтове
  • Псевдо класове
  • Мрежови системи
  • Семантична маркировка

В допълнение към тези концепции, знайте за CSS препроцесори като SASS или LESS и техните предимства. Също така се запознайте с конвенциите за именуване на CSS като BEM и OOCSS.

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

Споменах по-рано, че някои интервюиращи ще ви помолят да пресъздадете оформления в HTML и CSS. Практикувайте това на детска площадка като CodePen. Вижте Dribbble, тъй като той има много прости, но хубави дизайни, които би било забавно да се пресъздадат.

И накрая, като предни части, ние сме свикнали да правим промени в нашия редактор и след това да проверяваме промените в нашия браузър. Често пъти по време на интервюта няма да имате този лукс. Когато се подготвяте за интервюто, опитайте да кодирате по-голямата част от оформлението си, без да гледате резултата до края.

Ако HTML и CSS са хлябът и маслото на разработката отпред, тогава Javascript е ножът. По време на интервюто компаниите ще прекарат доста време, за да проверят вашите познания по Javascript. Голяма част от въпросите ще се въртят около следните концепции.

  • Прототипно наследство
  • Обхват
  • Затваряния
  • Цикъл на събитието
  • Събитие балонче
  • Прилагане, обаждане и свързване
  • Обратни обаждания и обещания
  • Променливо и функционално повдигане
  • Кариране

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

Моделите за проектиране в Javascript ви предоставят повторяеми решения на често срещани проблеми. Това са няколко от дизайнерските модели, които е важно да знаете.

  • Декоратор
  • Фабрика
  • Сингълтън
  • Разкриващ модул
  • Фасада
  • Наблюдател
  • MVC, MVP, MVVM

Освен дизайнерските модели на Javascript, добре е да сте запознати с Javascript рамките. Това не означава, че трябва да отидете да научите друга рамка преди интервюто си. Вместо това знайте кога и защо екипите от предния край използват рамки. Освен това, ако интервюирате за нещо като React + Flux или Angular позиция, прегледайте предварително част от документацията за архитектурата на рамката.

Концепции за компютърни науки

Някои компании наемат софтуерни инженери преди разработчици от предния край. Това означава, че тези компании очакват от вас да сте добре основани на теми като добри принципи на софтуерния дизайн, мащабируема архитектура на кода и тестване.

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

Това са основните структури от данни, които бих предложил да знаете от върха на главата си. Не просто четете за тях, отделете време да ги внедрите и в Javascript. Ако не сте запознати с модулното тестване, тествайте структурата на данните си с библиотека като Mocha, за да научите.

  • Свързани списъци
  • Hashtables
  • Стекове и опашки
  • Дървета (бинарни дървета и купчини)
  • Графики

Забележка: За графики също знайте как да внедрите обхождания за търсене първо по дълбочина и по ширина.

За внедряването на тези структури от данни можете да разгледате SanFoundry. Всички техни примери са в Java, но повторното им прилагане в Javascript е доста лесно.

След като се почувствате уверени в структурите на данни, можете да преминете към сортиране. Прегледайте списъка, внедрете ги в Javascript и след това отбележете сложността им във времето и пространството.

  • Двоично търсене
  • Сортиране на мехурчета
  • Сортиране по вмъкване
  • Сливане на сортиране
  • Бързо сортиране
  • Сортиране на селекцията

След като прегледате структурите на данни и алгоритмите, тествайте знанията си с Leetcode и тези технически въпроси за Javascript.

Опаковане

Знам, че трябва да се вземат много материали, особено ако сте нов във фронталната разработка. Започнете да се подготвяте за интервюто си преди време, за да можете да се движите с комфортно темпо.

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

Ако имате някакви въпроси, не се колебайте да ми оставите бележка или туит. Също така бих искал да знам как е протекъл опитът ви с интервюто. Късмет!

PS Ако харесате тази статия, би означавало много, ако натиснете бутона за препоръчване или споделите с приятели.

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