Опыт интервью и резюме --- BAT, NetEase, Mogujie | Технические документы Nuggets

Java Технологии Nuggets призывают к публикации алгоритм Тенсент опрос

Позвольте мне сначала рассказать об основной ситуации LZ.LZ является аспирантом (не компьютерщиком) школы 985 в провинции Сычуань, специализирующейся на общении.Он также выучил язык C в колледже, и он никогда не думал, что станет кодовым фермером в конец. Я начал изучать Java только на последнем курсе и начал изучать Android после исследований, поэтому LZ чувствовал, что вначале он был новичком, и постепенно рос.
1. Менталитет очень важен!
Настрой очень важен!
Настрой очень важен!
Важные вещи были сказаны трижды, и я думаю, что они должны быть упомянуты в начале.
Прежде чем искать работу, вы должны четко понимать, что поиск работы - это вопрос судьбы, если вы не очень талантливы, вы обязательно сможете войти в компанию, в которую хотите войти, и есть вероятность того, что он там будет. Если у вас есть хороший фундамент, достаточный проектный опыт и достаточная подготовка, то ваша вероятность получить предложение будет относительно высокой; предложение будет относительно низким, но вы можете инвестировать еще в несколько компаний, так шансы получить предложение будут выше, потому что вам всегда повезет. Так что не бойтесь собеседований, в начале ничего не получится, старайтесь больше и больше. Не беспокойтесь слишком о прибылях и убытках, в конце концов каждый получит предложение.
Существует также отношение к работе, некоторые люди могут чувствовать, что они не мотивированы, чтобы найти хорошую работу. На самом деле нужно понять одно: вы читали книги больше десяти-двадцати лет с какой целью, и в конце концов, разве не для того, чтобы найти хорошую работу? Теперь наступает критический момент, почему бы вам не работать усердно, почему бы вам не дать себе хорошее будущее и не работать в компании, которая вас не устраивает, вы готовы?
Подумав об этом, я считаю, что у большинства людей будет много мотивации, потому что, когда LZ только собиралась начать поиск стажировки, такая компания, как BAT, даже не думала об этом. вы действительно не знаете, насколько вы способны, поэтому, пожалуйста, сохраняйте позитивный настрой и энтузиазм в отношении поиска работы и, пожалуйста, серьезно относитесь к каждому письменному тесту и собеседованию.
Во-вторых, фундамент
Основы очень важны для всех компаний, особенно крупных компаний, таких как летучая мышь. Они ценят потенциал людей, и они готовы проводить энергию для их культивирования, поэтому основы являются главным приоритетом. Многие люди спросили меня раньше, что мне делать, если у меня будет меньше опыта проекта, то иди, чтобы заложить прочную основу. Когда ваш фонд возмутительно, ваши другие вещи не важны.
Основы — это всего лишь несколько частей: язык (C/C++ или java), операционная система, TCP/IP, структуры данных и алгоритмы, а также то, с чем вы уже знакомы. На самом деле в нем много чего есть, и это перечислено в основных сборниках интервью.
Здесь я перечисляю только те знания, которые нужны клиенту Android, и те знания, с которыми я столкнулся на собеседовании, постарайтесь быть максимально полным.Если вы освоили следующие пункты знаний, вы должны быть очень удобны при работе с клиентом Android. .
Основы J2SE

  1. Размеры девяти основных типов данных и их классы инкапсуляции.
  2. Может ли Switch использовать строку в качестве параметра?
  3. Разница между равными и ==.
  4. Какие публичные методы есть у Object?
  5. Четыре вида ссылок в Java, сильные и слабые, и используемые сценарии.
  6. Роль Хэшкода.
  7. Разница между ArrayList, LinkedList и Vector.
  8. Разница между String, StringBuffer и StringBuilder.
  9. Функции и использование Map, Set, List, Queue и Stack.
  10. Разница между HashMap и HashTable.
  11. Разница между HashMap и ConcurrentHashMap, базовым исходным кодом HashMap.
  12. Разница между TreeMap, HashMap и LindedHashMap.
  13. Структура пакета Collection, отличие от Collections.
  14. попробуйте поймать наконец, если есть возврат в попытке, наконец, все еще выполняется?
  15. Структура пакета исключений и ошибок. С какими ситуациями вы сталкивались в OOM и с какими ситуациями вы сталкивались в SOF?
  16. Три характеристики и значения объектно-ориентированного языка Java.
  17. Значение Override и Overload различно.
  18. Разница между интерфейсом и абстрактным классом.
  19. Разница между статическим классом и нестатическим классом.
  20. Принцип реализации полиморфизма Java.
  21. Существует два способа реализации многопоточности: Thread и Runnable.
  22. Методы синхронизации потоков: synchronized, lock, reentrantLock и т. д.
  23. Уровень блокировки: блокировка метода, блокировка объекта, блокировка класса.
  24. Напишите модель производитель-потребитель.
  25. Концепция дизайна и функция ThreadLocal.
  26. Использование и преимущества ThreadPool.
  27. Другие вещи в пакете Concurrent: ArrayBlockingQueue, CountDownLatch и т. д.
  28. Разница между ожиданием() и сном().
  29. Foreach и normal для сравнения эффективности циклов.
  30. Java IO против NIO.
  31. Отражение работает по принципу.
  32. Общие черты универсальных шаблонов, можно ли преобразовать List в List.
  33. Принципы и характеристики нескольких способов разбора XML: DOM, SAX, PULL.
  34. Java против С++.
  35. Новые функции Java1.7 и 1.8.
  36. Шаблоны проектирования: Singleton, Factory, Adapter, Chain of Responsibility, Observer и т. д.
  37. Использование JNI.
    В Java много сложного, иногда нужно читать исходный код, большинство книг может быть не очень понятно, и нужно искать ответ в Интернете.
    Рекомендуемые книги: «Основные технологии Java, том I», «Размышление о Java», «Параллельное программирование на Java», «Эффективная Java», «Шаблон проектирования для больших разговоров».
    JVM
  38. Модель памяти и разделы должны быть подробно описаны в том, что помещать в каждую область.
  39. Перегородок в куче: Эдем, выживание от до, старость, свои особенности.
  40. Метод создания объекта, выделение памяти объекта, позиционирование доступа к объекту.
  41. Существует два метода оценки для GC: подсчет ссылок и цепочка ссылок.
  42. Три метода сбора GC: принципы и характеристики алгоритмов очистки меток, сортировки меток и копирования, где они используются и какие у вас есть идеи, если вы хотите оптимизировать метод сбора?
  43. Что такое коллекторы GC? Возможности сборщика CMS и сборщика G1.
  44. Когда происходят Minor GC и Full GC?
  45. Несколько часто используемых инструментов отладки памяти: jmap, jstack, jconsole.
  46. Пять процессов загрузки класса: загрузка, проверка, подготовка, разбор, инициализация.
  47. Модель родительского делегирования: Bootstrap ClassLoader, Extension ClassLoader, ApplicationClassLoader.
  48. Отправка: статическая отправка и динамическая отправка.
    JVM задавала эти вопросы в прошлом, но это не сильно изменилось.Есть много вопросов о модели памяти и алгоритме GC.Вы можете найти еще несколько блогов в Интернете, чтобы посмотреть.
    Рекомендуемая книга: "Глубокое понимание виртуальной машины Java"
    операционная система
  49. Разница между процессом и потоком.
  50. Необходимые условия взаимоблокировки, как бороться с взаимоблокировкой.
  51. Режим управления памятью окна: хранение сегментов, хранение страниц, хранение страниц сегментов.
  52. Несколько состояний процесса.
  53. IPC несколько способов связи.
  54. Что такое виртуальная память.
  55. Разница между виртуальными адресами, логическими адресами, линейными адресами и физическими адресами.
    Поскольку я меньше спрашивал об Android-части, может быть причина, по которой я не указал операционную систему в своем резюме.
    Рекомендуемая книга: "Глубокое понимание современных операционных систем"
    TCP/IP
  56. Каковы структуры и функции каждого уровня OSI и TCP/IP?
  57. Разница между TCP и UDP.
  58. Структура TCP-сообщения.
  59. Трехстороннее рукопожатие TCP и процесс четырехсторонней волны, название и значение каждого состояния, а также роль TIMEWAIT.
  60. Контроль перегрузки TCP.
  61. Скользящее окно TCP и резервный протокол N-pin.
  62. Структура HTTP-сообщения.
  63. Значение кода состояния HTTP.
  64. Несколько типов HTTP-запросов.
  65. Разница между Http1.1 и Http1.0
  66. Как Http обрабатывает длинные соединения.
  67. Роль файлов cookie и сеансов основана на принципе.
  68. Что представляет собой весь процесс посещения веб-страницы на компьютере: DNS, HTTP, TCP, OSPF, IP, ARP.
  69. Весь процесс пинга. Что такое ICMP-сообщение.
  70. Использование связи через сокет в режиме C/S, несколько ключевых функций.
  71. Классификация IP-адресов.
  72. Отличие маршрутизатора от коммутатора.
    На самом деле, сеть примерно разделена на две части, одна из которых представляет собой протокол TCP, а другая — протокол HTTP.Пока эти два и связанные с ними протоколы проясняются, обычно проблем не возникает.
    Рекомендуемая книга: "Семейство протоколов TCP/IP"
    Структуры данных и алгоритмы
  73. Связанные списки и массивы.
  74. Ставьте в очередь и складывайте, выталкивайте и проталкивайте.
  75. Удаление, вставка и обращение связанных списков.
  76. Манипуляции со строками.
  77. Хеш-функция хеш-таблицы, какие есть методы разрешения конфликтов.
  78. Различная сортировка: пузырьковая, выборка, вставка, холм, слияние, быстрая сортировка, куча-ряд, ведро-ряд, принцип кардинальности, средняя временная сложность, наихудшая временная сложность, пространственная сложность, стабильность.
  79. Функция раздела быстрой сортировки и функция слияния слияния.
  80. Улучшения всплытия и быстрой сортировки.
  81. Бинарный поиск и вариант бинарного поиска.
  82. Бинарное дерево, дерево B+, дерево AVL, красно-черное дерево, дерево Хаффмана.
  83. Передний, средний и последующий обход бинарного дерева: рекурсивная и нерекурсивная запись, алгоритм обхода по уровням.
  84. Графические алгоритмы BFS и DFS, алгоритм простого простого остовного дерева и алгоритм Дейкстры кратчайшего пути.
  85. Алгоритм КМП.
  86. проблема перестановки.
  87. Динамическое программирование, жадные алгоритмы, алгоритмы разделяй и властвуй. (обычно не спрашивают)
  88. Большая обработка данных: данные похожи на один миллиард в 1000, чтобы найти наибольшее количество и так далее .........
    Алгоритм на самом деле является ключевой точкой, потому что, наконец, хочет, чтобы вы написали код, поэтому алгоритм по-прежнему занимает много времени, чтобы подготовиться, есть слишком много вопросов, написать неполное, мое предложение больше всего в oj (Nik », Лецкод и т. Д.)
    Рекомендуемые книги: «Структура данных Dahua», «Предложение «Острие меча», «Красота программирования».
    Что касается проекта, то в этой части проект каждого человека индивидуален, поэтому я не могу говорить об этом подробно. Проект больше не является хорошим или плохим, это зависит от того, сможете ли вы его упаковать. Иногда очень низкий проект можно упаковать в проект относительно высокого уровня. Используйте более профессиональные термины и выделяйте ключевые слова, чтобы интервьюерам было легче их понять. фокус. В процессе рассказа о проекте, по сути, все ваше вступление должно иметь общую логику.В это время вы проверяете свою способность выражать и описывать, поэтому очень важно хорошо подготовиться.
    Вот несколько вопросов, которые любят задавать интервьюеры:
  89. Как реализуется ХХХ (более важный момент)?
  90. С какой самой большой трудностью вы столкнулись в проекте и как вы ее решили?
  91. Определенная часть проекта не считается достаточно полной. Если ХХХХ, как вы ее оптимизируете?
  92. XXX (новая функция) нужно реализовать, какие у вас есть идеи?
    На самом деле, вы должны быть в состоянии предвидеть, что собирается спросить интервьюер. Пожалуйста, подготовьтесь заранее. Если вас спросят там, где вы не готовы, не нервничайте. Вы должны высказать свое мнение. Кроме того, вы должны быть достаточно хорошо знаком с общей структурой вашего проекта и частями, которые вы делаете.
    1. К группе могут присоединиться те, у кого есть 1-5 опыт работы, кто не знает с чего начать в условиях нынешних популярных технологий, и кому нужно прорваться через техническое узкое место.
    2. Проработав долгое время в компании, я жил очень комфортно, но собеседование зашло в тупик, когда я сменил работу. К группе могут присоединиться те, кому необходимо в короткие сроки обучиться и сменить место работы для получения высокой зарплаты.
    3. Если у вас нет опыта работы, но есть прочная основа, вы можете присоединиться к группе, если вы владеете рабочим механизмом java, общими дизайнерскими идеями и распространенными средами разработки java.
    4. Я чувствую себя очень хорошо и могу справиться с общими потребностями. Однако полученные знания не носят систематического характера, и трудно продолжать совершать прорывы в технической области.
  93. Номер группы: Advanced Architecture Group 647631030 Обратите внимание на полезную информацию!
    6. Старший архитектор Ali Java будет транслироваться в прямом эфире, чтобы объяснить точки зрения, поделиться знаниями, разобраться и обобщить многолетний опыт работы, а также привести всех к всестороннему и научному созданию собственной технической системы и технической осведомленности!

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

  1. Ваша компания всегда славилась XXX, можете ли вы объяснить особенности компании в этом отношении?
  2. Бизнес вашей компании XXX развивается очень хорошо. Это направление развития компании?
  3. Что вы думаете о технологиях и бизнесе?
  4. Насколько велика общая команда вашей компании, и сколько человек отвечает за продукт или бизнес?
  5. Используются ли в разработке вашей компании новейшие технологии?
  6. Есть ли обучение для новичков и будут ли организованы наставники?
  7. Что вы думаете о полном стеке?
  8. Как вы думаете, что мне нужно улучшить?
    знание
    В дополнение к основам, вы также должны иметь некоторые знания в других областях. Для области, с которой вы знакомы, вам нужно знать немного больше о новых технологиях и передовых технологиях, чтобы вы могли поболтать и посмеяться с интервьюером.
    мягкая сила
    Что такое мягкая сила, так это ваше межличностное общение и гибкость.В процессе собеседования хороший этикет, мягкое выражение и позитивное общение на самом деле очень важны. Многие компании могут смотреть не только на ваш технический уровень, но и на то, какой вы человек. Поэтому во время собеседования, пожалуйста, будьте честными, позитивными, оптимистичными и с чувством юмора, чтобы компании было легче расположить к себе.
    Много раз мы будем сталкиваться с ситуацией, то есть я не знаю вопрос интервьюера. В это время, в большинстве случаев, не говорите, что я не сразу, но знаю, как тянуть. Например, интервьюер спросил мне о принципе полиморфизма C++, но я его не понял, но я знаю java, как мне объяснить интервьюеру, что я знаю java, и подобные вещи могут быть перенесены в соответствующие места (но следует отметить, что вы не надо делать вид, что понял, очень неловко быть разобранным) , а это значит, что вы хотите максимально преподнести себя, проявить инициативу, продать себя интервьюеру.
    Также, когда вы сталкиваетесь с загадкой, не говорите ничего, интервьюер смотрит не на ваши ответы, а на ваше логическое мышление, вам нужно только высказать собственное мнение и иметь определенный мыслительный процесс.
    Четыре, посмотри на Священные Писания


    Позиции, на которые претендовала LZ, — это разработка клиентов для Android.
    На самом деле интервью — это длинная история, включая компании, в которых я брал интервью для стажировки: CVTE, Tencent, Ali, Baidu, NetEase, Mogujie и Xiaomi. Самое раннее это можно отнести к марту этого года, когда только что закончился Новый год и началось продвижение Али на стажировку, я был в принципе не готов, и вдруг мне позвонили на первое в жизни собеседование.


    Внутри интернатуры Али:
    Интервью по телефону, потому что это было первое интервью, было очень нервным, и проект не был ясен. Потом интервьюер начал расспрашивать о деталях проекта.Здесь у меня разный взгляд на детали проекта и на интервьюера.Интервьюер сказал, что у меня проблемы с этим, и тогда я сказал, что мы это сделали, и в этом не было ничего плохого, почти. Поспорив с интервьюером, я, наконец, сдался. Потом он спросил меня, как шифровать передаваемые данные, я очень расстроенно ответил, а потом интервьюер начал меня презирать: у вас плохой фундамент, а этот фундамент плохой, так скажите, есть ли у вас еще какие-то преимущества? — нервно сказал Блабла… На встречу ушло меньше 30 минут, а потом просто бросили трубку.
    После этого собеседования я вдруг почувствовал тяготы жизни. Через несколько дней другие студенты нашего учебно-исследовательского отдела один за другим начали собеседования. Все они прошли хорошо. Среди них мой сосед по комнате (билет в один конец) получил предложение очень плавно Он великий бог, а потом я Давление огромно. Разработан полный план обзора, с 9:00 утра до 10:00 вечера.
    Где-то 15 марта было CVTE интервью.Первое собеседование было групповое, довольно жалкое, до группового собеседования ехать час машина, 5 минут и сказать было нечего.
    Стажировка CVTE:
    После представления себя и проекта интервьюер начал спрашивать некоторые основы Java, какие методы есть у объекта? Об этом можно сказать больше. На вопрос, насколько велика хэш-карта, в то время она была пустой, и sb ответил 65535. Потом интервьюер попросил меня написать бинарный поиск за три минуты.Это тоже был первый раз, когда я писал код вручную, да еще и по времени.У меня совсем не было опыта, и в итоге я его написал со временем. В середине я задал кучу основ, но ответы были не очень полными. Наконец, спросите меня, сталкивался ли я с OOM и при каких обстоятельствах это произойдет. Я не ответил на это, а затем повесил трубку должным образом.
    Этот опыт подсказал мне, что мне не хватает опыта собеседований и умения писать код на месте, а фундамент нужно укреплять. Поэтому я начал различные приготовления и за один месяц прочитал четыре книги-интервью (Книга интервью программиста, Книга интервью программиста Java, Письменная тестовая книга интервью программиста и Предложение Sword) и вложил все свои знания о структурах данных и алгоритмах. .
    Потом, в начале апреля, пришла Tencent, я поначалу очень тосковал по Tencent, но в той ситуации особой надежды на себя не возлагал, чувствовал, что войти в такую ​​топовую компанию, как BAT, — это роскошная мечта.
    Собеседование с Tencent проходило в 5-звездочном отеле, оно было очень высоким, и я чувствовал, что задаю много вопросов, мне хотелось задавать интеллектуальные вопросы, но я не сталкивался с этим.
    Стажировка в Тенсент
    1 сторона:Примерно через 50 минут я все еще немного нервничал во время интервью, но, к счастью, я встретил старшеклассника из школы, который постоянно говорил мне, чтобы я не нервничал. Несколько ключевых вопросов: необходимые условия для тупиковой ситуации, как ее решить, в чем преимущества java и c++, метод синхронизации java, жизненный цикл активности и позвольте мне спроектировать систему обслуживания банка посередине, я сказал много. Затем позвольте мне написать метод для подсчета количества двоичных единиц в int, и после того, как я написал его наиболее эффективным методом (n=n&n-1), интервьюер был немного удивлен и сказал, что никогда не видел это написано так, позвольте мне объяснить это ему. После этого семья Лалы была дома, он спросил меня, что я думаю о месте работы, и попросил сравнить QQ и WeChat, а после того, как я вышел, интервьюер попросил меня обратить внимание на уведомление.
    Точно так, как наши школы должны пойти в школу, получили уведомление Tencent два лица, 15:00. Затем я столкнулся с двумя лицами.
    2 стороны:С другой стороны очень серьезный человек.Он выглядит как старший.Он никогда не улыбается.Позже он узнал,что он эксперт по мобильным телефонам экономка Т4. В начале он спросил меня как устроен пакет heartbeat в проекте, я не использовал heartbeat в проекте, а потом я смог только сказать ему, что я этого не делал, и спросил меня, что не так с использование json для передачи данных (я только знал, где его использовать, и думал об этом. что не так). Я также спросил, в чем разница между http и socket, какой из двух протоколов более эффективен, сталкивался ли я с утечками памяти java, какие инструменты отладки памяти java использовались, и четыре типа ссылок java. Большинство из них связаны с проектом, я не задавал слишком много элементарных вещей, а потом чувствовал, что мои ответы были не очень хорошими, многие из них не знали, и они отвечали неправильно. На самом деле, я чувствовал, что не должен пройти, но когда я наконец задал вопрос, я попросил его оценить мое выступление. Он сказал, что оценивать нехорошо. Нет, многие вещи не были рассмотрены комплексно. Тогда он согласился и обсудил это со мной.Я думаю, что последний вопрос дал мне много очков. Вторая сторона также заняла около 50 минут.
    Вернувшись, я обнаружил, что мой статус не изменился, и все они прибыли на собеседование с HR. Я думал, что уже записался на прием. Позже, в 12:00 ночи, я был приятно удивлен, получив смс сообщение с интервью HR на следующий день. , когда я был почти так счастлив, что не спал всю ночь.
    **3 интервью (HR): ** это часовое интервью, которое длится около десяти минут, болтая, спрашивая, кто есть кто, каковы ваши планы на будущее и т. д. В основном, я не пишу много, если не т вешать людей.


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


    Али
    **Стажировка 1: **После встречи с Tencent я обнаружил, что успокоился и могу лучше говорить во время интервью. Я также встретил лучшего интервьюера на этой стороне, и я мог легко общаться с ним. Основная проблема андроида: жизненный цикл активности, четыре режима запуска активности (некоторые я забыл и не ответил в свое время), линейная компоновка и относительная компоновка, многопоточный запрос, алгоритм java GC и Метод GC, модель памяти, есть более специальный вопрос, чтобы спросить меня, как разработать Моменты WeChat, а затем я говорю ему идею, а другой спросить о проекте. Он также спросил меня, что важнее, техническая глубина или техническая широта.С другой стороны, я чувствую, что это относительно просто.
    **Стажировка 2: **Эта сторона более оскорбительна.Когда я встречаюсь с техническим директором Alibaba Cloud, когда иду на проект, я даже не смотрю на него.Я прямо спрашиваю, сколько строк кода я написал. Я сказал по крайней мере от 30 000 до 40 000 строк, а затем Он попросил меня написать два вопроса: один для нахождения простых чисел и один для рекурсивного нахождения иерархии, и он был милостив ко мне (позже он попросил моих одноклассников написать алгоритм вставки AVL деревья, и он был пьян, даже думая об этом). Далее идут различные основы, основы java задаются один за другим, сравнивая ключевую реализацию многопоточности, несколько уровней блокировок и т.д., использование отражения, wait() и sleep() (при обсуждении этого он у меня голова закружилась ), Java это хорошо, большинство из них справляются с этим, а потом он начал расспрашивать о C++. Хоть он и базовый, но лз про него забыл, что такое массивы указателей и массив указателей, виртуальные функции, полиморфная реализация (это я упоминал в java) и т.д., я много спрашивал, но многие не отвечали, и тут он мне сказал Фундамент не очень (хочу сказать, что понимаю С++, написанный в моем резюме, почему вы меня преследуете и спрашиваете ТТ).
    Получилось так, я думал, что трубка зависла, но меня уведомили позже. У моих однокурсников было всего два технических интервью, а у меня на самом деле было еще одно, называемое кросс-интервью, думая, что оно точно закончится.
    Стажировка 3:С этой стороны я встретил начальника отдела, когда ездил на стажировку.Человек был очень приятный.Когда он приходил и уходил, он пожимал мне руку.Он был очень доступным. Эта сторона по-прежнему спрашивает о некоторых вещах в проекте и в основном спрашивает о многопоточности Java, временной сложности и размышлениях о каждой сортировке. Я полчаса спрашивал о технологиях, а потом начал говорить о жизни в следующие полчаса (@_@), где мой дом, чем занимаются мои родители, как дела в старшей школе, как дела в колледже и т.д. вообще не нравится.Технический аспект (позже я узнал, что один из моих одноклассников болтал с ним о жизни, когда он впервые приехал сюда, и мы говорили об этом. Я еще раз вздохнул, что поиск работы зависит от судьбы) .
    Стажировка 4 стороны (HR):Ali hr более профессионален, чем Tencent hr. После часа интервью я рассказал о своем жизненном опыте (я спросил о ваших преимуществах и недостатках, о том, что делает вас самым счастливым, о том, что вас огорчает, о вашей карьере). планирование, ваши идеалы и т.д., об этом я сейчас не могу думать) Особо сказать нечего.


    На следующий день после собеседования я пошел на круглый стол, чтобы подписать предложение, и таким образом получил еще одно предложение стажировки от Али.
    Позже LZ измерил Ханчжоу Али B2B и Гуанчжоу Tencent MIG и, наконец, решил перейти к Али, потому что в штаб-квартире я чувствую, что босс лучше, перспективы развития могут быть хорошими, и вероятность остаться относительно высока, и Tencent это подразделение, я чувствую, что это может быть не очень перспективно (но позже я узнал, что у Guangzhou Tencent MIG очень хорошая перспектива развития, и среда очень гармоничная. Все мои однокурсники, которые пошли на стажировку, остались. Эй, я могу только вздох, что выбор - большая проблема). Двухмесячная стажировка в Али тоже была очень приятной, я многому научилась, а также познакомилась с хорошими старшими братьями и руководителями, но официального предложения не получила, потому что меня приняли и изменили в итоге.
    Интервью для стажировки уже написано, за ним следует официальный опыт поиска работы, в основном благодаря большему количеству внутренних рекомендаций: Tencent, NetEase, Mogujie, Xiaomi и Baidu для набора в школу.
    Во время стажировки в Ali я познакомился с NetEase и Mogujie.


    NetEase
    Вставьте 1 сторону внутрь:По телефону, во время обеденного перерыва. У меня было очень нехорошее лицо с этой стороны.Поскольку я был стажером на Али, интервьюер оказался на Али.Он спросил меня, чему я научился на Али, какие фреймворки я видел, и видел ли я исходный код Я сказал что-то нерешительно, Интервьюер не очень доволен (я сказал, что не могу рассказать все, я здесь, на Али, некоторое время, поэтому у меня нет столько времени, чтобы посмотреть исходный код) . Расспросив о различных деталях проекта, я начал расспрашивать об основах, структуре сообщения Http, обработчике, модели Looper, ThreadLocal (этот LZ не ответил в то время), как предотвратить убийство службы, оптимизация памяти Android , и реализовать модель очереди потоков самостоятельно, Спросите меня, как спроектировать (это смутил предыдущий вопрос, я просто сказал, что не знаю), я провожу собеседование уже более 20 минут, и я чувствую, что ответ не очень хорошо, и тогда интервьюер спросил меня, есть ли что-нибудь, в чем он хорош, я не спрашивал, я поставил андроид О запуске zygote в Framework и связи Binder было сказано еще раз (здесь принудительная установка).
    После интервью я думал, что оно закончилось, но моя старшая сестра сказала мне, что оно прошло, и это было удивительно, я думаю, что меня спас контент, который я добавил позже.
    Вставьте 2 стороны внутрь:Вторая сторона — это сцена, расположенная по соседству с районом Али Биньцзян. Время полдень одного дня, и после обеда я пошел в соседнюю дверь. Интервьюер относительно молодой человек, может быть, не на несколько лет старше меня, но он тоже очень хорошо говорит, и он начал говорить о проектах, я достал приложение, которое сделал на Али, и небольшой написанный мной фреймворк он указывал на вышесказанное и задавал различные вопросы, как этого добиться здесь, в чем проблема, как вы ее решаете, а затем он описал сцену, два действия, впереди диалог активность, как изменить следующую активность при наличии диалоговой активности (лз ответ с трансляцией). Как андроид решает кеш, а если память перевалит? Затем речь идет о JVM, алгоритме и методе определения GC, какой алгоритм GC в какой области используется и как улучшить алгоритм репликации. Затем есть основы, и я также задал несколько вопросов, таких как одна сторона, разница между hashmap и concurrntHashmap и можно ли принудительно использовать дженерики. Тогда есть алгоритм. Я спросил среднюю временную сложность и наихудшую временную сложность быстрой сортировки и слияния. Я придумал проблему алгоритма: как найти 50 самых больших чисел и средние 50 самых больших чисел в случайном массиве (это использует минимальную кучу и функцию разбиения), в чем сложность.
    После интервью я действительно чувствовал себя довольно хорошо, я в основном ответил на все ответы и плавно вошел в три стороны.
    Толчок внутрь с 3-х сторон (HR):Интервью HR также было на месте, и мы много разговаривали. Они спросили меня, почему я приехал в нетуаллую от Alibaba, каковы мои планы, а что вы думаете о Netesease? Преимущество), готовы ли вы работать в Ханчжоу Отказ Он также сказал мне, что эта внутренняя продвижение самая лучшая среди лучших, и есть лимит на количестве мест. Если вы не пройдете, пожалуйста, продолжайте обращать внимание на набор школ Netease.


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


    Грибная улица
    **Внутренний толчок 1 сторона: **Собеседование по телефону также проводится в полдень. За 18 минут я задал некоторые вопросы, в основном задавая основы и задавая очень простые вопросы: разница между Arraylist и LinkedList, использование String и StringBuffer, разница между HashMap и HashTable, использование Synchronized и т. д. (очень простые ), которые не перечислены один за другим, и все прошло гладко. Прошло 20 дней после 2-го, и я не знаю, что не так с Могуцзе.
    Вставьте 2 стороны внутрь:Это было также телефонное интервью, интервью с техническим директором, и мы говорили о проекте в целом, о том, чему я научился в проекте, как решать любые трудности, с которыми я столкнулся, чему я научился на стажировке Али, вы читали исходный код, мои преимущества и недостатки, почему я выбрал Могуцзе, я знаю, что такое Могуцзе. В конце концов я почувствовал, что ответил хорошо, но не ответил, и не знаю почему.
    Просо
    Вставьте 1 сторону внутрь:Интервью по телефону длилось минут 40. Во время интервью было очень шумно, но, к счастью, интервьюер говорил медленно, и после того, как я отвечал на вопрос, интервьюер сообщал мне о том, на что я не ответил хорошо. Про проект не спрашивал, спрашивал основы, и вопросов было не много: метод HashMap для удаления элементов, разница эффективности между for each и normal для используемых в разных структурах данных (ArrayList, set, hashmap) (LZ означает, что я не видел исходный код, я не знаю), разница между статическим классом и нестатическим классом, большой файл несколько ГБ, как добиться копирования (это тоже не очень хороший ответ) . Тогда я задал два алгоритма: один появился раньше, другой есть в git, если есть n веток, то как m коммитов найти родительскую ноду общую для любых двух нод (я ошибся в то время, я думал идти вверх по бинарное дерево, не ответил правильно). Тогда пусть два алгоритма будут реализованы в коде, и напишите ему письмо в течение 1 часа.


    После того, как Xiaomi встретилась, новостей нет, считается, что требования очень высоки, в конце концов, пекинская регистрация домохозяйств была решена.
    На самом деле, я начал подавать свое резюме очень рано, когда был стажером в Ali, потому что после прохождения стажировки в течение определенного периода времени я чувствовал, что все еще хочу остаться в Чэнду (потому что lz из провинции Сычуань). Tencent I не участвовал в собеседовании при приеме на работу в школу и перешел непосредственно к внутреннему процессу продвижения по службе.


    Тенсент
    **1-е интервью: **Собеседование по телефону, 20+ июля, очень водянистое, поэтому я спросил о проекте, болтая, может быть, больше десяти минут, а потом интервьюер сказал, что внутренние рефералы бесполезны, и мне все равно нужно идти в собеседование при приеме на работу в кампусе (я думаю, у него могут быть другие дела, он хочет сэкономить время), если вы не можете вернуться во время стажировки, вам все равно придется пройти собеседование на месте, а затем оставить телефонный звонок для нашего школьный рекрутер, чтобы связаться с ним, и все. 2 после того, как я вернусь в школу.
    2 стороны:После того, как я вернулся в школу 6 сентября, мне позвонили в 15:00 и попросили зайти на Tencent Live в 19:00 (мне было интересно, почему это было ночью, до Tencent из школы шло 2 часа, и меня попросили не возвращаться я так нервничал в то время, потому что я только что вернулся с Али, и я не очень хорошо подготовил основы.Я прочитал две основные книги в метро, ​​Александр. Интервью проходит в Tencent, отдел WeChat, интервьюер — мужчина средних лет (сейчас куратор LZ), и он, кажется, относительно спокоен. Я не задавал основных технических вопросов, я просто рассказал о деталях проекта и некоторых областях, которые можно было бы оптимизировать, затем я прочитал резюме lz, задал его еще раз, а затем спросил меня, чему я научился на Али и почему я выбрал Али в то время (в это время должны быть всевозможные коленопреклонения и облизывания). Потом позже он сказал, что занимается ios, мне было интересно, почему он не спросил меня об основах.


    После собеседования он сказал, что сообщит мне о результатах в течение недели, и особо не надеялся, потому что не понимал, зачем пришел брать интервью у меня как у iOS-разработчика. .
    Два дня спустя, после того, как Али HRG позвонил мне, чтобы принять изменение, почти в то же время мне позвонили из Tencent, чтобы сообщить, что я получил предложение Чэнду, Я могу только вздохнуть, что это было совпадение (вероятно, вся моя удача была потрачена в этой жизни).
    Позже, когда начался набор в школу, интервью проходило только в одной компании — Baidu, которая больше внимания уделяла основам и алгоритмам, увлекалась технологиями.


    Байду
    **1-я сторона: **Около 1 часа меня брал интервью у старшего брата по ios, поэтому, естественно, я мог говорить только о проекте.После того, как я показал ему приложение, которое я сделал, я также задал некоторые технические вопросы, как сделать cache Да, как бороться с переполнением памяти. Затем две арифметические задачи: поместить нечетные числа в начало и четные числа в конец массива и записать это требование. Другой — как найти 5000 IP-адресов с наибольшим количеством вхождений среди 300 миллионов IP-адресов. Наконец, я спросил, не хочу ли я поехать в Пекин и каково мое мнение о технологиях.
    2 стороны:За 50 минут напишите 4 вопроса программы: обратно связанный список, пузырьковая сортировка, производитель и потребитель, эти три легко написать, и они пишутся быстро, и один вопрос в наборе отсортированных чисел, Учитывая число, возврат позиция, ближайшая к этому числу и не превышающая его, и время требуется O(logn) (подумайте об этом некоторое время, используйте бинарный поиск, а затем разберитесь с этим специально), и, наконец, он не может понять это и попросите меня сделать пошаговое объяснение. Прошло много времени, и, наконец, попросил java-рефлексию, отпусти меня. Baidu действительно уделяет внимание алгоритмам.
    3 стороны:Эта сторона должна быть техническим специалистом высокого уровня.Он спросил меня о проекте в целом, а затем спросил несколько основ: механизм отражения java, каковы характеристики анимации Android? Иерархическая архитектура TCP/IP, роль и протокол каждого уровня; управление перегрузкой TCP; как устроено скользящее окно и в чем его преимущества; каковы макеты android. После того, как вы зададите эти вопросы, это будет немного похоже на беседу с HR: если вы прошли это собеседование, как вы думаете, в чем причина, а не в чем? Что вы думаете о Байду? Какие планы на технический маршрут? Некоторые и предыдущий повтор не будут записаны. Затем он попросил меня задать ему вопросы, и я задал 5 или 6 вопросов подряд и, наконец, ушел довольный.


    Baidu дал результаты за последние два дня.


    5. Напишите в конце о выборе
    Когда в то время LZ проходила стажировку, Ханчжоу Али и Гуанчжоу Tencent решили пойти в Али, но они не остались, потому что они приняли изменения.Наоборот, студенты, которые проходили практику в Tencent, пошли хорошо. Но еще и потому, что я не поехал в Гуанчжоу Tencent, в конце концов я смог остаться в Chengdu Tencent. Выбор очень важная вещь, он определяет ваше будущее, но есть еще одна вещь, которую вы должны знать: это не благословение, если вы потеряете свою лошадь. хороший выбор на будущее.В будущем слишком много неизвестного.
    быть благодарным
    На самом деле по ходу дела я тоже взрослел, от начальной неуверенности в себе до финального собеседования все было более спокойно и собранно. Я всегда считал, что возможности есть у тех, кто готов, поэтому, пожалуйста, подготовьтесь заранее, чем раньше, тем лучше. Я очень благодарен, что у меня есть так много людей, которые помогли мне и подтвердили меня.Без первоначального подтверждения Tencent, я бы точно не пошел так гладко, поэтому я очень благодарен тем, кто меня пропустил, а также благодарю братьев и сестры в нашей лаборатории для того, чтобы дать мне хорошую среду для обучения и роста, и я буду благодарен за удачу.