Now it's my turn as a 23
-year-old to start looking for a real internship, but this year's campus recruitment situation is really bad. I'll give a detailed summary of this year's internship later. It was quite interesting if I sent ByteDance. Originally, I applied for the interactive department of ByteDance's TikTok, and then I just applied, and the interactive AI algorithm department said they had my resume and asked me to consider it, but I really don't know much about that area, so I still wanted to go to the interactive department. Then a recruiter contacted me through WeChat, I thought it was for the interactive department, but she said she had retrieved my resume for the infrastructure department. It was unexpected, it seemed like she intercepted me. The HR also is a 23
-year-old intern. Following the principle of interns not making it difficult for other interns, I joined the infrastructure department's interview, and they even exempted me from a written exam. So, effectively, I applied to the ByteDance infrastructure department on 2022.03.01
.
This was my first interview of the year, and I was a bit nervous. I couldn't express myself clearly and my thoughts were a bit muddled. Besides, I don't even pronounce English words well. Thanks to the interviewer for being understanding. The interview lasted about 57 minutes
and the questions were:
- Attributes and various functions of the
position
property and its application scenarios. - Different solutions for hiding elements and their respective characteristics.
- Configuration properties of
flex
layout and its main application. - How to use
flex
to achieve a vertically centered layout. - Basic data types in
Js
. - How to determine
Js
data types, and what is the result oftypeof null
. - The use and difference between
typeof
andinstanceof
. - New features in
ES6
. - Practical applications of the
Symbol
type. - Characteristics of
class
. - What does the
new
operator do. - Binding of
this
, differences between regular functions and constructor functions. - Reasons for using
vue
. - Lifecycle and various features of
vue
. - How is two-way data binding implemented in
vue
. - Advantages of
Proxy
. - Disadvantages and shortcomings of
uniapp
. - Experience with front-end page performance optimization.
- Optimization solutions for long lists.
- Packaging optimization solutions in
webpack
, basic principles oftree-shaking
. - Strong caching and conditional caching.
- Throttling implementation, immediate and non-immediate throttling.
- Handwritten implementation of
fetch
request retry based onPromise
, and output caching when all attempts fail. - Longest substring without repeating characters.
During the feedback stage, I asked about the specific business of the department and my performance in the interview. Generally, it was okay.
The day after the first round, I was scheduled for the second round, showing that ByteDance is efficient. The second round was tough. Whenever I was asked a question, I either didn't know the answer or wasn't familiar with the topic. What could I do? The interview lasted about 34 minutes
and the questions included:
- Compatibility handling solutions for front-end, both from the
CSS
andJs
perspectives. - Handling compatibility in
CSS
andJs
at the engineering level. - How
PostCSS
handlesCSS
compatibility and understanding ofPostCSS
plugins. - The purpose of
Autoprefixer
. - Using
CSS
to switch themes,CSS
variables,CSS
referencing, and top-levelClassName
. - Configuration in
webpack
and specific tasks performed. - How
webpack
plugins are implemented and their specific inputs and outputs. - Experience with
vite
, its advantages, and why it's fast. - Understanding of
Next.js
and its main purpose. - Differences between
http
andhttps
, ports, and a brief explanation ofhttps
encryption implementation. - Main shortcomings of
https
. - Content related to front-end testing, unit testing,
DOM
testing, etc. - Understanding of micro frontends and their ability to resolve pain points.
- Implementation of
promisify
. - Writing a function for flattening arrays on the prototype chain, using recursion and
reduce
solutions.
During the feedback session, I was asked about whether my interests lie in ToB
or ToD
business and the interviewer kindly explained many things. Initially, I thought the interview would last about 50 minutes
without issues, but to my surprise, it ended in just 30 minutes
. Can't really help it when you don't know the answer to a question or aren't familiar with a topic, right? In the end, we also discussed my internship experience at Tencent, which was really helpful as I was able to somewhat participate in the conversation. Lastly, the interviewer comforted me, and I almost believed him. That was quite comforting, wasn't it? Haha.
The same day I completed the second round, I was scheduled for the third round. The efficiency is really high, considering that I didn't perform well in the second round. They must have really liked me! This round should be with the department head, and we just chatted without asking many questions. The third round lasted about 50 minutes
and the questions were:
- What are the highlights of your skills or experiences?
- Operating mini-programs, script plugins and their operations.
- Basic data types in
Js
. - Methods of
Array
. - Related processes of
CDN
. - Issues related to network delays encountered while developing mini-programs.
- What have you learned the most during the internship period?
- How did you set up your own domain name and server?
- What games do you usually play?
- Do you invest in stocks? Do you understand the current situation of the Internet?
- Recursive and iterative implementations of climbing stairs.
During the feedback stage, I asked which group I would be assigned to, the specific business I would be involved in, and their advice for me. I guess I'm quite a talkative person. It's impressive how we managed to extend the interview to 50 minutes
, and the interviewer was also quite chatty. This is impressive.
I originally thought the interview was scheduled for Wednesday at 3:00 PM
, but unexpectedly, they called me in the evening to ask if I could interview right away, which means the HR interview took place on 2022.03.14
at 6:41 PM
, lasting for about 15 minutes
. The questions included:
- What did you learn during your internship at Tencent last year?
- Familiarity with our department, especially in terms of business.
- Why did you only intern at Tencent for two months?
- When did you start learning front-end development?
- How do you usually study?
- Why do you want to go to Shanghai/Hangzhou?
- Why not pursue backend development?
- Why did you choose our department?
- Are you interviewing with other departments? What is your preference?
- Questions regarding work hours and when the offer would be issued.
This sudden interview caught me off guard. Their efficiency is really something else, leaving me a bit bewildered. Also, they mentioned they would be sending the offer soon.
The efficiency is really impressive. After the interview on 2022.03.14
, I received the official confirmation on 2022.03.16
, through WeChat chat notification, and a few minutes later, I received the official offer. I've never seen such a quick process before, and within just half a month, I had the offer in my hands. If it weren't for recent delays due to nucleic acid testing, the progress would have been even faster.