Как проходит твой осенний переезд?
Набор кампуса ByteDance на 2024 год идет полным ходом.Чтобы подбодрить студентов на технических позициях, «Поклонники технологий» сегодня специально пригласили технологии по семи направлениям: алгоритмы, большие данные , серверная часть, аудио и видео, интерфейсная часть, Android и iOS. Интервьюер , перед экзаменом нарисуйте для всех ключевые моменты.
Здесь не только ключевые знания и обзорные материалы, но и реальные вопросы на собеседовании .
Кроме того, вы также можете обратиться к навыкам подготовки к собеседованию , которые интервьюеры обобщили из многолетнего опыта проведения собеседований ~
Навыки программирования должны пройти:
● Освоить идеи решения общих алгоритмов (разделяй и властвуй, рекурсия, двойные указатели и т. д.).
● Просмотр структур данных.
● Знаком с вопросами по алгоритмам.
Базовые знания должны быть твердыми:
● Точно ответить на наиболее распространенные базовые теории в области машинного обучения: оптимизация, статистика, алгоритм стохастического градиентного спуска и т. д.
● Понять принципы классических алгоритмов машинного обучения: машины опорных векторов, деревья решений, повышение градиента, нейронные сети и т. д.
●Базовые знания для студентов по направлению НЛП: Структура трансформатора, формула QKV и т.д.
● Учебник Ли Ханга «Статистические методы обучения».
● Курс Ву Энды «Машинное обучение»:
https://www.deeplearning.ai/courses/machine-learning-specialization/
● Вы не скажете «нет» прямо. Интервьюер фокусируется на основных качествах и, как правило, проверяет кандидатов на основе их накопленных знаний. Они не потерпят неудачу, потому что кандидат не понимает конкретный пункт знаний.
● Пожалуйста, объясните свой проект четко от начала до конца, особенно процесс преодоления трудностей проекта.Не имеет значения, даже если проект потерпит неудачу.
● Если вы хотите поговорить о новейших технологиях, таких как SFT/RLHF для больших моделей, исходном коде langchain и т. д., выскажите свои самые глубокие мысли по этому поводу.
Основы больших данных:
● Основные понятия систем Hadoop, Spark и Flink.
● Опыт настройки задач.
● Имея фрагмент кода sql, изучите план выполнения и идеи оптимизации на стороне движка.
Инженерные возможности:
● Вопрос по SQL, надеюсь, вы сможете написать его правильно, аккуратно и кратко.
● Проблема с алгоритмом. Надеюсь, вы сможете оптимизировать AC.
«Полное руководство по Hadoop»
DDIA (Разработка приложений с интенсивным использованием данных)
Набор инструментов хранилища данных
LeetCode 100+ вопросов:
https://leetcode.cn/studyplan/top-100-liked/
● Пожалуйста, тщательно изучайте базовые знания. Не просто запоминайте понятия из книги. Важно показать свое понимание знаний.
● Когда на собеседовании спрашивают об инженерных алгоритмах, пожалуйста, полностью учитывайте границу Люпена.
● После того, как интервьюер задаст вопросы, вы можете задать дополнительные вопросы, понять контекст и продемонстрировать свою строгость.
● Если вы самостоятельно руководили какими-либо инновационными проектами, такими как инструменты семантического преобразования на стороне движка, инструменты управления данными, инструменты автоматической атрибуции данных и т. д., расскажите мне подробности и содержание этих проектов.
● Операционная система
● Многопоточность и т. д.
● Принципы промежуточного программного обеспечения/выбор компромисса/архитектура развертывания.
● Проектирование и понимание распределенных систем.
● Базовые знания о часто используемых языках программирования.
DDIA (Разработка приложений с интенсивным использованием данных)
«Введение в операционные системы»
● С 6824:
https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/
● Курс «Интервью по системному проектированию»:
https://www.youtube.com/@SystemDesignInterview
● Сравните сходства и различия в дизайне схожих функций и узнайте, почему и как идти на компромисс в зависимости от бизнес-сценариев.
● При изучении промежуточного программного обеспечения лучше всего вручную написать версию MVP, например RPC, MQ и т. д.
● Для очень небольшой проблемы вы можете рассказать о своем понимании, о том, какие решения доступны в отрасли и о том, как взвесить различные бизнес-сценарии.
● Если у вас был опыт длительной стажировки, расскажите нам, чем вы занимались.
Знания, связанные с видеокодеками:
● Принципы кодирования видео.
● В чем разница и эволюция 264/265?
● Как измерить качество кодирования
Знание и практический опыт работы с системами обработки видео:
● ФФмпег
● GStreamer
Принципы и знания, связанные с графическим процессором:
● Какова базовая структура графического процессора?
● Почему графический процессор подходит для параллельной обработки
● Какие аспекты обработки видео можно ускорить с помощью графического процессора?
Опыт работы в графическом изображении:
● OpenCV
● OpenGL
Знания и опыт в области потокового мультимедиа:
● RTMP
● ЗОЖ
«Полноугольное объяснение кодирования видео: AVS China, H.264/MPEG-4 PART10, HEVC, VP6, DIRAC, VC-1 [стандарт кодирования видео] »
《Освоение OpenCV》
● Официальная информация FFmpeg:
https://github.com/FFmpeg/FFmpeg
https://ffmpeg.org/ffmpeg.html
● Проект обработки мультимедиа с открытым исходным кодом ByteDance BabitMF:
https://github.com/BabitMF/bmf
● Постарайтесь максимально расслабиться. Возможность пойти на собеседование означает, что вы хорошо показали себя на предыдущих сессиях резюме и тестовых сессиях.
● На вопросы на собеседовании отвечайте как можно короче и по существу, избегайте бессвязности и, конечно же, не молчите.
● Вы можете задавать вопросы соответствующим образом. Вопросы также являются важной частью взаимодействия на собеседовании. Если вы сможете задать конструктивные и вдумчивые вопросы, интервьюер может посмотреть на вас по-другому.
● Никогда не притворяйтесь, что понимаете то, чего не понимаете вы, иначе интервьюер узнает.
Связанные с сетью:
● HTTP-кэширование.
●Три рукопожатия
● Помашите рукой четыре раза.
Связанные со структурой данных:
● Массив
● Хэш
● Метод обхода двоичного дерева.
Основы фронтенда:
● Блочная модель CSS, приоритет селектора.
● Синтаксис ES6.
● Цепочка прототипов
Вопросы по программированию:
● Вопросы по предварительному сценарию.
●Основные вопросы по алгоритмам, такие как быстрая сортировка, поиск в глубину, динамическое программирование и скользящие окна.
《JavaScript
Расширенное программирование》
«Полное руководство по CSS»
«Предложение указателя меча»
● Пожалуйста, будьте честны и ясны. Мы не требуем от кандидатов на набор в кампус владения знаниями в области интерфейса. Если вы не разбираетесь в интерфейсе, но имеете хорошие базовые знания компьютера, это тоже будет здорово.
● Представляя свой опыт работы над проектом, вы можете представить его с трех точек зрения: идеи дизайна, методы реализации и способы решения возникших проблем.
● Говоря о своем опыте реализации проекта, пожалуйста, выражайте свои мысли и выводы.
Базовые знания компьютера:
● Структура данных (поиск и вставка деревьев и графиков, умение грамотно писать bfs и dfs)
● Многопоточность (частые проблемы и решения многопоточности).
● Вопросы по алгоритму.
Основы Android:
● Механизм доставки сенсорных событий.
● Механизм обмена сообщениями Android.
● Пользовательский вид.
● Принципы использования общих компонентов (RecyclerView и т. д.).
Понимание бизнеса (только для студентов с опытом стажировки):
● Понимание бизнес-сценариев.
● Возможности анализа данных.
● «Руководство по разработке подключаемых модулей Android».
Хотя эта книга была опубликована ранее и версия Android отличается, вы можете опробовать ее на новой версии кода Android, основанной на его идеях.
● Набор данных с открытым исходным кодом Android на GitHub:
https://github.com/open-android/Android
В дополнение к множеству видеокурсов, в этой программе также есть множество проектов и вопросов для интервью, все в виде видео, что очень полно.
● Углубляйте свои базовые знания, будьте достаточно смелыми, чтобы пробовать новые знания и углубленно учиться.
● Развивайте свои навыки выражения и общения.Если вы сможете дальше думать и делать выводы под руководством интервьюера при обсуждении вопросов во время собеседования, интервьюер, скорее всего, оценит вас по достоинству.
● Ищите истину в фактах и осознавайте свои сильные и слабые стороны.
● Пожалуйста, укажите в резюме свой лучший проект, показав собственные идеи в проекте и процесс его реализации.
Поскольку большинство студентов, набранных в школу, специально не изучали разработку iOS, мы надеемся увидеть студентов с прочной технической базой :
● Компьютерные сетевые технологии.
● Операционная система
● Архитектура программного обеспечения, например архитектура C/S и B/S.
● Знание родных языков программирования, таких как C/C++.
Связанные с iOS (бонус):
● Понимать структуру графического пользовательского интерфейса, знать принципы работы и оптимизацию графического пользовательского интерфейса.
● Понимание веб-интерфейса/разработки iOS.
«Концепции операционной системы»
«Глубокое понимание
компьютерная система"
"компьютерная сеть:
Нисходящий подход"
«Букварь по C++».
● Независимо от того, есть ли у вас профессиональный опыт или нет, я надеюсь, что вы хорошо разбираетесь в основах программного обеспечения/Интернета/операционных систем и отвечаете на вопросы собеседования, основываясь на своем понимании.
● Я надеюсь, что, обладая определенными знаниями/навыками, вы также сможете продемонстрировать свою способность делать выводы из одного примера в другие случаи из инженерной практики. Просмотр руководств — это только отправная точка для обучения. Я надеюсь увидеть ваш накопленный опыт написания кода, помимо учебников и книг.
● Если вы столкнулись с проблемой, которую не можете понять в данный момент, я надеюсь, что вы сможете выразить свои мысли о проблеме, основываясь на своих накопленных знаниях и опыте, навыках понимания и анализа. Не нервничайте, думайте активно, думайте больше и осмеливайтесь говорить – это самое лучшее.
● Не забудьте выразить свои способности в коде. В разделе вопросов по коду/алгоритму, помимо описания ваших собственных идей, также переведите свои идеи на язык программирования, с которым вы знакомы.
Можете ли вы ответить на эти реальные вопросы на собеседовании?
Сейчас слишком поздно серьезно готовиться. Идет набор в кампус ByteDance 2024. Выбирайте любимое направление и приходите в ByteDance вдохновляться творчеством~