Personal background :  Wuhan University of Technology (211) Junior in Computer Department , Prepare for internship . I'm looking for a big guy to push inside , Beijing byte jump , It's said to be a very core group , highly demand .

3 month 17 Sunday afternoon   Tiktok group front-end Intern One, two, three sides  + HR About 3.5 hour .

This sutra is different from other sutras on Niuke , It's not just a few questions , It's a mixture of personal performance and interaction with the interviewer , Let everyone feel the whole process more completely . in addition , Big factory interview , you'll see , Interviewers like to ask questions from one point , So there will be a lot of nesting problems , I think this is the real interview scene , Instead of piling up problems one by one , It's the same as doing test papers .

Tiktok side (45min):

-  Introduce yourself

- VueRouter Can you explain the principle of ?( Two ways of routing )

-  about History Routing , How do you think routing is done on the server ?( Stupefied , The interviewer then explained a wave to me )

-  You said you saw it Vue Source code , Can you introduce it Vuex Of Mutation and Action
What's the difference ?(mutation Do synchronization ,action Generally used for asynchronous )

-  Why design Mutation and Action These two things ?( I didn't know that at first , It's about Redux, After communicating with the interviewer , Agreed Action
As a package of business logic, it is more suitable , Provides greater freedom )

-  On the computer network , I won't ask .( I :  laugh ...) Ask you something about the operating system , Can you talk about the disk seek algorithm ?( Think about it , Three things ,FIFO, Shortest priority , Elevator algorithm )

-  Can you tell me what is the disadvantage of the shortest seek time first ?( Stupefied , The interviewer patiently explained to me that it would cause task hunger in the distance )

-  Difference between process and thread ( Explained a wave , By the way Chrome Why is it from single process to multi process architecture )

-  Know which interprocess communications (IPC) The way ? ( Master-slave , Conversational , news - Mailbox mechanism , The Conduit , Shared memory ,Unix Domain Socket, And tell him I've seen it
Chromium IPC Source code of , In the kernel ChannelPosix It's changed to
ChannelMojo, So as to achieve the goal of thread safety , By the way, it explains thread safety , The interviewer expressed his appreciation , I've seen all this , It seems that you have learned a lot )

-  Can you talk about input URL What happened to page rendering ?( I've been asked many times ,DNS Analytical process ,HTML Lexical analysis and grammatical analysis ,CSS analysis ,
Composite layer , Compositing thread calls rasterizing thread pool , Communication process between browser processes after bitmap generation , The relationship between the cache of the graphics card and the display , The interviewer said yes )

-  Give you an algorithm problem , Container with the most water   I spent it 15
Minutes to finish , It turns out to be able to run through . Explain to him , He said what is the core idea of the algorithm ? Let me talk about the short board effect , He said it was greed . Didn't answer , I feel embarrassed , I've got an idea , It's possible that greed has been imperceptibly transferred into my mind , He laughed , Say yes , Very strong , I'll call the second interview later . It's a happy ending .

Tiktok two faces (1 Hours )

This interviewer is very cold , Don't show your face all the time , The tone is very dignified , May be silent 5 Second and ask you a very serious question .

-  Simple self introduction

- ES5 Write an array to de duplicate ( Just started writing a O(n^2) Temporal )

-  Can we optimize ? ( I asked if I could use the new space , He said yes , And then wrote a O(n) Temporal )

-  Can you distinguish numbers from strings ?( Think about it , In the end indexOf mode , The best didn't come up , I suddenly came up with it , At that time, I was a little confused )

-  Let's talk about it  HTTPS  encryption ( Symmetric encryption has AES + CHACHA20,  Grouping mode previously had  CBC,CTR,TLS1.3  There's only one left  GCM, Asymmetric encryption  RSA,ECDHE)

-  How to shake hands ?( There are three versions : tradition RSA,TLS1.2,TLS1.3, I'll tell you later TLS1.3 Of Session ID,Session
Ticket as well as PSK)

- HTTPS How to ensure whether the data is tampered ?( It's about the signing process )

-  What is the principle of signature ( Private key encryption , Public key decryption , Match hash summary )

-  What hash digest algorithms do you know (Sha256, Sha384)

-  Can you introduce your project ( Talk about the challenges of the next project , I said that : 1. How to solve closure trap .2. adopt EventLoop solve transform
Failure problem )

-  Can you tell me that you are right  EventLoop  Understanding of ( Macro task - Micro task -UI Rendering )

-  If you want to UI What do you do before rendering ?( I will start micro task execution )

- requestAnimationFrame stay EventLoop Where is the middle ?( Explain to him the monitor and browser's Vsync
signal , then rAF First of all , He seems dissatisfied , I asked him for advice , Explain to me actually rAF Will be in UI Previous Render )

-  What's the advantage of separating layers for animation ?( Told him the principle of stratification , By setting CSS Of will-change Can be converted to a layer , call GPU accelerate )

-  Will separate layers redraw ?( Meeting ) Now that we redraw , What are its benefits ?( Does not affect other layers )

-  What skills do you think are better ?(Vue Source code , browser , Server rendering )

-  You said you saw it Vue Source code of , Can you tell me computed Why can properties change when dependencies change , Change yourself ?( I said computed and watch
Common one Watcher class , stay computed There's a dep Collect dependencies , To update computed Effect of attribute , By the way computed
Watcher How to follow rendering Watcher relation , as well as Vue Used when collecting dependencies for the second time cleanupDeps Uninstall some useless dep)

-  What do you think are your strengths ?(1. Ability to think deeply 2. Good at sharing 3. Community influence )

-  You're right webpack How much do you know ?( I said it webpack
Some optimization methods of , Packaging time , precompile , cache , Reduce build objectives , About ten plug-ins , And then pack the volume ,JS and CSS Of Tree-Shaking How to configure )

-  You feel  CommonJS  Why not  Tree-Shaking ?

- ESModule Since it's compile time loading , Can it load at runtime , Have you thought about it ?( For a moment , say webpack Dynamic import The way )

-  Written loader and plugin Do you ?( To be honest , No, ) Do you know the difference between the two ?( before loader after plugin)

-  How do you plan for the future ?( Talk about my opinion on the fifth Engineer , My stage goal is to reach the lowest level five )

-  What do you think are your professional goals ?( Before becoming a field 20%)

-  What do you want to ask me ?( Ask about the possible technology stack , And tiktok's intention in open source. )

Tiktok three faces (1 Hours )

This little brother is kind , A lot of things we talk about have little to do with the technical details .

-  How do you reach the front end ? Why choose the front end ? Why not c++  R & D of underlying system , back-end , artificial intelligence ?( Say what I think , He agreed )

-  What kind of attitude do you have to school classes ?

-  What is the original intention of this project ? Is there any professional knowledge in it ?

-  If you want to generate different ID, How do you design this system ?( Talk to him about how to solve the hash conflict , He said he could )

-  I should have learned it at school C bar , You feel C What's good or bad about language design ?( The lower virtual base class is proposed , I can't remember what this thing is for , By the way, the question of multiple inheritance )

-  If you use JS To realize the function of multiple inheritance , How would you do it , Or in some other way ?( Let's talk about my own views on inheritance , And this design is not very good , And then I prefer the combination way )

-  Like you're your mother's son , It's also an employee of the company , Students at school , How do you design your example ?( Combine different role functions , Then instantiate )

-  If we want to classify the front-end knowledge system , How do you classify ?( Four branches of future front-end development )

-  If the basic knowledge needs to be subdivided , How do you divide ?( The trilogy of learning basic knowledge , First level application , Second level principle , Third level community building and contribution code , I think I'm between level two and level three )

- Do you want to make an open source tool in the past ?( Talk about my understanding of open source ) -  Are there any clubs in the school ?( Yes , An association at school , Learning with the group )

-  Do you have anything to ask me ?( Talk about the interviewer's own technical experience , The whole journey was quite pleasant )

HR  Noodles :(30min)

-  Where is the original intention of the project ?

-  How to realize the function of double speed playing songs ? Why do you think of this ?

-  The company's business may squeeze the time for its open source sharing , Would you mind ?

-  Some of the company's code cannot be open source , Conflict with your own open source sharing , How about you? ?

-  Why don't you go to practice early ? Now I'm looking for an internship ?

-  Look at your GPA , It's still pretty forward , How do you balance school studies with technical studies ?

-  What do you think of other people's comments on your blog ?

-  Do you have any community experience in school ?

-  What hobbies do you usually have ?

-  What's the relationship with my roommate ?

Overall feeling

I had an interview all afternoon , I've been talking about the front three for a long time , reach HR The voice is hoarse when I face it , But byte's interview experience is very good , Very efficient . I feel pretty good about myself , Mainly because of two points :


The questions the interviewer asks are all guiding , Instead of cramming a specific knowledge point for you to fill in the blank , Usually a very broad topic , Let you play , So it gives me a lot of room to play , But it also has something to do with your preparation .

The interviewer tries to ask you more in-depth questions , Until I ask you , This is a good thing , Because his level is generally higher than yours , Can ask the depth , It shows that he attaches great importance to you .

As expected ,3.20 night offer Come down .

last , Share with you my map of interview knowledge points :

©2019-2020 Toolsou All rights reserved,
JS How to operate java Realize the function of grabbing red packets C Language programming to find a student's grade The United Nations 《 Glory of Kings 》 Please go to the studio : To save the earth Dialogue between apple and Nissan suspended ,Apple Car How's it going ?CSS architecture design China's longest high speed rail officially opened ! The fastest way to finish the race 30.5 hour First knowledge MySQL Comprehensive review ( dried food )2021 year 1 Monthly programmer salary statistics , average 14915 element How to use it quickly html and css Write static page