Первоначально опубликовано мнойблог, добро пожаловать, обратите внимание~
В этом году Spring Recruitment (Summer Internship) утвержден на большую часть года. Я считаю, что многие студенты уже получили понравившиеся предложения. Изначально я планировал написать об этом опыте, когда у меня будет время во время летних каникул, но я запишу это, когда у меня есть время сегодня. Я надеюсь, что смогу вдохновить и дать совет студентам, которые ищут передовые стажировки и работу в будущем или в будущем. (Поскольку моя сестра учится в Пекине, я хочу подать заявку только на стажировку в Пекине, что является основной предпосылкой этой статьи).
Я сам являюсь студентом Второй Высшей Школы Пекинской Почты, "майор" фронтенд. Мой собственный опыт собеседований невелик. С января по настоящее время я провел собеседования только с 3 компаниями: Toutiao, Tencent·WeChat и Ant Financial·Alipay. К счастью, все они получили предложение. На самом деле, я думаю, что главное то, что внутренние рефералы мне очень помогают, без внутренних рефералов, я думаю, было бы сложно получить предложение. Итак, первое правило:Если вы можете найти внутренних рефералов, попробуйте получить квалификацию для собеседования через внутренних рефералов.. Пожилые люди и сестры, которые помогают вам с внутренними рекомендациями, обычно проверяют (или даже изменяют) ваше резюме за вас. внутренний реферал, попробуйте вместо этого использовать внутренний реферал Это не просто онлайн-приложение.
заголовки
В январе старший из Toutiao связался со мной по электронной почте и кое-что со мной сделал.PicGoочень заинтересован. Попросил у меня очень примитивное резюме и втолкнул меня внутрь.
Однако после того, как электронное письмо с интервью было отправлено, я узнал, что позиция, предложенная мне, былаiOS研发工程师
. Их группа мобильная, и они хотят набрать фронтендов, но фронтендов мест может не быть, так что пользуйтесьiOS
Позиция была подтолкнута ко мне. Потом я пошел на собеседование в оцепенении. Честно говоря, это было мое первое собеседование, и никто из моих однокурсников в то время не искал стажировку, так что за те несколько дней, которые у меня были, я не был полностью готов.
Всего Toutiao встречался со мной с трех сторон, каждая из которых является видео-стороной. Связаны одна сторона и две стороны (одна сторона закончилась, а второй интервьюер сразу выйдет мне навстречу). Из-за особого характера этой группы интервьюеры, которые приходили ко мне, не были фронтенд-райтерами, поэтому они задавали больше вопросов, связанных с сетью и компьютерами. Впоследствии (после интервью с WeChat и Ant в марте) я почувствовал, что ответ Toutiao в январе был полным беспорядком.
Но мне кажется, что я поступил правильно, записав вопросы сразу после интервью. Также видно, что фокус трех компаний различен.
сторона заголовка
Toutiao — молодой парень, который работает с мобильными устройствами. Сначала я спросил о своем проекте, потому что он мало что знал о интерфейсе, поэтому начал задавать вопросы:
- Какая связь между UTF-8, UTF-16 и Unicode [Не в то время | Правила кодирования и наборы символов]
- Трехстороннее рукопожатие TCP понятно, зачем четыре раза махать [четыре волны 2+2]
- Общие коды состояния HTTP [я думаю, вы все]
- Разница между запросами GET\POST [Общие вопросы]
- HTTP-сообщение разделено на несколько частей, о чем говорится соответственно, и особенно важен заголовок [Неполное на тот момент | 3 части, и разница между сообщениями запроса и ответа]
- Есть ли у вас понимание HTTPS и TLS или SSL, независимо от того, является ли шифрование симметричным или асимметричным [в то время я мало что знал | оба]
- Механизм управления памятью JS [отметить-очистить]
- Различия и сценарии применения массивов и связанных списков [Поиск-Операция]
- Как реализовать динамические массивы, которые дорого найти и вставить [не в то время]
- Принцип работы Electron, краткое описание [Node.js+NativeApi+Chromium]
- Принцип Vue, простое описание [Object.defineProperty + Dep + Watcher]
- Как вы обычно получаете новые знания и из каких каналов [Blog, Nuggets, GitHub, StackOverflow и т. д.]
- Самое сложное и сложное в разработке проекта [система плагинов PicGo]
- Алгоритм задача 1, найти подмассив с наибольшей суммой в массиве [идея говорится, но не пишется]
Хотя идея алгоритмической задачи правильная, я чувствую, что мне было холодно, когда я ее не написал. В результате интервьюер фактически сказал: «Подождите, я позвоню второму интервьюеру».
Две стороны заголовка
3 минуты до другой стороны. Второе лицо — перекрестное, и это интервьюер из другого отдела. Интервьюер старше первого интервьюера. После краткого представления себя он начал задавать мне вопросы:
- Если я руководитель и хочу сократить время рендеринга первого экрана страницы в приложении, как координировать студентов, работающих с интерфейсом, сервером и клиентом. [Я сказал, что это связано с кэшем, но интервьюер сказал, что этого недостаточно]
- От ввода URL-адреса до того, как конечный пользователь увидит интерфейс, выполните следующие действия [общий вопрос]
- Есть ли у вас понимание HTTP/2 и протокола QUIC [все они знали, и немного о моем познании]
- HTTP-кеш, откуда берется код состояния 304 [обычный вопрос]
- Алгоритм, вопрос 2, пересекается ли односвязный список и как посчитать количество перекрытий [я говорил об идее, но это не оптимальное решение]
Алгоритм, вопрос 2, сейчас кажется очень простым. В то время я действительно не чистил вопросы и обычно очень мало обучал алгоритмы, поэтому идеи, которые я говорил, были сносными, но не оптимальным решением. Интервьюер сказал: «Хорошо» (в то время мне было холодно, ха-ха).
три стороны заголовка
Разница между третьей и второй сторонами составляет несколько дней. На самом деле, после второго собеседования я все еще чувствовал себя очень подавленным, но мне все же позвонили из отдела кадров, чтобы назначить встречу. Трое интервьюеров являются руководителями отделов. Это интервью относительно простое, и в нем практически не задают сложных вопросов:
- Расскажите о проекте [В резюме, в основном PicGo]
- Электронный принцип [я сказал это с одной стороны]
- Принцип рендеринга Markdown [обычное соответствие]
- Идеи для интерфейсных фреймворков [Говоря о моем собственном восприятии от эффективности разработки до постобслуживания и инженерных перспектив]
- Что вы хотите спросить [что делать после вопроса]
Поскольку я застрял в конце января на Новый год, HR-сторона сделала мне устное предложение год назад, а когда я вернулся через год, мне прислали официальное предложение.
Как первое предложение в моей жизни, я до сих пор очень взволнован. Но нет前端开发
Позиция всегда заставляла меня чувствовать себя немного неловко. На самом деле я хочу пойти в профессиональную команду фронтенда, и мне не особенно нравится то, чем я занимаюсь после прихода на работу, поэтому я думаю о том, чтобы вернуться в школу после года и искать стажировку, которая мне нравится. более. Конечно, этот пост тоже хорош!
Опыт второй:Алгоритмы, структуры данных и базовые знания о компьютерах и сетях очень важны, ведь даже фронтенд-инженер по исследованиям и разработкам — это инженер.Поэтому после того, как я вернулся с зимних каникул, я начал восполнять свои слабые алгоритмы и структуры данных.
Tencent·WeChat
Весенний набор Tencent (летняя стажировка) начался очень рано в этом году, и с конца февраля компания смогла подать заявку онлайн и внутри компании. В частности, весь март утверждается заранее, и студенты, не завершившие процесс до 1 апреля, должны сдать письменный тест в апреле. Таким образом, теоретически, чем раньше вы продвинетесь внутрь, тем лучше, и тем больше резюме вы получите позже, и, если процесс не будет завершен до апреля, вам придется пройти письменный тест.
Изначально я думал встретиться с несколькими небольшими компаниями, чтобы набраться опыта, прежде чем инвестировать в Tencent и Ant Financial, ведь порог для этих двух компаний все еще достаточно высок. Изначально я планировал подать заявку на должность фронтенда WeChat в Пекине, но на предыдущей сессии я спросил старшего специалиста, что WeChat в Пекине не набирает фронтендов, поэтому я сосредоточился на пекинской стажировке в Ant Financial. Но случилось то, что нарушило мой первоначальный план.
У меня есть старший, который работает в WeChat.Узнав о моей ситуации, он помог мне спросить у WeChat HR о наборе front-end сервисов в Beijing WeChat в этом году, но там очень мало HC. Как только я это услышал, да, отличная возможность. Сразу пересмотрел резюме и отправил его старшему. Через два дня после внутреннего толчка я получил приглашение на собеседование на месте от пекинского WeChat.Я все еще очень нервничал, ведь это был WeChat. А также мое первое интервью на сайте.
Сторона WeChat
После прибытия на место ко мне подошел старший примерно моего возраста и сказал: «Я ваш интервьюер». Очное интервью в WeChat было не таким сдержанным, как я думал (маленькая комната на двоих), оно проходило в открытом зале с множеством маленьких круглых столиков и хорошим освещением. В целом впечатление от интервью хорошее. В то же время я видел много других людей, которые пришли на собеседование.
Один интервьюер сказал, что он также окончил Beijing Post и внезапно почувствовал себя намного спокойнее. Потом, по сути, он взял мое резюме и начал задавать вопросы.
- Спросите, что сделала стажировка [Тьюторская компания выпускников]
- Что сделал PicGo [краткое описание процесса рождения и его роли]
- Что такое Electron и почему выбирают Electron [Многие используют его]
- Понимание MVVM и Vue [Data Driven]
- Принцип двусторонней привязки vue [Object.defineProperty + Dep + Watcher]
- Жизненный цикл Vue, что он сделал и для чего он используется [до создания, создания, монтирования и т. д.]
- Разговор о Virtual Dom [немного о понимании]
- Вы когда-нибудь писали функцию рендеринга, в чем разница между ней и шаблоном [я написал и рассказал о разнице]
- В чем разница между рендерингом Vue на стороне сервера и рендерингом на стороне клиента, и какова роль рендеринга на стороне сервера [удобство для SEO, скорость рендеринга на первом экране и т. д.]
- Расскажите об этих функциях указателя и стрелки [регулярные вопросы]
- Разница между const и let и var [обычный вопрос]
- Расскажите о древовидной обработке webpack и rollup [расскажите о том, что такое древовидная обработка и как ее реализовать]
- В чем разница между загрузчиком веб-пакета и плагином [загрузчик обрабатывает файлы определенного типа, а плагин может делать «любые» вещи]
- Как наконец реализовать обещание
- Разница между циклом обработки событий в браузере и на стороне узла [Расскажите о моем впечатлении, связанном с setTimeout]
Я в основном ответил на все вопросы на первой стороне, и интервьюер был очень доволен, поэтому я немного подождал, позвонил интервьюеру на второй стороне и сказал мне, что он специализируется на алгоритмах. (сердце холодно)
WeChat две стороны
Интервьюер сказал мне, что он окончил Пекинский педагогический университет и находится очень близко к моей школе (Beijing Post) (ха-ха). Затем он сказал: «Давайте перейдем к простой алгоритмической задаче, вам не нужно ее писать, вам нужно просто рассказать о своих идеях».
- Вопрос алгоритма: для матрицы m*n, состоящей только из 0 и 1, найдите наибольшую прямоугольную область, содержащую только 1. [Говоря о самом глупом решении... Интервьюер направлял меня, и я не понял, как добиться лучшего решения]
- Что сделал PicGo, почему так много звезд [Расскажите о роли]
Алгоритм задача еще не сделана (хотя там сказано самое тупое решение), и мне снова стало холодно, чувствуя gg. В итоге интервьюер сказал: «Мышление у парня достаточно гибкое» (Есть ли оно!) Потом попросил меня немного подождать и позвал троих интервьюеров.
WeChat три стороны
Санмиан — женщина-лидер, она сказала мне: «Интервьюер перед вами высокого мнения о вас». Поэтому я начал расспрашивать о своем личном опыте и проекте. Наконец, когда я смогу прийти? Я был удивлен, когда услышал это, разве я не голосовал за летнюю стажировку? Потом она сказала, что в последнее время проект торопится выйти в онлайн, поэтому ей нужен дополнительный фронтенд ХК из-за нехватки людей. Я сказал, что моя лаборатория не отпускает людей до лета... так что подумайте еще раз. А в это время я слышал, что их группа на самом деле занимается ИИ, и если я захожу на фронт, там всего два человека. В этот момент я почувствовал, что что-то не так, но руководитель сказал, что в Гуанчжоу будет еще один электрический самолет, чтобы я подготовился.
WeChat четыре стороны
За два дня было 4 интервью, и это было мое первое телефонное интервью. Четыре стороны начали говорить исключительно о PicGo, проекте, который я сделал. Более важная часть вопроса — это то, что я думаю о PicGo. Объясните с точки зрения разработчиков, пользователей и продуктов. Например, как поддерживать и улучшать продукт, как преодолевать возникающие проблемы, как реагировать на различные мнения пользователей и т. д. Я чувствую, что должен подумать о своем понимании PicGo и планах на будущее, будь то продукт, сделанный с душой, или просто коллекционер звезд.
После четырех собеседований мне в течение двух дней позвонил ведущий трех собеседований и спросил, когда я смогу поехать на стажировку. Однако в последние несколько дней я решил не ходить. Во-первых, лаборатория не сможет выпустить людей раньше конца июня, во-вторых, это отличается от того, что я ожидал, я думал, что фронтенд-команда WeChat набирает стажеров (но это не так), потому что я на самом деле хотел продолжать делать больше в области интерфейса, поэтому я все равно отклонил предложение. В то время думали, что если не будет понравившейся мне позиции в WeChat в Пекине, все будет хорошо, просто подготовьтесь к интервью с Ant Financial.
Вернувшись в общежитие, я сказал соседям по комнате, что отклонил предложение WeChat, а они просто бросили слово «пустая трата денег». Будьте готовы быть готовыми, только быть готовыми быть готовыми, я буду говорить об этом позже.
Муравей Финанс · Alipay
Перед интервью в WeChat через WeChat со мной связался брат Beiyou из Alipay. Он сказал, следуй за мнойGitHubДолгое время я хотел, чтобы меня подтолкнули к фронтенд-команде Alipay. Я, конечно, с радостью согласился. Тем не менее, я думал сначала усовершенствовать свое резюме + сначала пройти собеседование в WeChat. В противном случае, готовясь к собеседованиям сразу на две большие фабрики, не говоря уже о давлении, было бы еще более неловко, если бы вы на него наткнулись. Отказавшись от WeChat, я отправил свое резюме старшему брату и начал внутреннюю рекламу Alipay.
У Alipay есть три технических аспекта + отдел кадров. Полное телефонное интервью.
Сторона Alipay
Вскоре после внутреннего толчка интервьюер связался со мной через WeChat, назначил встречу для интервью (19:30 на следующий день) и сказал: «Я очень расслаблен с этой стороны». Перед собеседованием я слышал, что собеседование с Ant Financial довольно сложное, хотя мой брат сказал, что это было легко, я был готов повеситься.
Телефон зазвонил ровно в 7:30. Интервьюер сказал, что он также окончил Beijing Post, что заставило меня немного расслабиться. Затем следующий вопрос заставил меня покрыться холодным потом.
- Представьте проект [лабораторный проект + личный проект]
- Понимание фронтенд-инжиниринга [процесс + спецификация + автоматизация и т.д.]
- Какие конфигурации были внесены в Webpack для ускорения [многие, пожалуйста, обратитесь ко мне за подробностями]эта статья】
- Введите кусок кода в babel, а затем введите результат в babel, результат тот же [я сказал, что он должен быть другим, но не сказал, почему]
- Какие свойства babel были настроены [пресеты, плагины, env и т. д.]
- Как публиковать и устанавливать плагины PicGo, и как обеспечить безопасность плагинов
- Как Electron реализует межпроцессное взаимодействие. Какие еще есть примеры межпроцессного взаимодействия [ipcMain и ipcRenderer, межпроцессное взаимодействие, такое как сокет и т. д., я мало что знаю]
- Как считать объем упаковки и скорость компиляции Electron, как оптимизировать или как это сделать [упаковывал через CI, но не через свою машину. Поэтому этому аспекту не уделялось особого внимания. Но не нужно использовать перевод Babel, чтобы сэкономить время]
- Почему стоит выбрать TypeScript для разработки, расскажите о своем понимании TS [статическая типизация, проверка синтаксиса и т. д.]
- Будет ли интерфейс TypeScript занимать место после компиляции, и как насчет перечисления? (Время выполнения отличается от времени разработки) [Первый ответ, последний неясен]
- Поговорите о том, что такое рендеринг на стороне сервера и как реализовать рендеринг на стороне сервера Vue [прямой HTML, рендеринг шаблона в VirtualDom через функцию рендеринга]
- Если Vue2 не реализует VirtualDOM, можно ли выполнить рендеринг на стороне сервера? [Да]
- Как реализовать алгоритм сравнения Vue [Расскажите мне о реализации, которую я видел раньше]
- [Вопрос по алгоритму] Найдите самую длинную общую подпоследовательность в двух последовательностях
- Кратко о принципе отзывчивости Vue [Object.defineProperty + Dep + Watcher]
- У тебя есть что спросить? 【Чем ты в основном занимаешься? Ответ: Муравейник, Муравьиная усадьба и т. д.]
Сложность одной стороны должна быть самой сложной со времен трех основных производителей. Я очень нервничал во время интервью, но сначала я очень нервничал, но после разговора об этом стало намного лучше. После собеседования интервьюер сказал подождать второй раз, чтобы связаться со мной. Второй интервьюер является руководителем своего отдела.
Alipay две стороны
Интервьюер добавил меня на второй день после одностороннего интервью и назначил встречу по телефону в 19:30 того же дня. (равнозначно одному собеседованию вчера, двум собеседованиям сегодня...) Заранее я узнал от старшего, который подталкивал меня, что интервьюер на втором собеседовании очень влиятельный человек, поэтому сложность должна быть выше, чем у интервьюера на первом. первое интервью. Услышав эту новость, я сглотнул слюну и почувствовал себя неловко.
Телефон зазвонил ровно в 7:30. Голос и тон интервьюера во время второго интервью дали мне ощущение, что сначала он был относительно низким, а потом более серьезным. И тут последовал вопрос "не подвела" очень сильно.
- Опыт фронтенда? [Я начал заниматься самообразованием в 15 лет, и вкратце это сказал]
- Познание архитектуры компьютера.
- Вы пережили эпоху jQuery? [Да]
- Как работает оптимизация Webpack [аналогично тому, что я сказал с одной стороны]
- На каком направлении основаны приведенные выше оптимизации [из кеша, сокращения путей поиска файлов, многопроцессорной оптимизации и т. д.]
- Есть ли в приведенной выше оптимизации количественные проблемы (например, просмотр того, сколько времени занимает каждый блок и т. д.), а затем целевые оптимизации [Используйте профиль, чтобы проверить время компиляции на этапе разработки, и сделайте простойплагинУвеличена скорость этапа разработки, но я не слишком ясно выразил принцип]
- Каков принцип vue-hot-reload [я только набрал обновление, сделанное websocket+jsonp, но на самом деле оно сложнее]
- В проекте vue, если я обновляю скрипт js, но страница не обновляется, как мне сделать так, чтобы vue-hot-reload обновил его [на самом деле нет]
- В проекте vue, если я обновляю js, но я не хочу обновлять страницу, а просто обновляю исполняемую часть моего js, как мне сделать обновление vue-hot-reload [на самом деле нет]
- Как шаблон vue преобразуется в функции рендеринга
- Продолжая предыдущий вопрос, одним только регулярным сопоставлением всех проблем не решить, что еще нужно, как это сделать и какие этапы нужны? (AST) [Говорил об этом, но я не знаю, как это органично связать]
- Каков уровень знаний, связанных с AST, и где вы ходили, чтобы узнать об этом [Не так много, связанные блоги, запускали несколько DEMO]
- С какими проблемами вы столкнулись при написании Electron (решенные или нерешенные) [реализация контекстного меню на уровне системы, система плагинов и т. д.]
- Как кодировать base64 [регулярный вопрос]
- Процесс от ввода адреса до отображения веб-страницы в браузере [Регулярный вопрос]
- Можно ли выполнить DNS-запрос с помощью TCP [да, но медленно]
- Процесс шифрования рукопожатия HTTPS [регулярный вопрос, на этот раз я не буду отвечать на все заголовки]
- Разница между setTimeout и асинхронным Promise, разница между браузером и Node [Разница между циклами событий, я сказал на конкретных примерах]
- Как использовать Jest для тестирования Koa и Vue
- Что привычнее, CSS или JS? 【JS】
- Далее, каковы свойства преобразования CSS [поворот, перевод и т. д.]
- Следующий вопрос: как реализовать div, который и панорамирует, и меняет цвет? Вы поняли матрицу преобразования? [Я не ответил, что преобразование может иметь несколько атрибутов. Я знаю матрицу, но не писал ее.]
- Принцип отзывчивости Vue и то, как реагирует отзывчивая система, если переменная не отображается (или не используется) на странице [render Watcher не будет собирать свои зависимости, если не получит эту переменную]
- Как компоненты родитель-потомок собирают зависимости отдельно или как компоненты родитель-потомок гарантируют, что родительские компоненты собирают только свои собственные зависимости, а дочерние компоненты собирают только свои собственные зависимости [У компонентов родитель-потомок есть свои собственные жизненные циклы]
- После того, как в Watcher будет создан новый Watcher, как убедиться, что сбор зависимостей не пойдет не так [Одновременно работает только один Watcher]
- Спросите о степени владения алгоритмами и структурами данных → Поговорим о быстрой сортировке [Расскажите о принципе быстрой сортировки]
- Откуда вы берете знания, которые не имеют ничего общего с интерфейсом, из [лабораторных проектов, одноклассников, самоделок, блогов и т. д.]
- Есть ли у вас что-нибудь, чтобы спросить меня? [Делают ли Ханчжоуский и Пекинский отделы этой группы то же самое, что они делают?]
По ощущениям после лица очень холодно, а глубина проблемы действительно глубокая. Несколько предыдущих интервью остались без ответа, но на этот раз второе лицоvue-hot-reload
Вопрос в принципе остался без ответа. Отзывы, которые интервьюер дал мне в конце, вероятно, были довольно хорошими, поэтому я с тревогой ждал трехстороннего уведомления.
алипай три стороны
Несколько дней спустя интервьюер с третьей стороны назначил мне встречу по телефону, и голос был по-прежнему очень дружелюбным. Тем не менее, проблема все еще очень сложная! Вопросов не так много, всего три вопроса, но первый меня расстроил:
- [Алгоритм + Интерфейс] При заданном количестве частиц каждая частица имеет 4 атрибута [координаты положения, радиус, скорость, ускорение]. Спросите, как нарисовать эти движущиеся частицы при следующих количествах и какая структура данных используется для их хранения.
- 20 [ДОМ, Холст]
- 500 [ДОМ, Холст]
- 20000 → 200w [Canvas, но недостаточно, потому что нет необходимости рендерить все точки 200w, нужно рендерить только видимую область. Таким образом, суть проблемы заключается в том, как найти круг, который появляется только в видимой области, что является проблемой структуры данных + алгоритма. 】
- Продолжая предыдущий вопрос, если DOM отрисовывает 500 частиц, используйте технологию VirtualDom Vue или React для ее реализации, и какое решение имеет более высокую производительность по сравнению с использованием нативных манипуляций с DOM (при условии экстремальной оптимизации). [Я сказал нативные операции и привел причины, почему VirtualDom не подходит для этого примера]
- Имея маркетинговую страницу в приложении, пользователи могут открывать приложение в автономном режиме. Если срок действия изображения на маркетинговой странице истек, его следует удалить, иначе это вызовет двусмысленность. Подскажите пожалуйста как от него избавиться. Если вы не можете использовать JS, что, если пользователь изменит время клиента? [Сложность проблемы усугубляется шаг за шагом, сначала задайте реализацию в обычном автономном режиме, а затем начните не использовать JS, и как это сделать, если время клиента неточно. Не все. 】
Это интервью длилось всего менее 45 минут, и интервьюер сказал, что оно не должно быть слишком длинным, иначе это повлияет на мою оценку. Я просто сказал, что недостаточно хорошо ответил на первый вопрос. Интервьюер сказал: «Дело не в том, что вы недостаточно хороши, а в том, что вы недостаточно хороши! На второй вопрос вы ответили очень хорошо, на третий вопрос немного не так, но на первый вы ответили слишком плохо».
Ха-ха, после прослушивания я подумал, что должно быть холодно~ Затем интервьюер, наконец, сказал: «HR свяжется с вами позже». А, так есть еще драма?
Опыт третий:Недостаточно просто знать причину и не знать причину, необходимо иметь более глубокое понимание принципа, чтобы лучше решить проблему.
Но в жизни всегда есть взлеты и падения.
Мини-программа WeChat
До и после интервью с Alipay со мной связалась HR-леди в WeChat и спросила, почему мне отказали в приеме на работу в Пекине. Я назвал причины, которые рассматривал ранее (в основном потому, что команда не оправдала ожиданий или что-то в этом роде). Я думал, что так было с WeChat. Тогда мисс HR не сдалась, она помогла мне связаться с фронтенд-отделом Гуанчжоуской мини-программы WeChat и спросила, могу ли я поехать туда на стажировку. Я обсудил это с сестрой, и можно поехать в Гуанчжоу на летнюю стажировку на два месяца. Я согласился. Тем не менее, небольшая программа должна быть добавлена . Отдел апплетов — это инструмент для разработчиков апплетов, думаю, он мне очень подходит, и бывает, что я тоже предпочитаю писать инструменты.
После многих перипетий, ожидая звонка от Alipay HR, я получил предложение апплета WeChat в течение двух дней.
Сторона программы WeChat Mini
Понедельник, полдень последней недели марта, я очень хорошо это помню. Начало в 3 часа. Интервьюер дал мне ссылку, чтобы закончить вопросы в течение часа, а затем он позвонит мне снова.
Всего за один час задано два вопроса. После ответа на два письменных вопроса интервьюер позвонил и задал несколько простых вопросов:
- Некоторые вопросы о письменных тестовых вопросах, таких как этот вопрос-указатель в первом вопросе, вопрос об мышлении во втором вопросе [Пройти]
- Процесс установления HTTPS-соединения [регулярный вопрос]
- Понимание фронтенд-кеширования [обычные вопросы, типы кешей, роли разных кешей и т.д.]
- Осведомленность о безопасности внешнего интерфейса [XSS, CSRF и т. д.]
- У вас есть вопросы? [Зачем использовать NW.js вместо Electron для инструмента разработчика апплета]
Интервьюер расспрашивал об этом около получаса и сказал, что лидер второй стороны свяжется со мной позже. Поскольку все письменные тестовые вопросы выполнены, я чувствую себя относительно хорошо. Я просто не знал, что вторая сторона пришла так быстро.
WeChat · Мини-программа «Две стороны»
Второй интервьюер позвонил примерно через полчаса, в основном глядя на меня.PicGoЭтот проект требует, вероятно, потому, что технологический стек (Электрон) и инструмент разработчика апплета (NW.js) относительно близки.
- Зачем выбирать Electron вместо реализации PicGo с веб-страницами [потому что его нужно настроить, подключить и использовать API Node.js и т. д.]
- Представляем PicGo
- Как PicGo реализует стратегию обновления, как реализовать автоматическое обновление, как реализовать горячее обновление на уровне кода и как выполнить горячее обновление, когда разрешения на чтение и запись файлов недостаточно [Стратегия обновления на самом деле очень проста, обновление стратегия, заданная позже интервьюером, — это то, что я не реализовал, но поговорил с ним об этой идее]
- Самая большая проблема, возникающая при написании PicGo [система плагинов]
- Как реализована система плагинов [читайте конфигурацию, загрузку, функции жизненного цикла и т.д.]
- Сталкивались ли вы с какими-либо проблемами, связанными с безопасностью, при написании PicGo?
- Сталкивались ли вы с какими-либо проблемами, связанными с производительностью, при написании PicGo? [Да, картинки на странице альбома часто зависают, как с этим бороться и т.д.]
- Есть вопросы? [Ничего больше]
Тон интервьюера был очень дружелюбным, и это был в основном переговорный тон при обсуждении со мной. В конце я также похвалил, что проект все еще достаточно завершен. (На самом деле, есть очень важная «тестовая» часть, которая не была написана...) Ключевым вопросом расследования является уже не функциональный вопрос, а такие вопросы, как стратегии безопасности и обновлений, за которые можно не платить слишком много. внимание при написании вещей. Так что, если это просто игрушечный проект, о нем можно и не говорить. К счастью, я уже наступал на многие ямы, так что с интервьюером общаться приятнее.
Опыт четвертый:Хороший (открытый) проект — огромный плюс. Смысл добра не в том, что звезд слишком много, а в том, чтобы больше об этом думать и практиковаться.Опыт пятый:Если у вас есть проект, который идет хорошо, не забудьте показать его интервьюеру и заставить его спросить о вашем проекте, чтобы сказать, с чем вы знакомы.
На следующий день мне позвонили из HR и сказали, что я прошел собеседование, и оффер был отправлен на третий день.
Поскольку группа «Мини-программы» является инструментом разработчика, она мне подходит, поэтому я принял предложение, и в это время я не получил звонка отдела кадров от Alipay. Скорость «захвата людей» WeChat очень высока.
Наконец
Звонок в отдел кадров Alipay поступил спустя долгое время. На данный момент я уже принял предложение апплета, поэтому летом не могу поехать в Alipay на стажировку. Я сказал, что, возможно, не смогу поехать на стажировку во время летних каникул, но мне все равно нужно вернуться в Пекин на осенний набор. Поэтому я спросил, могу ли я сохранить квалификацию для окончательного приема осеннего набора (как и в прошлом году). Отзыв от HR Alipay мне не обязательно, сложно сказать. Я думаю, что если я все равно не сохраню свою квалификацию, я просто вернусь в Пекин и снова встречусь.
Так что предложение, которое наконец было отправлено два дня назад, можно было только отвергнуть. В то же время, я могу поговорить о ситуации только с HR Toutiao.Я действительно смущен.Еще есть шанс для осенних рекрутов.
Вот и подошёл к концу мой весенний рекрутинг (летняя стажировка). На самом деле, я могу принять предложение Alipay о стажировке, а затем сразу превратить его в постоянную, но я подумал, что раз есть более предпочтительная возможность попробовать, то почему бы и нет. На самом деле, от первого отказа от предложения WeChat до последующего принятия предложения Mini Program, я думаю, что все это потому, что я хочу делать то, что мне нравится.
Окончательное резюме опыта шесть:Do what you love, love what you do.
Надеюсь, этот опыт поможет и вам.
приложение
Мой собственный основной проект с открытым исходным кодом
- PicGo 4328star
- hexo-theme-melody 634star
- vue-koa-demo 587star
- node-github-profile-summary 243star
а такжеPicGo-Groupс проект.
Проекты с открытым исходным кодом, в которых я участвую
- vue-cli[Ха-ха только что изменил документ]
-
amVim-for-VSCode[добавлено несколько
:
Поддержка команд] - vs-picgo[VSCode версия PicGo]
и Т. Д.