The autumn campus recruitment for the 23rd
batch has officially started. This year's recruitment is almost nonexistent in terms of hiring, making it extremely difficult and challenging. The situation is quite tough as there are only 80
headcounts for front-end positions in Baidu's Beijing office, leaving it to fate. I submitted my resume in the evening around 9:00 PM
on July 14, 2022
, and Hu Ge directly provided a referral to Baidu's internal network drive.
The first interview of the autumn recruitment was quite nerve-wracking. I was so nervous that I almost couldn't speak properly, and my thoughts were a bit unclear. Mainly because I have been busy with my internship and didn't have time to focus on algorithmic problem-solving. With only 80
headcounts available this autumn, it's practically impossible to compete. The interview was scheduled for 16:00
on July 25, 2021
, with a duration of 45 minutes
.
- Have you encountered any difficulties in these recent projects? How did you resolve them?
- Why did you choose
Slate
overQuill
as the rich text editor? - Comparison of features and drawbacks between the rich text editors
Slate
andQuill
. - Solutions for mini-program development and cross-platform frameworks.
- Common methods for cross-origin resource sharing.
- Advantages and disadvantages of
JSONP
compared toCORS
. - Explanation of preflight requests and the differences between simple and complex requests.
- How to refresh the view when data changes.
- Will changing the
length
of an array trigger view changes inVue
? - Why doesn't
Vue
implement data change monitoring for arrays? - How to monitor arrays in
Vue
. - Purpose of the
set
method inVue
. - Various values for
position
and how to use them. - Positioning of child elements with
absolute
when the parent elementdiv
isabsolute
. - Understanding and resolving margin collapse issues.
- Common data types in
JavaScript
, and examples of primitive data types. - Use cases of
Symbol
and the difference betweenSymbol
andSymbol.for
. - Other reference data types besides
Object
. - Understanding of micro frontends and familiarity with related frameworks.
- Understanding of shallow and deep copying and the approach to design a deep copy.
- Limitations of using
JSON.stringify
andJSON.parse
for deep copying. - Knowledge of
301
,405
, and413
HTTP status codes. - Whether both negotiated caching and strong caching will trigger
301
redirects. - Preference for strong caching or negotiated caching for
JavaScript
resources. - Fields for negotiated caching and strong caching.
- Advantages and disadvantages of
last-modified
andetag
. - Explanation of
CDN
and the meaning of origin fetch. - Difference between
webpack
loaders and plugins. - Difference between
required
andimport
statements. - Brief explanation of
tree-shaking
in relation torequired
andimport
. Vue
'sdiff
algorithm.- The necessity of virtual
DOM
inVue
.
In the feedback session, I asked the interviewer about the business they are involved in and where I need to improve personally. The business is built around Baidu's network drive and includes various derivative products like mini-programs. Personally, I need to deepen my technical understanding as I have a general understanding but lack depth. The interviewer was quite amicable, but it felt awkward without them turning on the camera.
The second interview was surprisingly prompt. Shortly after completing the first interview, I received a call to schedule the second interview. It was supposed to be within three days, but the second interview was arranged much quicker. Unfortunately, I couldn't solve the last easy
problem, and I felt quite embarrassed about my lack of solid foundational knowledge. The first interviewer scheduled the session for 19:00
on July 27, 2021
, for a duration of 30 minutes
. It seems that the first interviewer had some urgent matters and was replaced by another interviewer, who made me wait for ten minutes.
- Reasons for studying front-end development.
- Approach to learning front-end development on a regular basis.
- How was your previous internship experience?
- What were your academic achievements during your graduate studies?
- Research focus during your graduate studies and any significant accomplishments.
- How were your academic achievements during your undergraduate studies?
- A comparison of features and drawbacks between the rich text editors
Slate
andQuill
. - Description of the final version of the rich text editor.
- Brief introduction of recent projects.
- Principles behind mini-program cross-platform functionality.
- Why did you choose to develop mini-programs instead of
H5
? - Familiarity with
NodeJS
and understanding of backend languages. - Preorder traversal of a binary tree.
During the feedback session, I inquired about areas for improvement, and the interviewer provided several suggestions, emphasizing the need to strengthen my fundamentals (especially as I struggled with the easy
question) and deepen my technical knowledge. The interviewer's advice was indeed reasonable, and my confusion over the easy
question was a bit embarrassing. Interestingly, the second interviewer also chose not to turn on the camera, which seemed to be a tradition within their team.
On the evening of July 28, 2021
, I discussed with Hu Ge and learned that they had already sent out the result. To be honest, I had mentally prepared myself for this outcome quite early on, so I didn't feel any strong emotions. Upon analysis, it's clear that the major subjective reason was my poor performance on the easy
question, which was entirely within my control. However, during the second interview, the interviewer initially made me wait and then switched to a different interviewer, even asking for my resume midway through the interview. I also admit that I failed to showcase my strengths during the interview, but the interviewer also didn't provide me with enough opportunities and time to do so. Overall, there were both subjective and objective factors influencing the outcome. I'll need to continue striving, especially considering how challenging this year is.