@@ -10,65 +10,105 @@ Updating...
10
10
11
11
## Table of Contents
12
12
13
- * Callstack
13
+ - Callstack
14
14
15
- * Premitive Type, Reference Type
15
+ - Premitive Type, Reference Type
16
16
17
- * Implicit, Explicit, Nominal, Structuring, and Duck
17
+ - Implicit, Explicit, Nominal, Structuring, and Duck
18
18
19
- * Function, Scope, block scope, lexical scope
19
+ - Function, Scope, block scope, lexical scope
20
20
21
- * Arrow functions
21
+ - Arrow functions
22
22
23
- * IIFE, modules, namespaces
23
+ - IIFE, modules, namespaces
24
24
25
- * Message queue and Event Loop
25
+ - Message queue and Event Loop
26
26
27
- * Expression, statement
27
+ - Expression, statement
28
28
29
- * setTimeout, setInterval, requestAnimationFrame
29
+ - setTimeout, setInterval, requestAnimationFrame
30
30
31
- * this, bind, call and apply
31
+ - this, bind, call and apply
32
32
33
- * Bitwise operators, type arrays and array buffers
33
+ - Bitwise operators, type arrays and array buffers
34
34
35
- * DOM and Layout trees
35
+ - DOM and Layout trees
36
36
37
- * Factories and Classes
37
+ - Factories and Classes
38
38
39
- * new, constructor, instanceof and instance
39
+ - new, constructor, instanceof and instance
40
40
41
- * Prototype Inheritance and Prototype Chain
41
+ - Prototype Inheritance and Prototype Chain
42
42
43
- * Object.create and Object.assign
43
+ - Object.create and Object.assign
44
44
45
- * Closures
45
+ - Closures
46
46
47
- * Higher order functions
47
+ - Higher order functions
48
48
49
- * Recursion
49
+ - Recursion
50
50
51
- * Pure functions, side effects, state mutation
51
+ - Pure functions, side effects, state mutation
52
52
53
- * map, reduce, filter
53
+ - map, reduce, filter
54
54
55
- * Collections and Generations
55
+ - Collections and Generations
56
56
57
- * Promises
57
+ - Promises
58
58
59
- * Async/await
59
+ - Async/await
60
60
61
- * Data Structures
61
+ - Data Structures
62
62
63
- * Expensive Operation and Big-Oh notation
63
+ - Expensive Operation and Big-Oh notation
64
64
65
- * Algorithms
65
+ - Algorithms
66
66
67
- * Inheritance, Polymophism and Reuse
67
+ - Inheritance, Polymophism and Reuse
68
68
69
- * Partial Applications, Currying, Compose and Pipe
69
+ - Partial Applications, Currying, Compose and Pipe
70
70
71
- * Design patterns
71
+ - Design patterns
72
72
73
- * Clean code
73
+ - Clean code
74
74
75
+ ## Trở thành một lập trình viên chuẩn mực
76
+
77
+ ### Một số thủ thuật cơ bản (tricks):
78
+
79
+ - 2 con trỏ (multiple pointers)
80
+ - Dãy tạm
81
+
82
+ Một số suy nghĩ về việc tối ưu thời gian chạy:
83
+
84
+ - Dùng bảng băm khi đề bài yêu cầu tìm chính xác (O(1));
85
+
86
+ - Dùng 2 con trỏ khi cần tìm gần đúng, hoặc tìm kế tiếp (chống vòng lặp for và đệ quy).
87
+
88
+ - Biết dùng đệ quy đúng cách.
89
+
90
+ - Dùng cây tìm kiếm tối thiểu trả về giá trị Min, không cần duyệt toàn bộ hay sort().
91
+
92
+ - Dùng cây tìm kiếm nhị phân, vừa thêm, vừa kiếm.
93
+
94
+ ### Thuật toán
95
+
96
+ - Đệ quy Backtrack
97
+ - Quy hoạch động - đệ quy có nhớ:
98
+ - Đếm cách
99
+ - Dùng ít nhất (chi phí nhỏ nhất)
100
+ - Nhánh cận
101
+ ...
102
+
103
+ ### Cấu trúc dữ liệu
104
+
105
+ - Cây nhị phân: tối thiểu, tìm kiếm
106
+ - Graph
107
+ - Hash table, hash map
108
+ ...
109
+
110
+ ### Khả năng thực chiến - Xây dựng ứng dụng, app ...
111
+
112
+ - Tìm median (eCommerce)
113
+ - Bài toán đặt phòng
114
+ - Autocomplete
0 commit comments