Skip to content

Commit dc4332c

Browse files
committed
added
1 parent 424674d commit dc4332c

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

docs/Notes.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,129 @@
1+
#Ref Topics
2+
3+
#Javascript:
4+
5+
Execution context, especially lexical scope and closures.
6+
Hoisting, function & block scoping and function expressions & declarations.
7+
Binding – specifically call, bind, apply and lexical this.
8+
Object prototypes, constructors and mixins.
9+
Composition and high order functions.
10+
Event delegation and bubbling.
11+
Type Coercion using typeof, instanceof and Object.prototype.toString.
12+
Handling asynchronous calls with callbacks, promises, await and async.
13+
When to use function declarations and expressions.
14+
15+
#DOM
16+
17+
Selecting or finding nodes using document.querySelector and in older browsers document.getElementsByTagName.
18+
Traversal up and down – Node.parentNode, Node.firstChild, Node.lastChild and Node.childNodes.
19+
Traversal left and right – Node.previousSibling and Node.nextSibling.
20+
Manipulation – add, remove, copy, and create nodes in the DOM tree. You should know operations such as how to change the text content of a node and toggle, remove or add a CSS classname.
21+
Performance – touching the DOM can be expensive when you have many nodes, you should at least know about document fragments and node caching.
22+
23+
#CSS
24+
25+
Layout – sitting elements next to each other and how to place elements in two columns vs three columns.
26+
Responsive design – changing an element’s dimensions based on the browser width size.
27+
Adaptive design – changing an element’s dimensions based on specific break points.
28+
Specificity – how to calculate a selector’s specificity and how the cascade affects attributes.
29+
Appropriate namespacing and naming of classnames.
30+
31+
#Html
32+
33+
Semantic markup.
34+
Tag attributes, such as disabled, async, defer and when to use data-*.
35+
Knowing how to declare your doctype (most people are not writing new pages every day and forget this) and what meta tags are available to use.
36+
Accessibility concerns, for example, making sure an input checkbox has a larger responding area (use label “for”). Also, role=”button”, role=”presentation”, etc.
37+
38+
# System Design
39+
40+
Rendering – client-side (CSR), server-side (SSR) and universal rendering.
41+
Layout – if you’re designing a system used by multiple development teams, you need to think about building components and if you require teams to follow a consist markup to use said components.
42+
State management such as choosing between unidirectional data flow or two-way data binding. You should also think about if your design will follow a passive or reactive programming model, and how components related to each other for example Foo–> Bar or Foo –>Bar.
43+
Async flow – your components may need to communicate in real-time with the server. The design you propose should consider XHR vs bidirectional calls. If your interviewer asks you to support older browsers, your design will need to choose between hidden iFrames, script tags or XHR for messaging. If not, you could propose using websockets or you might decide server-sent events (SSE) are better.
44+
Separation of concerns – Model-View-Controller (MVC), Model-View-ViewModel (MVVM) and Model-View-Presenter (MVP) patterns.
45+
Multi-device support – Will your design use the same implementation for the web, mobile web, and hybrid apps or will they be separate implementations? If you were building a site like Pinterest, you might consider three columns on the web but only one column on mobile devices. How would your design handle this?
46+
Asset delivery – In large applications, it’s not uncommon to have independent teams owning their own codebases. These different codebases probably have dependencies on each other and each usually has their own pipeline to release changes to production. Your design should consider how assets are built with dependencies (code splitting), tested (unit and integration tests) and deployed. You should also think about how you will vend assets through a CDN or inline them to reduce network latency.
47+
48+
#Web Performance
49+
50+
Critical rendering path.
51+
Service workers.
52+
Image optimizations.
53+
Lazy loading and bundle splitting.
54+
General implications of HTTP/2 and server-push.
55+
When to prefetch and preload resources.
56+
Reduce browser reflows and when to promote an element to the GPU.
57+
Differences between the browser layout, compositing and painting.
58+
59+
# Data Structures & Algorithms
60+
61+
- memory management helps
62+
- O(N) and O(N Log N)
63+
64+
# Genearal Topics
65+
66+
HTTP requests – GET and POST along with associated headers such as Cache-Control, ETag, Status Codes, and Transfer-Encoding.
67+
REST vs RPC.
68+
Security – when to use JSONP, CORs, and iFrame policies.
69+
70+
#JavaScript Inheritance Patterns
71+
72+
http://davidshariff.com/blog/javascript-inheritance-patterns/
73+
74+
=================================================================
75+
76+
#Concepts:
77+
78+
javascript objects
79+
Prototypal inheritance
80+
Scoping and hosting
81+
Closures
82+
JavaScript Callback (Higher-Order) Functions
83+
The event loop
84+
Event bubbling
85+
Apply, call, and bind
86+
Callbacks and promises, async/await
87+
Variable and function hoisting
88+
Currying
89+
localstorage
90+
Map, filter, reduce , sort of arrays
91+
92+
#Design Pattern:
93+
94+
Decorator
95+
Factory
96+
Singleton
97+
Revealing module
98+
Facade
99+
Observer
100+
MVC, MVP, MVVM
101+
102+
https://medium.freecodecamp.org/cracking-the-front-end-interview-9a34cd46237
103+
104+
#Data Structure Concepts:
105+
106+
Linked lists
107+
Hashtables
108+
Stacks and queues
109+
Trees (binary trees and heaps)
110+
Graphs
111+
112+
#Sorting Concepts:
113+
114+
Binary search
115+
Bubble sort
116+
Insertion sort
117+
Merge sort
118+
Quick sort
119+
Selection sort
120+
121+
https://www.interviewcake.com/question/javascript/balanced-binary-tree
122+
http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/
123+
https://medium.freecodecamp.org/learn-these-core-javascript-concepts-in-just-a-few-minutes-f7a16f42c1b0
124+
https://medium.com/@madasamy/15-javascript-concepts-that-every-nodejs-programmer-must-to-know-6894f5157cb7
125+
https://gist.github.com/ericelliott/263f24b5ad987e2f09d2
126+
1127
# RefLink
2128

3129
1. https://ponyfoo.com/articles/es6

0 commit comments

Comments
 (0)