Background: Ordinary undergraduate course (2), for the record of formal schooling is not very good, I chose the sea in for resume, have about more than 100 large and small companies, but received the interview and written test is only more than 20, the boss message is 1/5 of the basic recovery rate, but I want to say is, denied that’s ok, the shotgun to go, there is always a giant can give a chance.

I the front end of the line (for reference only, everyone is not the same as the suitable method) contact front-end sophomore, junior started systemic study under the front end, learned about 3 months or so (b stand pink base + Wang Yuanhong vue), and then began to do some front projects in the competition, and roommate do website such as PC, in the junior year summer vacation, Found the first internship work associated with the front end, 7 months (responsible for the background, small procedures, H5 activities page), years ago as an internship, started for delivery and interview preparation in advance, in the interview process, I suggest that we will review the knowledge points summarized as mind mapping, such as process on, so it is quite convenient, , of course, writing blogs can be oh, recommend in your spare time to build your own personal blog, you can refer to vuepress blog style, because the interview was asked several times if there is a personal blog, if you have a personal blog about recommendations in the first column information tagging (pluses, if only a few articles will not put up).

Delivery channels can be pushed not to cast, especially the official website, most of their resumes have sunk to the bottom.

The earlier the better, it is suggested in early February, when some enterprises open the advance batch, you can pay attention to the niuke or the official website of the enterprise. The whole month of March is a key opportunity, most of the big factories in March even in advance of the approval of the recruitment (I am good future in advance of the interview, the next day after the interview will be filled), so we should send resume in advance!

Interviewing is a process of luck, as is applying for a job and applying for a resume, so you must be in a good mood! 1. A good self-introduction can lead the interviewer to the following interview questions, so be sure to simplify the language, 2-3 minutes. 2. Answer relevant knowledge points, be sure to do their own extension of knowledge, I generally follow the concept + application + principle of three steps. 3 remember, for their more familiar knowledge points, once asked to do their own knowledge extension. 4. Description of the project: Star principle description, from the development environment of the project to the project purpose → responsible for the module → difficulties → summarize the harvest, can be based on a demand – knowledge harvest, such as: search module -> anti-shaking throttling optimization; Such as the project needs to pull out of the knowledge point to induce the interviewer to ask questions, in answering questions is the same, to learn to pull the interviewer to their familiar field!

About the study (the landlord probably studied about 1 year time, including the internship project time) often test knowledge points cow guest danniu already had some summary, I will not repeat again to give you some suggestions, focus on the foundation above

  1. HTML+CSS+JS+ES6 These are the core (focus), JS see “the Little Red Book” (must see! And “JavaScript you don’t know” (top middle), ES6 read Ruan Yifeng’s blog completely OK (must see!!)
  2. Secondly, it needs the operating system of the eight-part book network, etc., followed by the relevant knowledge of the browser and front-end security, etc. (memory)
  3. And then data structure and algorithm + sorting algorithm.
  4. Use vUE/React to develop projects, and then start to understand some of the underlying principles (plus). Vue source code community
  5. Then it is webpack and Node.js learning, Webpack performance optimization and some basic principles
  6. Furthermore, it is necessary to have a certain understanding of the automatic deployment and engineering system of the whole front-end and performance optimization
  7. If you have enough time, you can familiarize yourself with wechat applets, uni-App and Taro
  8. Hand rip code link here 32 handwriting is almost 32 handwriting high frequency!!

After studying, we will start to brush the interview questions!

Here recommend a summary of the interview nuggets booklet, not bad oh front-end interview way (can private chat I give information oh)

The above is only my personal advice, we can refer to the reference, the order can be combined with the actual situation of the individual

Here are my personal tips

CMB Yunchuang 2.6 Wuhan

This belongs to the previous one, but also the first one before the spring recruitment bar written test 40min + 30min + HR face 1. 2. Project difficulties (background + small program + H5 activity page) 3. Technical stack (mainly VUE, secondary encapsulation based on Element, GLOBAL ENCAPSULATION of API based on AXIOS, and some utils tool functions and configurations) Waterfall flow implementation several ways, do not know how to achieve box height, because the small program project mentioned (a: CSS3 implementation layout, JS get box height calculation to that column to add continue to add box, will encounter performance problems, need to box placeholder pictures, and carry out preloading processing optimization load performance) 3. How to learn front end (bala bala) 4. Horizontal vertical center (answer, 4 kinds) 5. Three column layout, adaptive in the middle 6. Js inheritance and the advantages and disadvantages of each (6, blah blah blah) 7. Array judgment (5 kinds, Bharara) 8. Cross-domain (nginx, CORS, JSONP, WebSocket, etc.) 9. Browser cache strategy (strong cache + negotiated cache, barra barra) 10. Vue bidirectional binding principle (VUE 2.0 implementation, Vue 3.0 implementation, advantages and disadvantages, proxy implementation, Barra Barra) 11 Front-end routing Principles (Based on Hash, History, blah blah) 12. How does a route listen for URL changes without requesting the server (hash based on the Hashchange event, push state and replace State implementation of history opportunity H5, Barabara) because payroll has been rejected

Horizon (already OC) front side Nanjing (1H) 3.2

Writing test (20min)

  • The first question
function test(a) {
	a = 3
}
var a = 4
test(a)
console.log(a)
// 4 variable promotion
Copy the code
  • Question 2: What is the difference between the second output and the third output
var o = {
	user:'aaa'.fn:function() {
		console.log(this.user);
	}
}
o.fn()
window.o.fn()
var c = o.fn
c()
// aaa, undefined, undefined this points to the problem
Copy the code
  • The third question

Hand write a bubble sort

  • The fourth question

Wrap a setTimeout with a Promise

  • The fifth problem

Handwriting flattening processing

Interview (40 minutes)

  1. Self-introduction and project difficulties (10min)
  2. The project talks about deep copy, do you know how to implement it (blah blah blah), then you can write it by hand (wrote a version of map to solve circular reference)
  3. What do you know more about JS? (Prototype chain, promise async, await, etc.)
  4. Talk about the prototype chain (from prototype, Proto, etc)
  5. Function.__proto__, object.__proto__, why (function.prototype)
  6. How do you implement promise resolve and some of its methods (state changes, loop calls)?
  7. Resolve (1) (return a promise object with value 1)
  8. In addition, the implementation process of async and await (async is the syntactic sugar of the generator, and the internal encapsulation of the generator is the thunk function, and await is the syntactic sugar of the. Then method in promise. Internally, it returns a Promise object and then defines a step method to call itself.)
  9. TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP
  10. There are several types of header fields, in bytes
  11. Do you have a lot of offers? (ah? Oh, I’ll tell you one or two anyway. A: Two.)

Second face (1H) 3.4

  • To introduce myself
  • How vue differs from JS, and jquery (Vue core, componentization, virtual DOM and Diff algorithms, data-driven and responsive…..)
  • You can talk about diff algorithm (patch, patchVnoe, updateChildren, old and new node comparison…. When calling updateChildren (), the sameVnode method is used to compare the first pointer to the last pointer. I talked for a long time. It was estimated to be 10 minutes.)
  • Virtual DOM you talked about rearrangement, you talk about it (browser rendering mechanism…..)
  • Will changing width and height trigger a rearrangement? (…).
  • Destruct assignment, extend operators (iterator interface, array object structure…..) ; What is a copy of an extended operator?
  • Look at the code output
const a = {m:1.n:2.j: {t:3}}const b = {n:3.j: {s:4}}
console.log({... a,... b});//{m:1,n:3,j:{s:4}}
Copy the code
function test() {
	a = 3 // var a = 3
}
var a = 4
test()
console.log(a) 
// if a = 3, output 3
Var a = 3, output 4
Copy the code
  • Are you familiar with higher order functions? (Barabala, writing a Cremation by hand)
  • Bubbling mechanism (event capture, bubbling series)
  • Anti-shake and throttling (handwritten anti-shake)
  • Image lazy loading principle (through the SRC attribute in IMG, the data is sliced according to the visual region)
  • Browser storage mechanism, localstorage and sessionStorage difference, cookie, session, token, token implementation process principle, by the way, the project used token is what, bala Bala, series of talks
  • How to implement single sign-on (SSO) with tokens (store tokens in localStorage, then use cross-domain solution to share tokens with subdomain names) (10min)
  • Soft power: how to see the generation of overtime work, you and the leadership of the program conflict how to solve (negotiate bai…)

Three sides (30min) 3.10

This is the CTO side, mainly talking about the projects written on the resume, the overall process of background projects, small program projects and so on, and then talking about the competition projects done in school. Then the interviewer introduced the overall scale of the company, the main business of the front end is to B, and then talked about some ideal things.

Hr 30 min

Talk about the company’s growth, future plans, your greatest achievements during your internship or campus, etc

Hangzhou Dibar front end (1H) 3.2

  1. Self-introduction and project difficulties (mainly the background business) (15min)
  2. Diff algorithm (patch process, DIFF comparison process, while loop comparison between beginning and end Pointers, key value and why index can not be used as key) (10min)
  3. How do you learn the source code of this content (official documentation, blog, video explanation, summary brain map)
  4. Scope chains (execution context, closures, private variables…)
  5. Prototype chain, JS inheritance, this problem, new procedure, what new function returns (prototype, implicit prototype, inheritance 5, new 4 steps, return fun itself)
  6. How did you learn vUE? What level did you learn? (Project -> source code, and a series of issues from reactive to Nextick to diff)
  7. Pushstate and ReplacESTATE based on hashchange and H5. , the implementation process…)
  8. Vuex function, vuex and localstorage difference, essential difference, driver is not the same (
  9. One is in-memory storage, one is browser persistent storage,
  10. Vuex is used to share data between components, while Local is more used to transfer data between pages.
  11. The interviewer adds: The two are data-driven.
  12. Follow-up: Anything else?
  13. Interviewer: You are the interviewer and I am the interviewer? hhhhh)
  14. The idea of vuEX implementation, principle level (explained a little, incomplete answer)
  15. Soft power, how to balance the project needs more and less, but the time cycle is the same (more time, fish (learn technology stack))
  16. ask

Second-face CTO (20min) 3.8

  1. Talk about projects, company projects + competition projects
  2. Talk about difficulties and achievements in a project, or frustration at your company
  3. Vue life cycle
  4. Vue responsive principle
  5. Webpack performance optimization
  6. Soft power and so on

Hr side

Talk about the basics and ask about the offer you have

Ctrip front end (40min) 3.8

  1. To introduce myself
  2. We talked about the project and basically asked about the project difficulties and responsible modules written on the resume
  3. The first embedded background system introduces the business process of the whole project
  4. Mainly asked the small program aspects of the project, answered the search module in the anti-shake processing optimization; Home card waterfall flow implementation principle, waterfall flow cards using preloading to solve the unequal height box filling too slow and lazy picture loading optimization
  5. You wrote the video component TRTC, introduced it, and answered the problem of incompatible TRTC when using UNI-App to develop wechat applets, adopted mixed development and introduced third-party parsing codes to solve the compatibility problem. As well as wechat applet side, the problem of automatic playing cache is too large in the video list. The problem is solved by cutting the video into a picture and changing it into a picture list by clicking the picture to switch the video playing.
  6. We have react technology stack. You are mainly in the project of VUE, so could you please introduce VUE to me? (Mainly talking about the implementation of vUE’s responsive principle 2.0 and 3.0, as well as its advantages and disadvantages, the implementation process of virtual DOM and DIff algorithm, and my understanding of VUE?)
  7. Let, const, destruct assignment, Iterator interface, set and map, Promise, Generator, async and await, and how to implement them
  8. A business scenario algorithm problem
An array of a [{data: string}], deposit365Days of date a B array [{data:string,price:string}] Store special days and price requirements: use0(n) time complexity, the implementation of an array, including the date of the year, at the same time there is a special day price display, there is no special day price displayThe '-'
Copy the code

The interviewer was very kind and suggested that a two-layer loop could be implemented, but it was too inefficient to use. How would you use a one-layer loop to implement it? Write some pseudo-code

for ( let i =0 ; i < b.length; i++) {
	let index // Store the position of the current b array in the A array
	index = b[i][data] - a[0][data] // Since the array a dates are incremented, subtract to get index
	a[index][price] = b[i][price] // Replace with index
	a[i][price] = The '-'
	                                                                                                                                                                   
}
Copy the code

Then the interviewer said that the dual-pointer method could be used to optimize, and then he gave me some ideas and asked me to go down and achieve 9 by myself. I’ve tried, but I’ve been in the pool…

Front end (45min) 3.13

Written test taken on No. 3.4 (20 single choice 5 indefinite items +2 algorithms)

  1. To introduce myself
  2. Usually how to learn the front end, is how a route
  3. (I have asked about the background, small program and PC web page of the three projects written in the resume, as well as the difficulties and solving process of the project)
  4. You introduce DOM (some basic APIS, leading to the virtual DOM and diff algorithm, by the way, talk about the process of diFF algorithm and VUE diFF processing, and by the way, talk about vUE series of principles, series, response, etc.)
  5. Did you take notes on what you said? (Blog and brain map)
  6. How to collaborate with other projects (GitLab, one branch per person, eventually merged into DEV)
  7. Does your front end belong to automated deployment? Do you understand the process of automated front-end deployment?
  8. ask

The second interview process is too slow

Futu side (80min) 3.16

Written test taken on No. 3.5 (20 single choice 5 indefinite items +2 algorithms)

  1. To introduce myself
  2. Introduce the project (background + small program project written on the resume, I have asked about the details and difficulties)
  3. Look at the code output, a variable promotion, an object assignment; An object elicits the difference between a basic type and a reference type, and elicits a copy of the reference type
  4. Then write a deep copy by hand (solve the circular reference version)
  5. How to determine types, primitive types and arrays
  6. Prototype chain, new process hand tear and other series of problems
  7. Algorithm 1: How to determine that array B is A subset of array A (native method cannot be used)
  8. Algorithm 2: Bracket matching
  9. Algorithm 3: Jump game 2
  10. HTTP Cache (strong Cache and negotiation), strong Cache. Do you know the properties of the cache-control field (max-age, no-cache), the time period set by max-age, and any other properties?
  11. TCP and udp
  12. You are talking about the ARQ retransmission mechanism. Tell me about the fast retransmission process
  13. I see you wrote node, you talk about node
  14. ask

The second interview was rejected because it received other OC

Learn the front end (50min) 3.19

  • To introduce myself
  • Introduce the project, ask in detail buried point background project, the whole business process, where do you get the buried point data? (client upload, data transfer department interface), responsible for modules, project difficulties (mentioned nested components and cascaded multiple selection of data echo)
  • When it comes to diff and the virtual DOM, you’re talking about rearranging and redrawing. When does rearranging happen? Getting the viewport width is triggered, but dom width is not.
  • The sameVnode method will continue to recurse if it returns true.
  • Okay, closures, scope chains, creating private variables, etc., and then we’re going to change closures
for( var i = 0; i< 10; i++ ) {
	setTimeout(() = > {
		consolg.log(i)
	},0)}// Output 10 10s
Copy the code
  • How to get it to implement normal output, write the let implementation and execute the function implementation immediately
  • Hashchange and h5-based popState () and replace State () listen for URL changes, and…
  • Vue $nextick principle, when to call
  • V-show is different from V-if
  • V-model, syntax sugar based on value and input events; Can you use v-Models in custom components? can
  • Recursive handwriting array flattening
  • Use scenarios and differences between Call, apply, and bind
  • What is the value of the position property
  • You said out of document flow, what is document flow
  • Box-sizing: border-box; border-box; border-box; border-box; Don’t set the doctype
  • Horizontal and vertical center, 4 kinds
  • Handwritten image stabilization
  • Ask advice

Second face (30min) On March 24

  1. To introduce myself
  2. Your biggest accomplishment of the internship
  3. Speaking of self-testing code, have you used any self-testing tools
  4. When you talk about the project specification, you talk about the project specification that you usually develop
  5. (Virtual DOM, some concepts of diff, patchVnode node comparison process, both old and new nodes trigger updateChildren, sameVnode and other core processes. Key and why index is not key), do you think there is any optimization for node comparison during diff
  6. The role of slot in VUE (component encapsulation, default/named/scoped slots, and actual scenarios for various slots, etc.)
  7. Have you learned about the cutting-edge technologies (new features of VUE3, Web worker/ Websocket, etc.) and the usage scenarios of Web workers
  8. Webpack, what optimization (HTML + CSS + JS compression,tree-sharking, etc.) for the project, tree-Sharking trigger conditions
  9. The difficult points of the project, including my trip to the pit, and a better understanding of VUE from the pit
  10. Sort an array with repetition, order n
  11. ask

The HR is waiting

Good future 21 Spring recruitment advance batch front end one side two sides + HR side 3.21 (2.30-5.30) — OC

Written test no. 3.9 (20 single option +5 indefinite term +2 algorithm (template compilation + spiral matrix)

  1. To introduce myself
  2. Common data structures and their application scenarios
  3. Why is the DOM structure a tree
  4. Common sorting algorithms and time complexity
  5. The application scenarios of these algorithms answer that the bottom of sort is quicksort
  6. Then you can do a quick platoon
  7. Differences between TCP and UDP and application scenarios (three-hold, four-wave, congestion processing, ARQ retransmission)
  8. Differences between HTTP versions (HTTP1.0, HTTP1.1, HTTP2.0/3.0)
  9. I see you have written node, you can tell me how Node interacts with the operating system
  10. The difference between processes and threads
  11. You were talking about the high concurrency of multithreading in Java, can you talk a little bit about how multithreading is handled in Java
  12. Talk about message queues in JS
  13. New ES6 features: Promise and async and await
  14. The this pointing problem about an arrow function
varobj = {say: function() {var f1 = () = >{console.log("1111".this); F1} (); }}var o = obj.say;
o();// when f1 is executed, say refers to window, so this in f1 refers to window
obj.say();// when f1 is executed, say refers to obj, so f1 this refers to obj;
varojb = {pro: {getPro: () = >{console.log(this); Obj}}}. Pro. GetPro ();// This refers to window, because the arrow function is defined in the upper level of getPro, which is an object and cannot form a separate scope, so it points to Window.
Copy the code

15. Which mobile layouts have you used (REM + RPX, media query, Flex, Position…) 16. Implement a three-column layout (Flex version, Float version)

17. Steps from URL input to page rendering

18. Difficulties of the project, involving some principles of VUE, such as DIff, virtual DOM and responsiveness, etc

19. Slot (default/named/scope slot) 20. Understand the semantics of HTML, and have you learned about some new peripheral technologies (websocket and Web worker…)

21. Did CDN know about it? How does this work?

Second interview

  1. To introduce myself
  2. See your software engineering major, you say what common data structure and algorithm have
  3. The difference between array and linked list and applicable scenarios, what is chained storage
  4. What is a hashmap? How do you ensure that its values are unique? How do you calculate the hash values
  5. Common algorithms said some of the sorting algorithm, bubble merge quick sorting Hill
  6. Principle of CDN
  7. The detailed process of the front-end request to the back-end
  8. Is the deployment of the server understood
  9. Did you know about the database? Do you know the core of a database
  10. The vue slot
  11. Taking a look at his blog and mind mapping notes on the shared screen here, he saw diff
  12. Tell me about the Diff algorithm
  13. Vue is different from native JS
  14. Puzzles, incense burning time
  15. Arithmetic problem. Merge two ordered arrays
  16. The front security
  17. Cutting-edge new technology
  18. Micro front end, three.js and 3D animation
  19. You have a very complex algorithm in the page, how do you optimize it

There are a lot of details do not remember too clear, in short, both sides of the survey breadth is very much, the depth is mainly the project and the network dig, for the computer foundation of the examination is still a lot of data structure and network algorithm eight-part essay. Hr mainly talked about the business department that she would like to work in the future, and some scenarios. Then she talked about her own experience in the process of competition projects, as well as personal career planning for the future

Oc was received on March 25th

Follow-up with some company interview and written test, because I got a good future of oc was turned down I want to talk to you say is: the interview is a comprehensive process of skill and strength, rejected is not terrible, we reflect on yourself, on line and surface, the school is our best chance to enter the large, we should seize the opportunity!

advice

  • About blog, we have time must build their own blog ah, is a very good highlight!! A plus
  • For juniors or sophomores, be sure to learn in advance and have an internship experience!! Haitou factory internship experience is very popular!
  • For the general academic degree of the students like me, we do not lose heart, if there is the idea of taking an examination of one’s deceased father grind to suggest taking an examination of one’s deceased father grind to promote academic degree, on the contrary, you can focus on their own technology, a solid foundation, as long as the opportunity to receive an interview will grasp!
  • Good attitude!! Interview process may be abused, but do not lose heart, and constantly reflect on the problem, the basis of not fill the basis, the source code is not fill the source code, the algorithm is not fill the algorithm, in short, we need to continue to progress in the interview process!

Finally, put an offer to compare, which one will you choose? 1. Horizon – Nanjing – (Automatic driving chip) Total package 21-27, size week, 600 government subsidy/month, rental 1000-1500 average price 2. Good future – Beijing – (online education) total package 30, two days off, 10 shares for four years, the average rental price of 3000

Finally, I hope everyone can find the offer to shore in spring recruitment!!