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 ?
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 :