I almost had no interviews during the autumn admissions, so I am very grateful to any company that gave me the opportunity to interview. It's been tough. I submitted my resume on the afternoon of 2022.07.30
, directly through the official website, without any referral code. Then the written test was on 2022.08.07 19:00
.
After almost a month of waiting, I finally got an interview opportunity. I scheduled the interview for around 2022.08.24 16:30
and the interview took place on 2022.08.27 17:30
. The interview was scheduled for ten hours in the meeting room, so it seems that multiple interviews were conducted simultaneously. The interview was conducted by three experts, with two of them being the main interviewers, and the interview lasted for 44 minutes
.
- Some methods of
Array
and examples of their use. - How to search for a value in an array and the methods to do so.
- Handling cross-origin requests.
- What are macro tasks and micro tasks in
JavaScript
. - Characteristics of arrow functions and why they don't have their own
this
andarguments
. - The specific process of compiling arrow functions from
ES6
toES5
. - Methods that can trigger micro tasks.
- How
Vue
andReact
handle micro tasks differently. - Comparison of the advantages and disadvantages of
JSONP
andCORS
, and their use cases. - Differentiating simple requests from complex requests.
- Multi-thread processing solutions for
Web worker
and the scenarios whereworker
is required. - How does
postMessage
inWeb worker
facilitate communication. - How is
XSS
executed, and its prevention, as well as browserCSP
policy. - How is
CSRF
carried out, and its prevention methods. - How does
Monorepo
improve efficiency. - The selection of solutions for
Monorepo
and why not to useyarn
. - When did you start writing your blog and why.
- Optimization work on the pipeline.
- Elaborating on the main workflow of the pipeline.
- What are your strengths in the front-end field.
- Static checking in
TS
, and preventing the submission of non-standard code. - Difference between
interface
andtype
. - How to obtain types in
TS
, key terms, and generics. - Narrate the inference of
TS
{a:1, b:2} -> Record<"a", 1> | Record<"b", 2>
. - How to perform testing, unit testing, and
E2E
testing. - How to
Mock
time and asynchronous requests. - Transition from
Class
components toHooks
components. - Comparison between
React Hooks
andReact Class
components. - Advantages of
React Hooks
and their separation. - Dealing with the closure issue of
React Hooks
. - How to handle an excessive number of states in
React Hooks
. - Comparison of
Redux
andMobx
and the problems they solve. - Encapsulation, polymorphism, and inheritance are relatively weak in which area of
Js
. - How to achieve function overloading in
Js
. - Are private variables in
Js
andprivate
inTS
effective at runtime?
After the technical questions, I asked the two interviewers about the business they are involved in and areas I need to improve. It's the same old story. The business areas include e-commerce, official website, and low-code platform, and DJI does have a wide range of businesses. As for my personal improvement, it is essential to expand my technical expertise based on business requirements, such as technology selection and similar aspects. Both of these interviewers turned on their cameras and the interview was conducted in a conversational and pleasant manner, providing a very good interview experience.
The second interview was scheduled for around 2022.08.29 15:40
, and the interview time was set for 2022.09.01 17:45
. The interview time was quite extreme. This time, there were still four experts, but only one of them talked to me, and the interview lasted only 28 minutes
. It seems that I didn't pass, as even the second interviewer wasn't interested in talking to me.
- Which
Github
projects are currently being maintained? - What are the challenges encountered while working on these projects?
- Recent problems encountered and their solutions.
- There are many similar products in the market, so why create a resume editor from scratch?
- The difficulties encountered while developing this resume editor.
- The recent challenges faced at Byte and how the work was divided.
- Primary responsibilities at Byte.
- How to address a situation where a colleague mishandles the work previously assigned to you.
- Research on unit testing strategies at Tencent.
- The rationale behind conducting unit testing and how you promoted this initiative.
- The percentage of completed unit testing.
- Any areas for improvement in your previous work?
- What books have you been reading recently?
- Why choose to read the book on
JavaScript
frameworks? - What did you learn from this book?
- Why choose to read about
jQuery
instead of exploring new frameworks? - Do you have knowledge of new front-end technologies?
- The problems solved by the
TailwindCSS
framework. - How to apply this framework.
This time, the conversation didn't follow a rigid format. We discussed various topics, as in a previous interview, I was asked about my opinions on new front-end technologies. In turn, I asked for the interviewers' thoughts on the future development direction of front-end technologies. Although one of the interviewers shared a lot, my internet suddenly lagged, and I missed out on much of the discussion. I only caught the part about cross-platform development and the future development of Node
, unfortunately, that's when the connection dropped.
Since previous interviews involved HR
representatives, there wasn't a separate HR
interview. Essentially, the recent phone call was more of a courtesy call, which came around 2022.10.09 16:00
, where the HR
wanted to know about my current offer
situation and added me on WeChat. After that, I continued to wait for the next update.
Around 2022.09.28 12:00
, I received an email, stating that I had entered the comprehensive evaluation phase, indicating that I successfully passed all the interviews and entered the final selection phase. Subsequently, I had the aforementioned HR
interview and added the interviewer on WeChat. Unfortunately, around 2022.10.11 15:30
, I was informed that although I passed all interview stages for the position, my name was not on the offer
list due to the limited recruitment quota. They asked if I was willing to consider a position on the client-side. I agreed to the transfer, but sadly, around 2022.11.01 19:30
, I received a thank-you note from DJI. This time, it's a definitive end. I hope to have another opportunity to join DJI in the future.