This is the 16th day of my participation in the More text Challenge. For more details, see more text Challenge
Long warned
I’ve been writing for so long. Let’s do something different.
The company is hiring recently, so we have done a series of interviews and summarized the requirements of the front end of the range.
Represents only personal opinion and understanding
Noun explanation
Adverbs of degree
For different degrees of words, my understanding is as follows:
Proficient in
- Understand the principles and specifications behind it
- Hands-on rewrite of the implementation code
- We can do secondary development based on this
- Able to read source code and make changes
master
- I have used this technique extensively on projects
- Can use this technology to develop freely
- Have participated in technical forum discussions or written relevant articles
Be familiar with
- It has been used in projects
- Read through the relevant documents
- You can quickly locate related problems in the document content
- Learn about some of the more obscure related syntax sugar and API
To understand
- Not used in development, but have written demo
- Read the relevant documentation or video tutorials
- Give someone five minutes to explain the features and scenarios of the technology
Don’t understand
- I just heard the name
- Just sort of flipping through the documents
- I haven’t written any code for this technology
- All features of the current level are required
- The high-level description contains the low-level description features
A lot of resume written understanding, in fact, do not understand, familiar with and grasp may often only understand the level, if you write proficient, then I will bring a computer to interview you.
Handwritten code:
Code can be written without copying and pasting entire sections of code, with emmet or an editor reminder.
Memory test:
Need to memorize the content, can not use search engine. For example, the spelling of most keywords, for long keywords can be completed with the help of the editor input. Some common knowledge also requires memorization, such as box model and selector rules, which should be remembered because of their frequent daily use.
Indexing inspection:
The solution can be found once in a search engine by technical keyword. For example, if we want to make a special effect of a rotograph, the text and the background scroll out of sync, the background scroll horizontally a little bit at a time, and the text scroll the entire page, the face of this description will recognize the search keyword “parallax scroll”.
Comprehension test:
The requirement is to be able to show knowledge points in code and compare them with other knowledge points. Be able to design the application scheme of this technology in a certain application scenario. Be able to explain the mathematics or logic behind it.
The interview intentions
positive
- Whether you have the minimum skills required for the job
- Do you have similar project development experience
- Whether you have the necessary skills for the job
- Field coding solves problems
- Use search engines correctly
- Be able to explain in detail the techniques used in previous projects
- Whether you have a passion for technology
- There is code accessible online
- There are tech blogs
- Actively answer questions in the tech community
- Focus on new technology, and have done cases other than official demo
- Everyday use of technology to solve problems in life
- Space to grow up
- Computer science background
- Good algorithm foundation
- Good presentation skills
- Have done technical article translation
- Have at least one hobby for 5 years
The reverse
- Do the memory examination to the obscure knowledge point
- Explain the outdated knowledge
- The number of questions answered was used as an indicator of employment
- The interview should be like an eye test. Start with the easiest questions and work your way up until you can’t answer them correctly.
- It’s not a good interview if you don’t get any of the questions right or all of the questions right.
interview
- Know your career history and confirm your job description.
- Outline the range of technical capabilities through scenarios.
- Check before the interview, and if there is any ambiguity, check at the beginning.
- What projects you were involved in, what roles you played in the projects, and what coding work you did.
- What is the flow of the work and whether you have experience working with the specification (such as Gitflow).
- Follow the skill list on your resume and ask questions that stand out.
- For the basic knowledge, such as HTTP protocol, memory is mainly examined; For regular routing, promise and other technologies can be extended as indexability tests if they have not been used in recent projects, but – claim to have mastered them.
- As an extra step, I often ask the interviewer to circle the real skills in the resume, exclude the filler, and then only ask questions about the circled skills. Because in my opinion, the environment forced to bring the resume of water is not the same as the quality of the interviewer, on the other hand, whether the correct evaluation of oneself as a programmer is an important ability.
Our company uses the technology stack related API q&A, as well as the situation to ask deeper syntax and usage, etc
About 5 to 10 questions that guide the interviewer on how the technology works, how it can be used, and any problems encountered while using it (see appendix).
For example, if the interviewer claims to be familiar with AJAX, I might ask him what JS objects AJAX uses (principle), what asynchronous functions are used (form), whether cross-domain problems have been encountered (problem), why JSONP can solve cross-domain problems (principle), what is the difference between the content returned by JSONP and THAT of JSON (use). What limitations have you encountered with JSONP…
Continue at this level until the candidate struggles or is unable to answer.
They don’t interrupt the interviewer, and even if something is wrong, they will correct it after the whole paragraph has been told before moving on to the next topic.
Do the actual coding test, mainly to see the programming ability. Choose basic JS questions to do the test, such as
The game of counting seven is often played at parties. You can’t say multiples of seven or numbers with seven, such as 14,27,28. Please find the unspeakable numbers from 1 to 100.
The points to investigate are:
- Whether the technology stack fits
- Technical depth
- Basic knowledge of technology
- The idea of solving the problem encountered
conclusion
The content section of knowledge illustrates a list of common skills and actually sets questions based on the candidate’s resume.
Memory content as the bottom line requirements, if not standard, means that the foundation is not solid, in the future work will be in a lot of basic issues are not clear.
The coding part is mostly about search because this is the normal form of work. The ability to use a search engine determines the daily level of a programmer.
Understanding examination is about the understanding and application of knowledge points, whether the knowledge points can be applied to the development, and have their own thinking on the problems encountered in the daily development, which reflects the potential and development of the interviewees.
Investigation of basic skills
- About Html
- Understanding of HTML semantic tags; Structured understanding; Ability to write concise HTML structures; SEO optimization
- Attributes added in H5; For example, customize the attribute data, className className, etc., add a form element, Drag
- H5 new API, modified API, abandoned API a little understanding (offline storage, audio, video)
- About CSS
- CSS selectors (three features)
- Landing the mechanism
- The box model
- CSS modular development (packaging); Use of SCSS and LESS
- Screen adaptation and page adaptation
- New selector in CSS3
- CSS3 new properties, Transform Trasition animation…
- About the layout
- Standard document flow (padding + margin + negative margin) + float + positioning
- Percentage layout (streaming layout): The px unit is %num, as a percentage of the parent element
- Flex flexible layout: several properties of the spindle auxiliary shaft
- Grid: Use the class name in the framework instead: it’s essentially a percentage layout
- About JS Basics
- Variable data types and detection: basic + reference
- Operators: arithmetic + condition + logic + bit + short circuit, implicit conversion, etc
- If switch(){case XXX :} try catch finally throw
- Function definition, call mode (apply, call, direct), pass arguments: arguments are assigned to parameters
- String, array, object API,
- Regular expressions
- About JS Advanced
- Scope, scope chain, closure
- Prototype, prototype chain, inheritance
- Function context, which this points to
- Js running mechanism, event queue and loop
- Synchronous, asynchronous programming
- About Network Protocols
- The HTTP protocol
- cookie, session, token
- About ES6 grammar
- String, array, object extension API
- Variable extension: Let const deconstructs the assignment block-level scope
- Function extension: arrow function default parameter, rest parameter
- Expansion operator, template string
- Set and Map data structures
- Understanding iterators and generator functions next and Yield
- Proxy Object property proxy: Operations that read and set properties
- Promise object, a solution to asynchronous programming
- Async + await: The ultimate in asynchronous programming, promise + Generator syntax sugar
- Syntax sugar for the class syntax constructor
- Modular programming export + import export and import
- VUE basis
- Basic instructions
- The properties and methods of the instance
- The life cycle of the instance
- Component basics: Create, register, add property methods, apply, etc…
- Component communication passes values to parent, sibling, and cross-level
- Slot slot…
- VUE senior
- Vue – the router: building SPA
- Routing, component configuration
- The value transmitted between routes
- Routing hop
- The navigation guard of the route
- Remember how it is used in router-js and component pages
- Vuex: status management: data warehouse store
- Instantiate the use of the five attributes of the repository
state
, getters
, mutations
, actions
, modules
- Helper functions such as mapState… , warehouse to calculate the mapping of attributes, convenient operation
- Remember how to use it in store.js and components
- VUE in-depth, source reading
- Data response principle
- virtual dom
- The diff algorithm
- NextTick etc…
- Data binding for VUE2 and VUE3
- Vue3 componest API
- The use of the vite
DOM
Master native DOM operations
Add or delete check change
Be familiar with node and Element objects
The mechanism of an event
- Bubble and capture
- Event delegation
- Custom event
- The Event object
- object-oriented
Understanding of object oriented thinking, able to build applications with object oriented thinking. For example, encapsulate a calendar component and design the property values and methods required by the object.
- The new method
- Inherit, derive
- Prototypes and prototype chains
function
- Familiar with methods of Array, String, etc
- Use of the call and apply methods
- Chain calls
- this
engineering
- Master gulp
- The index row examines handwritten GULp tasks
- Master modularity
- CMD standard
- commonjs
- ES6 module
- How does Babel work
- The WebPack package
- Asynchronous loading
- Packaging multiple files
- Master webpack
- Read the WebPack documentation
- Understand configuration file structure
- Merge, inject effective code parts
- Hot update
- CSS
Naming strategy
nested
variable
function
For front-end jobs, nodeJS is mainly used in two aspects: automation and building a simple data server.
- Whether the NPM package has been uploaded
- Breakpoint debugging
- express
- The plug-in
- The middleware
- Routing principle
- The HTTP protocol
- Database query
- HTML templates (EJS, puG)
Understand the ES6
- promise
- Generator
- Curly brace scope
- class
- Array Traversal (ES5)
- Strict Mode (ES5)
- Module system
Framework project
general
- MVC
- Bidirectional data binding
- Single data stream
- componentization
- Life span
- routing
The front template
- Transverse contrast, the advantages of the template used
- At least two front-end templates have been used
Engineering capability inspection:
- Ability to project
- Vue-cli scaffolding and function configuration vue.config.js
- Use and build vite, etc
- Common webPack configurations
- Project build packaging
- Familiar with the documentation of various frameworks…
- UI framework: Bootstrap, MUI, Elemental-UI, etc
- Common plug-in collation, collation of their own plug-in library, encapsulate their own method library, component library
- Common tool proficiency
- PC and mobile development considerations and compatibility
- Summary of experience: How to determine the technology selection of the project quickly
- Pit some summary
- Project encounter pit pit pit!!
- How to deal with it, how to raise the issue and work together
- Git or SVN usage
- Performance optimization record in the project (all detail points… Multiple records)
- Understanding of requirements documents can be combined with project flow diagrams, UML diagrams
- Problem solving: (bug locating and debugging, finding documents, finding others…)
- Do you have the habit of keeping records.
Modular, componentized development capabilities
- Project classification; Organize and classify all kinds of documents
- Functional packaging
- Separation, decoupling and reuse of components and functional modules
Internal work investigation:
- Object-oriented programming ideas
- Class of abstract
- Object encapsulation, inheritance
- In order to better manage the data, the classified data achieve high cohesion and low
- Design patterns
- Design patterns feel the same way
- The object – oriented idea is abstracted into some specific patterns in reality
- Data structures and algorithms
- Learn common sorting search algorithms, sequential lists, linked lists, stacks, queues, trees, heap structures and more…
- Test your abstract thinking and math skills
- The ability to abstract real-world requirements into computer code
Additional Skills:
- The ability to learn
- A constant learning attitude – blogging, note-taking
- Technical forum active degree is high, question and answer is much
- GitHub open source project participation
- Know a backend language
- Node.js, Python, PHP, etc…
- Mysql,redis,mongodb. SQL, Mongo,redis
- Node + Express Establishes local services
- python + django + request + scrapy
- System programming
- Linux command line operation, system file management
- Understanding of concepts such as multitasking, multithreading, multiprocess, coroutine, concurrency, parallel, serial, synchronous, asynchronous, etc
People are lazy, do not want to picture, are their own blog content (dry goods), hope to help everyone
Public number: xiao He growth, The Buddha department more text, are their own once stepped on the pit or is learned
Interested partners welcome to pay attention to me, I am: He young life. Everybody progress duck together