preface
Front-end technology changes with each passing day, with the trend of big front-end, if you want to become a qualified front-end engineer, you need to learn a wide range of things. So in the process of seeking to advance, we should not only continuously consolidate the front-end foundation, but also quickly respond to the update and iteration of technology. Gossip less to say, this time to share some front-end advanced quality learning resources, I hope to help you!
Personal Blog AddressπΉ π° fe – code
Github quality projects
frontend-tech-list
Whether you are teaching yourself the front end or are proficient in some of the front end technologies but not yet, I hope this list will help you review some of the basics of the front end.
- github
- List of front-end technologies
- 0. Annual report
- 1. Basic pick-up
- JavaScript 1.1.
- 1.2. The CSS
- 1.3. The browser
- 2. Engineering and tools
- 2.1. webpack
- 2.2. Gulp
- 2.3. Linter
- 2.4. Static Typing (Typescript/Flow)
- 2.5. The Babel
- 2.6. CSS preprocessing and modularization
- 3. Performance optimization
- 3.1. Load performance
- 3.2. Runtime performance
- 3.3. Front-end caching
- 3.4. Performance debugging and practice
- 3.5. Performance Indicators
- 4. Security
- 4.1. XSS
- 4.2. CSRF
- 4.3. CSP
- 4.4. The HTTPS
- 4.5. Safety record
- 5. Automate testing
- 5.1. Unit testing
- 5.2. End-to-end Testing (E2E)
- 5.3. Other
- 6. Frameworks and libraries
- 6.1. The React
- 6.2. The Vue
- 6.3. Story
- 6.4. RxJS
- 7. New technology/direction
- 7.1. PWA
- 7.2. The CSS Houdini
- 7.3. The Web Components
- 7.4. Micro Frontends
- HTTP / 7.5. 2
- 7.6. WebAssembly
- 8. Business relevance
- 8.1. Data reporting
- 8.2. Front-end monitoring
- 8.3. A/B testing
- 8.4. “Server Push”
- 8.5. Dynamic effect
- 9. Good writing that doesn’t categorize
CS-Notes
π Tech Interview Guide basic knowledge, Leetcode problem solving, Java, C++, Python, back-end Interview, operating system, computer network, system design
- github
- Abstract
algorithm | The operating system | network | object-oriented | The database | Β Β Β JavaΒ Β Β | The system design | tool | Coding practices | Afterword. |
---|---|---|---|---|---|---|---|---|---|
β οΈ | π» | β οΈ | π¨ | πΎ | β οΈ οΈ | π‘ | π§ | π | π |
β οΈ algorithm
- 5. Offer offers
- Leetcode antithesis
- algorithm
β οΈ network
- Computer network
- HTTP
- Socket
javascript-algorithms
JavaScript algorithms and data structures. The repository contains a variety of javascript-based algorithms and data structures. Each algorithm and data structure has its own README with instructions and links for further reading (as well as YouTube videos).
An algorithm is a clear specification of how to solve a class of problems. An algorithm is a set of rules that precisely define a sequence of operations. B – beginner, A – advanced
-
github
-
Abstract
B
Bit manipulation- Set, get, update, and clear bits, multiply/divide binary bits, and turn negativeB
factorialB
Fibonacci number –classic
εclosed
versionB
A prime number detection(Elimination method)B
Euclidean algorithm- Calculate the greatest common divisor (GCD)B
Least common multiple (LCM)B
Prime sieve- Finds all primes in any given rangeB
Judge the 2nd power- Check if the number is a power of 2 (native and bitwise algorithms)B
Yang Hui triangleB
The plural- Complex numbers and their basic operationsB
Arc and Angle- Conversion between radians and anglesB
Quick powerA
Integer splitA
Cyclotomic surgery- Approximate Ο calculation based on N-GonsA
The discrete Fourier transform- Parse the time signal into its constituent frequencies
30-seconds-of-code
A selection of snippets of JavaScript code that you can understand in 30 seconds or less
-
github
-
Abstract
π Array
View contents
all
allEqual
any
arrayToCSV
bifurcate
bifurcateBy
chunk
compact
countBy
countOccurrences
deepFlatten
difference
differenceBy
differenceWith
drop
dropRight
dropRightWhile
dropWhile
everyNth
filterFalsy
filterNonUnique
filterNonUniqueBy
findLast
findLastIndex
mapObject
maxN
minN
none
π Browser
View contents
arrayToHtmlList
bottomVisible
copyToClipboard
counter
createElement
createEventHub
currentURL
detectDeviceType
elementContains
elementIsVisibleInViewport
formToObject
getImages
getScrollPosition
getStyle
hasClass
hashBrowser
hide
javascript-questions
List of JavaScript advanced questions, from basic to advanced, to test how much you know about JavaScript, refresh your knowledge, or help with your coding interview! πͺ π I will update new questions under this warehouse every week.
-
github
-
Abstract
-
- What is the output?
function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21 } sayHi() Copy the code
- A:
Lydia
εundefined
- B:
Lydia
εReferenceError
- C:
ReferenceError
ε21
- D:
undefined
εReferenceError
The answer
Answer: D
Inside the function, we first declare the name variable through the var keyword. This means that the variable is raised (the memory space is set during creation) and the default value is undefined until the program runs to where the variable is defined. Because the name variable has not been executed to the point where it is defined when we print it, the value of the variable remains undefined.
Variables declared with the let and const keywords are also promoted, but unlike var, they are not initialized. They are not accessible until we declare (initialize) them. This behavior is called a temporary dead zone. JavaScript will throw a ReferenceError when we try to access them before declaring them.
-
- What is the output?
for (var i = 0; i < 3; i++) { setTimeout((a)= > console.log(i), 1)}for (let i = 0; i < 3; i++) { setTimeout((a)= > console.log(i), 1)}Copy the code
- A:
0 1 2
ε0 1 2
- B:
0 1 2
ε3 3 3
- C:
3 3 3
ε0 1 2
The answer
Answer: C
Due to JavaScript’s event loop, the setTimeout callback is executed after the loop is completed. Because the traversal I in the first traversal is declared by the var keyword, this value is globally scoped. During the traversal, we increment the value of I each time by the unary operator ++. When the setTimeout callback executes, the value of I is equal to 3.
In the second traversal, the traversal I is declared by the let keyword: variables declared by the let and const keywords have block-level scope (anything in {}). During each iteration, I has a new value, and each value is in scope within the loop.
-
Daily-Interview-Question
Every day to fix a front-end factory interview questions, I wish you every day progress, a year later, you will see a different version of yourself.
- github
- Abstract
2019-07-26
114: Programming problem to find the most consecutive characters and numbers in a string (Mogustreet)
'abcaakjbb'= > {'a':2.'b':2} 'abbkejsbcccwqaa'= > {'c':3} Copy the code
114
2019-07-25
113: Programming problem, write an array to remove the function according to the following requirements (Mogujie)
If the array element is [123, “meili”, “123”, “mogu”, 123], the output is [123, “meili”, “123”, “mogu”].
Such as incoming array element for [123, [1, 2, 3], [1, “2”, 3], [1, 2, 3], “meili”], the output: [123, [1, 2, 3], [1, “2”, 3], “meili”]
Such as incoming array element for [123, {a: 1}, {a: {b: 1}}, {a: “1”}, {a: {b: 1}}, “meili”], the output: [123, {a: 1}, {a: {b: 1}}, {a: “1”}, “meili”]
113
learnVue
Vue. Js source code analysis
- github
vue-design
Renderers, and a line-by-line source analysis for Vue in the repository, are dry goods.
- github
- Directory listing
- Component nature
- Design Vnode
- H function to assist in creating a VNode
- Mount the renderer
- Patch for renderer
- The core Diff algorithm for the renderer
- Custom renderers and asynchronous rendering
CS-Interview-Knowledge-Map
Front-end interview atlas
- github
- Online address
react-interpretation
React source code. This parsing is done in two parts: the first is to add the Chinese annotations of the code, and the second is to support the corresponding article.
- github
Front-end-Web-Development-Interview-Question
Here I will collect all the front-end interview questions I have done, and provide answers according to their own understanding, as well as some front-end job hunting experience.
- github
- Abstract
Try a link | Summary of the original | tag | Update the status |
---|---|---|---|
1.md | Front End Web Development QuizThe CSS part | CSS | Is over: v: |
2.md | Front End Web Development QuizHTML part | HTML | Is over: v: |
3.md | FEX interview questions | General | To improve the punch: |
4.md | Frequently asked questions about front-end interviews | General | To improve the punch: |
5.md | Front-end interview with HTML related questions | HTML | Is over: v: |
Advanced front end advanced
Focus on one front-end interview every week
- github
- Abstract
- Understand the execution context and execution stack in JavaScript
- JavaScript delves into context stacks and variable objects
- JavaScript in-depth detailed illustration of memory space
- JavaScript takes you deep into the memory mechanism
- 4 Common memory Leaks in JavaScript and how to Avoid them
The front-end craftsmen
Strive to create a series of quality articles suitable for junior engineers to understand
- github
- Browser related 1. Simple browser rendering principle 2. Deep understanding of browser storage 3. 4. What happens from URL input to page presentation? Javascript 1. Front-end modular details (full version) 2. Nine cross-domain implementation principles (full version) 4. In-depth understanding of JavaScript scopes and scope chains
libpku
Github Go to College series
- github
- Abstract
- Course Strategy Sharing Program of Zhejiang University
- Hovercraft Project — a free, decentralized database of past Peking University problems
- Database of Academic Department of Peking University Information Science Student Union
- Peking University computer course assignments
- Tsinghua University Computer Department curriculum introduction
- Curriculum Sharing program of Southeast University
- Course resources of School of Computer Science, University of Science and Technology of China
- Shanghai Jiao Tong University course materials sharing
- Sun Yat-sen University course materials sharing
- Nanjing University course review materials
- Zhengzhou University course review materials
weekly
Front end close reading weekly
- github
- Abstract
- Intensive reading JS modular development
- Best practices for perusing modal boxes
- Close reading “Writing Resilient Components”
- Close reading of React Hooks
- React-code Neatness
mobileHack
This is a collection of various potholes encountered on mobile terminals
-
github
-
Mobile Web single page application development practice — page structure
Mobile Web Product Front-end Development formula — “Fast”
Mobile Web development, 4 lines of code to check whether the browser supports position: Fixed
Use border-image to implement a 1px bottom edge similar to iOS7
Summary of the problem of using Position: Fixed on the mobile web page
underscore-analysis
Underscore -1.8.3.js
- github
awesome-vue
A collection of various articles related to vue.js
- github
free-programming-books-zh_CN
π Free computer programming Chinese books
- github
airbnb/javascript
JavaScript Style Guide
- github
Other recommended
The article
- CSS specification Chinese translation
- CSS 3 tutorials
- ICSS – not just CSS
- Graphic design patterns
- How browsers render
- Hand by hand teach you a simple Webpack
- Take you into the webpack world, become the number one Webpack player.
- Webpack4 – use it for the first time, click it together 11 times
- Build React development environment based on Webpack
- How JavaScript works: An overview of the engine, runtime, and call stack
- In-depth analysis: How to implement a Virtual DOM algorithm
- Brief Introduction to front-end Architecture of Large Projects
- Site performance optimization – from 12.67s to 1.06s story
- Q: If you can understand 80%, please give me your resume
- Hand to hand, take you with vue lift backstage series
- Analysis of Vue implementation principle – how to achieve bidirectional binding MVVM
- Yuba’s JavaScript series
books
- JS functional programming guide
- You don’t know JS
- ECMAScript introduction to 6
- JavaScript regular Expressions mini-book
- Illustrated HTTP
- The Definitive GUIDE to HTTP
- Refactoring – Improving the Design of Existing Code
- Javascript Advanced Programming
- The Definitive Javascript Guide
- “JavaScript Functional Programming”
- JavaScript Design Patterns and Development Practices
- Learning JS Data Structures and Algorithms
- CSS World
- CSS Revealed
- Node.js
- The Code Clean Way
- Ninja Secrets
- Sword Finger Offer
video
You can pay attention to the public account – front-end engine, reply “learning”, you can get rich video learning materials.
Communication group
Qq front-end communication group: 960807765, welcome all kinds of technical exchanges, looking forward to your joining;
Wechat group: Students in need can add my wechat (Q1324210213) and reply “add group”.
Afterword.
If you see here, and this article is a little help to you, I hope you can move a small hand to support the author, thank π». If there is something wrong in the article, we are welcome to point out and encourage each other. Thanks for reading. See you next time!
- The article warehouse πΉ π° fe – code
- Social chat system (vue + Node + mongodb) – ππ¦πVchat
Previous articles:
- γ from head to toe γ Front-end implementation of multi-person video chat — WebRTC combat (multiplayer)
- γ γ from head to foot WebRTC + Canvas to achieve a double collaborative Shared sketchpad essay | the nuggets technology
- [2019 Front-end advanced road] In-depth Vue responsive principle, from the source analysis
- Vue component communication mode complete version
Interested students can pay attention to my public number front-end engine, fun and material.