Рубрики
Без рубрики

Техническое собеседование на Java с 1 неделей на подготовку и Никакого Опыта

Вы когда-нибудь подавали заявление на работу, которая соответствует большинству ваших навыков, только для того, чтобы показать собеседование… С тегом java, ооп.

Вы когда-нибудь подавали заявление на работу, которая соответствует большинству ваших навыков, только для того, чтобы на отборочном собеседовании выяснилось, что эта должность работает исключительно на незнакомом вам языке? Это случилось со мной на прошлой неделе. Я подал заявку на должность веб-разработчика только для того, чтобы обнаружить, что должность, которую они пытались заполнить, почти полностью использовала Java (и в меньшей степени JavaScript и React.js это меня устраивает). Более того, они хотели запланировать техническое собеседование с Java в качестве необходимого языка. После прохождения отборочного собеседования, когда это было сброшено на меня, я мог бы отказаться от своего интереса, поскольку, возможно, я не собирался подходить. Тем не менее, я помню немного мудрости от одного из моих инструкторов Джона из школы Флэтайрон, который сказал мне: “В профессиональном мире ожидание того, что вы освоите и сможете функционально использовать новый язык, обычно ожидается примерно через неделю”. Имея это в виду, я решил, что сделаю все возможное. В конце концов, самое худшее, что может случиться, – это я провалю техническое собеседование и получу отказ.

Насколько похожи Java и Javascript? Автомобиль – это ковер, а Java – это Javascript. Они оба подпадают под категорию языков “C-стиля” и имеют довольно много общего в синтаксисе, но с технической точки зрения совершенно разные.

Java – это мое первое знакомство с жестко типизированным языком, и, безусловно, были некоторые препятствия в освоении новых концепций. Для начала, даже инструменты для запуска Java не соответствуют другим языкам, с которыми я был знаком. Я не мог использовать VS-код, потому что для работы языка необходим компилятор, поэтому я скачал IntelliJ и начал погружаться в 12-часовые видеоролики YouTube. Я очень быстро обнаружил, что методы объектно-ориентированного программирования, с которыми я познакомился в школе Flatiron, по необходимости будут гораздо больше использоваться в Java, чем для Javascript (гораздо более гибкие). Четыре больших из них: абстракция, инкапсуляция, наследование и полиморфизм – это абсолютная необходимость для написания хорошего, читаемого кода Java. Кроме того, примитивные и ссылочные типы работают принципиально иначе, чем JS, и для того, чтобы привыкнуть к работе с переменными JS, потребовалось некоторое время. Эти переменные также должны быть определены по их типу для правильной компиляции, поэтому результатом является очень “пуленепробиваемая” среда выполнения вашего приложения. Есть много других различий, но вы поняли идею.

Когда пришло время проходить техническое собеседование, я потратил не менее 48 часов на изучение языка и почувствовал, что действительно могу что-то закодировать, когда сел за работу над алгоритмом Java. Мой технический интервьюер рассказал о своей предыстории, а затем поставил передо мной проблему. Какая удача! Я запрограммировал на Java не более 2 часов назад передо мной: Создайте хэш-карту для правильного хранения и извлечения представленных значений. Я смог успешно решить задачу и пройти собеседование с 85%, и алгоритм работал в худшем случае со сложностью O(n).

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

Оригинал: “https://dev.to/andyreadpnw/technical-interview-in-a-java-with-1-week-to-prepare-and-no-experience-30f5”