Во-вторых, возьмите Tencent, Али предложите

задняя часть опрос

Это обучающий опыт, написанный читателем, которого спросил Шуай Ди. У этого читателя хорошие отношения с Шуай Ди. Он добавил меня в WeChat, когда был первокурсником. В то время он часто беспокоил меня. Этот вопрос спрашивал об этом и даже просил меня напрямую найти ошибки в его задачах-алгоритмах. . . . . Тем не менее, я думаю, что он очень искренний, и каждый раз, когда он лайкает мой круг друзей, я каждый раз терпеливо отвечаю (честно говоря, все же полезно часто ставить лайки в кругу друзей,)

Обратите внимание, что Шуайди в то время еще учился в школе и не был так занят, но сейчас Шуайди слишком занят, чтобы отвечать на такие вопросы.

Не будет преувеличением сказать, что я думаю, что до сих пор имею на него большое влияние, я всегда говорил ему, что нет необходимости следовать за школой, потому что учебная атмосфера в некоторых школах действительно плохая, и достаточно самообучения. для программирования. , он всегда считал меня образцом для подражания в то время. Я присоединился к Tencent и вселил в него уверенность. Может быть, это было потому, что, если я не мог получить предложение от крупной компании, он думал, что это будет трудно для большая компания, чтобы предложить предложение, но я хочу сказать Дело в том, что большие заводские предложения не так сложны, как вы думаете.Предпосылка заключается в том, что вы начинаете планировать с первого/второкурсника года и изучаете все, что вам нужно, чтобы узнать, затем это действительно не сложно.

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

моя весна

Здравствуйте, прежде всего позвольте представиться: я учусь в обычном колледже второго уровня, расположенном в провинции Цзянсу.

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

Читатель также получил предложение от Али позже

image-20210726162349370

Моя точка зрения

Будьте решительны. Не бойтесь, что вы недостаточно хороши или недостаточно сильны, я начну отправлять резюме в конце февраля. В начале я использовал метод подачи резюме на Niuke.com. К сожалению, я помню, что публичный аккаунт Niuke.com дал мне договоренность об ожидающем собеседовании в то время. Я не получил договоренность до сих пор. Оперативность слишком медленно и легко потерять возможность. Но мое резюме было написано очень просто по шаблону Niuke.com.

Когда у вас есть идея, вы можете решительно проголосовать.Заходите на официальный сайт и голосуйте!

**Примечание Шуди: ** Обычно красивый и пусть все идут на Niuke.com, но чаще люди идут туда, чтобы найти внутренних рефералов, проверить время найма компании, письменное время тестирования и, наконец, перейти на официальный сайт, чтобы доставить, а не на Ниуке онлайн доставка.

Приблизительные знания, которые необходимо усвоить, таковы:

  1. более прочные базовые знания
    • компьютерная сеть
    • операционная система
    • языковая основа
    • Многопоточность
    • алгоритм
    • база данных
  2. проект

Соответствующие книги можно найти здесь:

Избегайте обходных путей, рекомендуемые к прочтению классические компьютерные книги (включая способы загрузки)

О резюме

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

Если вы отправляете свое резюме напрямую через внутренние твиты, рекомендуется писать меньше и писать ключевые моменты и основные моменты, чтобы HR мог сразу увидеть его, включая определенную необходимую информацию, такую ​​​​как имя, школа и т. д., знания, в которых вы разбираетесь, такие как redis, reptiles, linux, или имеете глубокое понимание jvm, вы также можете подчеркнуть, что интервьюер спросит вас о вашем резюме.

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

Образец резюме смотрите здесь:

9 наборов шаблонов резюме для должностей развития (со скачиванием)

О базовых знаниях

компьютерная сеть

Tencent в основном является обязательным, особенно для таких отделов, как TEG.Каждый из моих трех раундов технических вопросов начинается с компьютерной сети, и я задавал их в течение длительного времени.Я должен обратить внимание на протокол TCP.Три интервьюера спросили я говорю о различных механизмах в TCP, а то из-за большого временного интервала то, что я сказал, беспорядочно.Здесь я предлагаю вам составить план самостоятельно, затем хорошо его заполнить и, наконец, просмотреть его, не скопируйте его из интернета, одно из них слишком много версий, и некоторые могут быть не совсем правильными.

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

На уровне школьного набора эта книга уже очень подробная. Например, в интервью есть высокочастотный вопрос, который представляет собой процесс запроса веб-страницы, может быть, все, кто видел интервью, грубо скажут DNS-запрос, трехстороннее рукопожатие, анализ браузера, но этот вопрос на самом деле в книга 326 На странице ~331 очень подробно описан процесс, а также много информации в первых шести главах В книге Боб использовал свой ноутбук, чтобы спрашивать в школе.www.google.comДомашняя страница, например. Чем подробнее вы расскажете, тем лучше вас оценит интервьюер.

операционная система

Операционная система - мое слабое место, мне тяжело смотреть csapp, часто хочется спать, когда смотрю, в то время преподавание в школе было на самом деле довольно водянистым. Как этого может быть достаточно? Поскольку я изо всех сил пытался читать книги, я решил посмотреть курс операционной системы Университета Цинхуа на станции B. Преподаватели — Сян Юн и Чен Ю. Они довольно дружелюбны к таким глупым людям, как я, и затем посмотри на csapp., будет лучше.

Есть еще линукс.Кажется, многие интервьюеры будут спрашивать вас, обычно ли вы программируете под линукс.Я просто буду бояться.Хотя при запуске проекта обычно используется линукс,я наверное знаю только некоторые инструкции,такие как ps,netstat, а затем перейдите в proc, чтобы проверить.Проверьте состояние процессора, интервьюер также спросил, как вы обычно проверяете состояние процессора, как проверить использование памяти и как найти ошибку программы (вероятно).

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

Видео рекомендация:Видео трех курсов компьютерных основ

PDF суммируется:Иллюстрированная операционная система, сеть, композиция компьютера PDF скачать!

языковая основа

Ява здесь снесена.Второй интервьюер задавал больше вопросов по джаве,а первый и третий в основном не задавали.

На самом деле у меня был худший ответ на втором туре.Многие понятия были размыты, и я долго колебался.Например, он спросил меня в чем разница между абстрактными классами и интерфейсами.Я читал это где-то год назад.При этом время, я старался изо всех сил. Поиск понятий в памяти... Мне потребовалось некоторое время, чтобы понять несколько отличий, но это действительно легко увидеть постфактум. В общем, я вспомнил это, прочитав один раз. вероятно какие-то проблемы с наследованием классов.JVM просила меня рассказать о каждом куске отдельно, объектно-ориентированном.Я не стал рассказывать об этом подробно, а жаль, потому что я действительно слишком доверяю java, и у меня нет не пересматривал его все время.

Так что не отказывайтесь от каждого очка знаний, а затем говорите о языке го Я видел сопрограммы, написанные на языке облачного ветра c, и я, вероятно, понял некоторые. Java-книга, которую я читалОсновной том JAVA, Мышление на Java, Эффективная Java, На самом деле я думаю этих трех книг вполне достаточно, особенно Thinking in Java, на первый взгляд мало прочитано, а потом перечитав еще несколько раз, можно заметить много деталей, а именно детали часто могут определить успех или неудачу .

На самом деле, есть три книги и много других, которые вам не нужно читать, например Swing-программирование. Базовые тома очень удобны для начала работы, потому что это просто. Эффективная Java — это последний взгляд, который часто направлен на оптимизацию кода, чтобы сделать его более безопасным, высокопроизводительным и элегантным.

Многопоточность

я используюИскусство параллельного программирования в JavaВ этой книге нужно хорошо изучить многопоточность и широко использовать ее в проектах.Тогда я рекомендую всем взглянуть на параллельную сеть программирования.Содержание в ней в основном отличное. Многие переведены из-за рубежа.

Кроме того, вы можете ознакомиться с вопросами интервью:Вопросы на собеседовании по Java должны знать (с ответами)

алгоритм

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

К счастью, я помню, что был знаком с другими, сортировка кучей, быстрая сортировка (случайный выбор кардинальности, быстрая трехсторонняя сортировка) и т. д., сортировка слиянием (я думаю, что это очень важно, потому что сортировка java использует быструю сортировку + сортировку слиянием) , а сортировка слиянием является стабильной сортировкой. Существует довольно много вопросов по алгоритмам, основанных на сортировке слиянием, и я видел, что письменные тестовые вопросы по алгоритмам других крупных компаний основаны на слиянии.

С точки зрения алгоритмов, если есть время, например, я начал писать алгоритмы на зимних каникулах на первом курсе, каждый вопрос я сверлил сам, а потом читал решения, и часто писал только два-три вопроса в день. . Пока что общее количество вопросов leetcode + Niu Ke, плюс некоторые платформы OJ, составляет около 600+ вопросов.К сожалению, в интервью Tencent не так много алгоритмов задается... Вот краткое изложение необходимых знаний алгоритмов, в первую очередь все, данные Каждая из структур должна быть знакома, например связанные списки, хэш-таблицы, деревья, графы, стеки, очереди и кучи.

(1) Связанный список, обратный связанный список, круговой связанный список, сортировка связанного списка и другие алгоритмы, такие как LRU, реализуются с помощью двусвязного списка + HashMap. Не смотрите на основы связанных списков, но многим крупным производителям нравятся связанные списки, такие как списки byte beat и jumping list, которые являются базовой реализацией zset в Redis.

(2) Хеш-таблица, лучше всего понять базовую реализацию, рекомендуется посмотреть исходный код, обязательно знать, как ее реализовать. Есть также много применений. Например, когда рекурсия памяти не подходит для массивов, используется карта, а также HashSet и TreeSet, рекомендуется посмотреть исходный код этих. Использование хэш-таблицы по-прежнему очень широко, это в основном наиболее часто используемая структура данных.

(3) Дерево, есть много деревьев, бинарное дерево поиска, дерево AVL, красно-черное дерево (ротация не такая частая, как AVL), дерево словаря (фильтрация чувствительных слов) и т. д., тема дерева leetcode, не стесняйтесь , просто кисть, Tencent этот письменный тест Существует также тема деревьев. И это легко изменить.Дерево в основном рекурсивно, но есть также проблемы, которые требуют использования нерекурсии.В настоящее время для помощи используются стеки и очереди, такие как итеративный обход предварительного порядка. Слишком много алгоритмических вопросов о деревьях, и какое-то время в еженедельном конкурсе leetcode каждый раз третьим вопросом было дерево.

(4) Графы, контрольные точки графов не так часты, как указано выше, вероятно, ориентированные графы, неориентированные графы, BFS и DFS, а также топологическая сортировка, кратчайший путь Дейкстры, минимальное остовное дерево Крусала и так далее.

(5) Есть много применений стеков. Я чувствую, что многие случаи связаны со строками. Более сложным является монотонный стек. В определенном году JD.com использовал монотонный стек, за исключением одной сложной проблемы.

(6) Очереди также используются по-разному, например, для топологической сортировки, бинарного поиска, BFS и так далее.

(7) Кучи часто бывают полезны, например, для топологической сортировки, задачи Top K.

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

Важными алгоритмами являются: двоичный код, рекурсия, запоминаемая рекурсия, поиск с возвратом, поиск в ширину, динамическое программирование, математика (с множеством головоломок), скользящие окна (двойные указатели), алгоритмы сортировки, программирование (например, проектирование LRU, LFU).

Вот рекомендация из заметок по чистке большого парня:Набрал 70к звезд за два месяца, бывший байт-бог писал заметки

Обобщить большинство алгоритмов

база данных

Если писать бэкграунд, то скорее всего иметь дело с базой данных.Рекомендуется изучить Mysql, redis и mongoDB. MySQL может слишком многому научиться. Прежде всего, вы должны писать хорошие операторы sql. Здесь вы должны обратить внимание на использование индексов, сокращение соединений таблиц, повышение эффективности sql и т. д. Вы можете напрямую использовать sql для практики на leetcode, и десятки кисти хватает.

Тогда иди немного глубже, изучай двигатель,Индекс (кластеризованный индекс, вторичный индекс, дерево B+, хэш-индекс, крайнее левое совпадение и т. д.), функции ACID и т. д. Ключевым моментом является индекс.Когда подробно задавались вопросы по трем сторонам, подробно задавался дерево B+, а затем был задействован индекс. Здесь рекомендуется обратить внимание на указатель, во-первых, это действительно очень интересно, а во-вторых, это действительно важно...

Что касается NoSql, то видно, что интервьюер с трех сторон очень глубокий.По проектам, базам данных, операционным системам и компьютерным сетям они все очень подробные и глубокие.Он спросил меня, не понимаю ли я MongoDB , Я сказал, что использовал его, но я не очень хорошо знаю, что он использовался в сочетании с поисковым роботом в прошлом.Для чего его можно использовать? Затем Redis также спросил, например, вспомогательный ведущий-ведомый, дозорный, механизм выборов, кластер разделов и так далее. К счастью, я могу изучить Redis, и я ответил на все.

Redis определенно стоит серьезно изучить.

Об интервью

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

Красивый: Если есть возможность, то обязательно поучаствуйте в предварительной партии.

одна сторона

3.8 На первом собеседовании в Чанчжоу интервьюер был очень любезен, в наушниках, я был на полпути к представлению, а потом отключился интернет, так что он не услышал следующее представление о себе, и попросил повторить его с улыбаюсь, и я вдруг меньше нервничаю. Я подошел и спросил напрямую в компьютерной сети, и я не нервничал.Я ответил гладко.Вопросы, которые я помню, это TCP и UDP,трехстороннее рукопожатие,почему нельзя второе рукопожатие?компьютерных сетей,и затем прямо спросил проект, не проявляя интереса к чему-либо еще.

Я спрашивал о nginx, реализации распределенной блокировки, реализации распределенного ограничения тока, алгоритме ведра токена и алгоритме дырявого ведра.Помимо этих алгоритмов, какие еще у вас есть идеи?Сравните преимущества и недостатки этих алгоритмов, какая польза от redis и Каковы преимущества? Очередь асинхронной блокировки? По сравнению с кафкой? Система чата, почему MQ, используемый двумя проектами, отличается, сравнение MQ, механизм сердцебиения и механизм выбора.

Вот и все.В целом ответ ок и достаточно ровный.Напоследок я спросил у интервьюера о достоинствах и недостатках.Он сказал,что достоинства красивее,поэтому я начал думать,что то,что я сказал,не очень хорошо. .. Затем на следующий день Получил второе уведомление сегодня утром.

две стороны

3.10 В 20:00 я пил Red Bull в ожидании звонка.У интервьюера на втором собеседовании был более зрелый голос и более официальное отношение, но он был очень мил и серьезно представился.Я не расслышал сначала явно отдел ТЭГ... ,

Затем вторая сторона на самом деле не очень хорошо это сказала.В начале это было так же, как Дживан.Был один вопрос, который задал интервьюер, поэтому я сказал ему, что предыдущий интервьюер задал ему, а затем он пропустил его. Я был очень впечатлен. Один из них - это код состояния. Я сказал некоторые из 1-5, и я сказал это неправильно. Я сказал, что метод не разрешен, что я часто вижу в своем проекте, я сказал, что это 403, и результат был 400... очень неловко.

Затем я рассказал об основах java, jvm и алгоритме сортировки.То, что я сказал, было действительно не очень хорошо, потому что я был слишком уверен... С этой стороны проект не требовал многого. Затем я узнал о своем характере и отношении к обучению. Это было немного похоже на HR. Когда я нервничал, он утешал меня и говорил, что можно пить воду.

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

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

Три стороны

Затем 3.11 я лежал на кровати в общежитии и мне позвонили из штаб-квартиры в Шэньчжэне.Это был очень молодой мужской голос.Позже я узнал,что это был начальник отдела...,

Записавшись на три технических собрания, я выбрал воскресенье 14-го, а затем договорился об утреннем времени, так что я счастливо (страдая) ждал.

На собеседовании в школьном кафе я почувствовал чувство угнетения.Прежде всего я проверил Дживан.Многих вопросов в фейсбуке не нашел.В сочетании с реальной сценой я почувствовал,что копаю глубже,и задал свой проект в очень подробно., от распределенного ограничения тока, затем solr, кластера разделов redis, Linux, обнаружения проблем проекта, просмотра состояния процессора и т. д., репликации ведущий-ведомый, дозорного и т. д., дерева B+, базы данных.

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

Затем он спросил меня о моих увлечениях. Я сказал, что играю на пианино и смотрю аниме. Ты смотрел "Атаку на Титанов"? Он сказал, почему ты не сказал "Клинок Убийцы Призраков", я случайно закончил "Убийцу Призраков" во время зимних каникул... До сих пор чувствую, что люди очень близки. Он был дружелюбным и хорошо поболтал. Наконец, я спросил, что это за отдел, и он сказал, что это TEG. Честно говоря, я был очень счастлив, потому что мне очень понравился TEG.

лицо отдела кадров

Наконец, в интервью 3.16 HR я должен сказать, что Tencent очень эффективна и будет выходить в следующий раунд практически через день. Мы тоже долго болтали в HR, и расспрашивали с разных сторон, а потом давайте я расскажу о процессе первого проекта от начала и до конца, я много говорил, от технических и командных аспектов, до решения проблем, кода технические характеристики, а затем Расскажите о собственном опыте, узнайте о семейной ситуации и т. д.

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

Трое интервьюеров действительно хороши, люди очень дружелюбны, а эффективность Tencent действительно велика.В целом, интервью очень, очень хорошо.

красивая записка: Должен сказать, интервьюер Tencent действительно хорош.

Кроме того, вы можете ознакомиться с вопросами интервью:Вопросы на собеседовании по Java должны знать (с ответами)

что-то сказать

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

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

Еще есть брат Ди (официальный аккаунт красавчик и играй в программирование), который помогает мне с первого курса, я иногда присылал алгоритмическую задачу, а через какое-то время он мне подробно объяснял, а я набрал слишком много слова. , Обычно я очень занят и не стал мучить меня, и взял на себя труд помочь мне с ответами. Контент официального аккаунта тоже очень хорош, и он полон галантереи. Большое спасибо.

Затем мои соседи по комнате.Первокурсник был соседом по комнате и братом, который научил меня моей первой программе языка С. Глядя на маленький черный ящик, я почувствовал необъяснимое чувство выполненного долга. А еще он мне очень помог на маршруте.Помню, что я не мог выучить указатели на первом курсе.Он меня ругал и учил.Меня очень ругали,и мое отношение к учебе тоже было заражено им.Давайте решим проблема не спать всю ночь, думать о проблеме во время еды.

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

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

Напоследок несколько слов

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

Наконец, вам отправлено краткое содержание книги:Избегайте обходных путей, рекомендуемые к прочтению классические компьютерные книги (включая способы загрузки)