Как подготовиться к техническому интервью в кампусе | Техническое эссе Nuggets

Java задняя часть Технологии Nuggets призывают к публикации алгоритм опрос
Как подготовиться к техническому интервью в кампусе | Техническое эссе Nuggets

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

написать впереди

мотивация письма

  • Запишите свой собственный опыт, размышления и резюме
  • Я видел много постов о предыдущем опыте в Интернете, в качестве обратной связи я также поделился своим собственным опытом.
  • Заработайте небольшой совет (вы можете отсканировать QR-код на моем личном сайте)brianway.github.io/about/)

Какую информацию вы можете получить из этой статьи

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

Что эта статья не может дать вам

  • Эта статья не является краш-книгой/руководством по нападению.
  • В этой статье не будут перечислены исходные вопросы интервью и решения.

мой опыт интервью

В поисках стажировки в Spring Recruitment я инвестировал в три компании (Ali, Tencent и Meituan), и все они получили предложение о стажировке и пошли в Ali.

  • Али: Cainiao Network, 3 технических письма + 1 видео HR. На второй стороне был устроен небольшой проект, на который ушло два дня.
  • Tencent: внутренняя разработка инвестиций (бизнес-группа не имеет намерений) была переведена на эксплуатацию и развитие SNG; рейтинг резюме S, 2 телефонных интервью + онлайн-интервью на месте, 2 технических + 1 HR.
  • Meituan: платформа общественного питания Meituan; 2 телефонных интервью + прямое уведомление отдела кадров о предложении. Продержался больше недели, самый эффективный

Чтобы получить хороший рейтинг, Цю Чжао сосредоточился на подготовке к интервью, но пропустил предварительное одобрение и официально одобрил пять компаний и встретился с тремя компаниями (Alibaba, Tencent, NetEase), в основном со всеми специальными предложениями:

  • Али: Сеть Cainiao; успешно стала положительной, с хорошим рейтингом
  • Tencent: я инвестировал в веб-разработку WeChat и был переведен в IEG для разработки серверной части (не знаю, почему у меня стажировка на Ali, но рейтинг моего резюме изменился с S на A+); письменный онлайн-тест + выезд на место 2 технических интервью + 1 HR-интервью. На собеседовании с HR я ожидал цену sp от зарплаты, и предложение было отправлено на согласование.
  • NetEase: трансграничная электронная коммерция (зарубежная покупка Koala); письменный онлайн-тест + 2 технических собеседования на месте + 1 собеседование с персоналом. HR сказал, что техническая оценка хорошая, и проблема невелика. В сочетании с моими одноклассниками, я должен быть sp. У Netease лучший опыт интервью, интервьюер (особенно тот, кто на стороне) очень профессионален и восхищается
  • Тутиао (отказывая от собеседования): Я пришел в кампус, чтобы прочитать лекцию, и я пошел на собеседование без письменного теста, я не пошел.
  • Netease Games (отказ от интервью): Разработка системы биллинга; уведомление по телефону о том, что письменный тест завершен, и на руках есть 3 предложения, поэтому я возьму на себя инициативу сообщить, что я не буду встречаться.

Как просмотреть собеседование по приему в школу

Рекрутинг для компаний ищет рабочую силу, для сотрудников — будущих коллег. Итак, необходимо проверить следующее:

  • Техническая возможность: Вас вербуют для работы, компания не является благотворительной организацией и не поддерживает бездельников, поэтому вам нужноДокажите, что вы можете сделать работу
  • Способность к обучению/потенциал: Если вы можете работать, вам просто нужно пройти социальный набор.Преимущество нового года - это потенциал, вы должныДокажите компании, что вы достойны развития
  • Мягкие навыки: вас нанимают для работы с другими людьми, поэтому общение с людьми, навыки общения, общительность, три взгляда и т. д.Ваша «тональность» должна соответствовать тональности компании/группы.

Таким образом, причины, по которым многие люди вешают трубку, очевидны: плохие технические способности, вешают трубку; не видят понимания обучения, есть только навыки, вешают трубку; неясные мысли в чате, коммуникативные барьеры, вешают трубку...  

Конечно, рекрутинг — это процесс двустороннего отбора. Когда компания выбирает вас, вы также выбираете компанию.

Технический объем оценки технического собеседования

Хотя на собеседовании нужно оценить многое, самое главное на техническом собеседовании — оценить технические способности.Помню, старший сказал мне:"Техническая база и проектный опыт, хотя бы один должен быть в наличии", так что поговорим о так называемом "техническом фундаменте".

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

  • Алгоритмы и основы структуры данных
    • Структура данных: массив, связанный список, хеш-таблица, куча, очередь, стек, бинарное дерево, B-дерево/B+ дерево, красно-черное дерево, граф (вопросов R&D не так много)
    • Общие алгоритмы сортировки (пузырьковая сортировка, вставка, быстрая сортировка, пирамидальная сортировка, сортировка слиянием...)
    • Простая задача динамического программирования (рюкзак, подъем по лестнице)
    • Различный анализ временной и пространственной сложности
  • Основы Java
    • Самые основные основы языка: синтаксис, значение ключевого слова, объектная ориентация....
    • Классы коллекций (ArrayList, HashMap, ConcurrentHashmap... и т. д.)
    • Многопоточность (блокировки, CAS, пулы потоков, классы в concurrent package)
    • Особенности языка: отражение, динамические прокси, обобщения, новое в Java 8
    • IO (шаблон декоратора, NIO)
    • JVM: модель памяти, сборка мусора, механизм загрузки классов
  • Java Web
    • Основные понятия, такие как Tomcat, Servlet, JSP, Cookie/Session и т. д.
    • Использование и принципы фреймворка: Spring (AOP, IoC), MyBatis и т. д.
  • База данных (в основном MySQL)
    • Базовый оператор SQL, оптимизация индекса
    • Механизм хранения (InnoDB, MyISAM), принцип индексации
    • ACID транзакции, уровень изоляции
    • Подтаблица подбазы данных, репликация master-slave, разделение чтения и записи
  • компьютерная сеть
    • 7-уровневая модель OSI и 4-уровневая модель TCP
    • Транспортный уровень: знания, связанные с TCP/IP, по сравнению с UDP.
    • Протокол HTTP: структура сообщения, метод POST/GET
    • Сетевое программирование (сокет, NIO, выбор и т. д.)
  • операционная система
    • Основные инструкции по работе с Linux
    • Сравнение процессов/потоков, межпроцессное взаимодействие, операции P/V
    • Дисковое планирование, виртуальная память
    • тупик, прерывание

1. Так много всего, откуда поучиться?

Мое собственное планирование пути обучения: основная линия навыковОснова языка Java -> Бизнес по разработке фреймворка Spring -> Распределенная система для решения задач с высокой степенью параллелизма, базовыйАлгоритмы, Сетевые протоколы, Операционные системыс обучением

2. Как много вы узнали?

  • Степень концептуальности: знание того, что есть, способность диктовать смысл
  • Степень использования: может использоваться профессионально, например, для вызова API и написания SQL-запросов.
  • Степень принципа: способен объяснить лежащую в основе реализацию
  • Степень предоставления информации: связанные технологии могут быть получены из любой технологии и могут анализировать связи и различия, а также высказывать свое собственное мнение и опыт.

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

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

Технические резервы — основа всего, если вы не знаете основ, то вы не сможете начать с таких навыков, как составление резюме и руководство интервьюеров на месте., только оскорбленные

Как улучшить свои технические навыки

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

в состоянии пройтиЧтение + заметкиВ форме обучения код в книге можно использовать, а учебные заметки и коды можно отправить на GitHub, чтобы продемонстрировать свой энтузиазм в отношении обучения.

Ниже приведены книги, которые я прочитал за последний год. Я провел достаточное исследование и просмотр перед чтением каждой из них. Оценка по Дубану обычно составляет 7–9 баллов:

  • Алгоритмы (четвертое издание) Рисунки Предыдущие главы
  • "Предложение мечей"
  • «Идеи программирования на Java»
  • «Основная технология многопоточного программирования на Java» (Гао Хунъянь)
  • «Практика параллельного программирования на Java»
  • "Глубокое понимание виртуальной машины Java"
  • «Ява 8 в действии»
  • «Линукс-кухня Brother Bird»
  • «MySQL должен знать, должен знать»
  • «Мейвен в действии»
  • «Иллюстрированный HTTP»
  • «Гибкая разработка программного обеспечения»
  • «Архитектурное приключение — написание веб-фреймворка Java с нуля»
  • «Практика разработки корпоративных приложений Spring 3.x»
  • «Шаблоны проектирования Head First»
  • «Техническая архитектура больших веб-сайтов» (автор Ли Чжихуэй)
  • «Система больших веб-сайтов и промежуточное программное обеспечение Java»

Я не читал экземпляр «Глубокого понимания компьютерных систем», поэтому очень пусто задавать вопросы, связанные с системами.

Прикрепите скриншот книги

书1

书2

Я собрал некоторые учебные заметки и исходный код:

  • Заметки по основам изучения языка Java можно найти в моем репозитории GitHub:java-learning
  • Алгоритм в основном соответствует курсу открытого алгоритма Принстона (с акцентом на структуру данных) и курсу Ниуке.«Отличный курс по алгоритму интервью», блог, который я скомпилировал, и исходный код успешно отправлен для каждого вопроса:algorithms-learning. Только позже выяснилось, что более 70% из них были дубликатами «Предложения фехтовальщика».
  • Структура в основном предназначена для просмотра видео и организации учебных заметок:заметки об исследовании springmvc+mybatis (резюме)

Как подготовиться к собеседованию

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

Рекомендуется начать подготовку своего резюме как можно скорее, потому что, когда вы будете писать свое резюме, вы обнаружите, что в вашем резюме нечего писать, и у вас возникнет ощущение кризиса. Если вы подождете, пока школьные рекруты начнут писать, будет слишком поздно.

Как написать хорошее резюме В интернете много постов, поэтому не буду вдаваться в подробности, вот несколько простых моментов:

  • Основные моменты: степень бакалавра и магистра в известных школах, профессиональные рейтинги, награды на конкурсах, стажировка на известных предприятиях. (Если у кого-то его нет, вы можете только попросить больше благословений)
  • Навыки: это могут быть вопросы интервьюера, не пишите, если вы не знакомы с ними
  • Проект: стек технологий, сложность, вклад/вывод
  • Факт: 10 000 предложений «Я очень хорошо учусь» не так хороши, как «Я занимаю первое место в своей специальности», 10 000 предложений «Я люблю играть в игры» не так хороши, как «Я сыграл более 1000 раундов с пестицидами». и инвестировать более 4 часов в день"

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

  • фундаментальный вопрос
    • Описание Проекта
    • Детальный проект
    • Технология, используемая в проекте
  • открытый вопрос
    • Возникшие трудности и решения
    • Достоинства и недостатки проекта и доработок
    • награда

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

навыки интервью

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

Так много людей задаются вопросом: почему я отвечаю на все вопросы, почему я все еще вешаю трубку? Большую часть времени они чувствуют себя хорошо, но плохо отвечают или их водит за нос интервьюер, создавая у людей ощущение, что они на спине. На самом деле многие вопросы не имеют стандартных ответов.Интервьюер смотрит на то, как вы решаете проблему, на то, как вы думаете о проблеме, а не на ответ на вопрос.

Вот несколько простых вещей, которые я сделал из вопросов и размышлений, которые мне задавали:

  • 1. Не останавливайтесь на проблеме, покажите больше того, что знаете

Например, самый классический вопрос: какой процесс вы прошли, когда ввели URL и увидели страницу. Если вы просто отвечаете DNS и несколько уровней протоколов OSI, шаблон слишком мал. В то же время интервьюер будет направлен на то, чтобы задать вопросы о сетевых протоколах, за которыми может следовать TCP/IP (трехстороннее рукопожатие, TIME_WAIT , скользящее окно), HTTP (keep-alive, HTTPS) и ряд подробностей протокола ограничивают возможности их отображения очень небольшим диапазоном.

Фактически, эту проблему можно описать макроскопически на уровне архитектуры веб-сайта, такой как DNS, балансировка нагрузки, статические/динамические страницы, доступ к базе данных, кэширование и даже рендеринг в браузере и т. д., чтобы вы могли общаться в чате. много, и в то же время докажите, что у вас есть реальный опыт работы над проектами, знаете, как это делается в отрасли, а затем вернитесь и кратко упомяните вещи на сетевом уровне.

Например, какие хэш-методы, когда их спрашивают? Поскольку их обычно спрашивают о разрешении конфликтов хэшей, многие люди говорят о методе открытого адреса, методе связанного списка и так далее. Что касается метода хеширования, то это действительно немного запутанно, я подсознательно сказал по модулю (взяв остаток), и ответа точно не хватит, поэтому я поставил классы-обертки нескольких базовых типов Java Integer, Boolean, String.hashcodeЕще раз сказано о реализации метода.С одной стороны я заполняю ответ как пример.С другой стороны это означает что я изучил исходный код JDK.

  • 2. Комбинируйте примеры, не одобряйте

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

  • 3. Обобщите и объясните проблему с более высокого уровня

Когда раньше меня спрашивали про "инвертированный индекс", я просто приводил пример для пояснения понятия. Позже я подумал, что это не очень хорошо. Я просто остался на уровне объяснения. Индекс - это отображение документов в слова ; перевернутый индекс — это сопоставление слов с документами», высота всего ответа разная.

Другим примером является «разница между поиском по двоичному дереву и поиском по хэшу», если вы можете ответить, что двоичное дерево поиска основано на сравнении, поэтому временная сложностьO(log n), поиск хэша представляет собой карту функций, поэтому его можно выполнитьO(1), что указывает на то, что вы не являетесь бэк-тестером.

  • 4. Если вы не знаете, сначала поставьте некрасивые слова

На собеседовании вы неизбежно столкнетесь с людьми, которые не могут. В это время не делайте вид, что понимаете. Если вы чувствуете, что у вас есть идея и вы можете что-то сказать, вы можете сначала признать, что не можете, но вы готовы попробовать на него ответить.Вы не будете ругать, потому что вы уже подняли поле.

Например, когда меня спросили «как JVM помечает память для освобождения», я не могу вспомнить, поэтому не могу сказать, но есть всего несколько способов пометить ее, поэтому я упомянул два: либо оставить немного идентификации в каждом блоке (например, байт) для идентификации, или другая структура хранения, такая как таблица расписания, используется для унифицированной записи и управления. Это позволит вам продолжить общение с интервьюером.

  • 5. Просмотрите и подумайте

После каждой сцены размышляйте над кратким изложением и смотрите, где ответ нехороший. Если это недостаток знаний, восполните это как можно скорее; если вы знаете ответ, но не отвечаете хорошо, измените формулировку и выражение; даже если ответ появится, вы можете подумать, как лучше на него ответить .

Конечно,Предпосылкой всех навыков является серьезная и практическая базовая подготовка

Процесс собеседования при наборе в школу для интернет-компаний первой линии

  • письменный экзамен

Я думаю, что письменный тест во многих компаниях — это отсечка, в основном основанная на резюме. Потому что я никогда не сдавал все КД в письменном тесте, но я прошел письменный тест.У некоторых друзей, которых я знаю, три КД, но они не прошли письменный тест.

  • телефонное интервью

Некоторые крупные компании проводят полное телефонное собеседование (например, Ali), а некоторые сначала просматривают резюме по телефону, а затем уведомляют о собеседовании на месте (например, NetEase). Преимущество телефонного интервью в том, что нет рукописного кода, недостаток в том, что информация, передаваемая языком, часто недостаточна, и невозможно отобразить многие мимики, жесты и легенды.

  • Интервью на месте

Большинство компаний по-прежнему организуют собеседования на месте, либо для того, чтобы вы поехали в компанию на собеседование (крупные компании возмещают дорожные расходы), либо для того, чтобы сотрудники компании приехали в вашу школу, обычно 2 технических собеседования + 1 HR интервью. У каждой компании свой стиль, например, у Tencent обычно одна сторона в день, а на передовой — три дня, а у NetEase — один день.

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

несколько советов

  • Чем раньше вы отправите резюме, тем лучше: так же, как инструктор «Голоса Китая» крутит стул, сначала он думает, что это хорошо, он крутит его, а потом ямок не хватает, и становится все больше и больше. запутанный.
  • Голосуйте только за одну позицию: на протяжении всего процесса я голосовал только за «позиция Java R&D/разработка на стороне сервера», чтобы я мог подготовиться единообразно и избежать слишком длинной линии фронта.
  • Сосредоточьтесь на инвестировании в несколько компаний в разных градиентах: не инвестируйте в зарубежные, вы будете истощены, и у вас не будет времени на подготовку. В соответствии со своими способностями вы можете инвестировать в несколько компаний разного ранга (например: выше вашего собственного уровня, надежда относительно велика, очень уверена, эти ранги), стремиться получить практический результат, бежать за фаворитом, а не смотреть Пойти в компанию на собеседование.

Напоследок желаю всем гладкого поиска работы.Эта статья в основном написана для юниоров и юниоров.Надеюсь как можно скорее обратить на нее внимание и начать готовиться. Если вы найдете что-то полезное после прочтения, пожалуйста, дайте мне вознаграждение (brianway.github.io/about/)