Skip to content

Commit

Permalink
feat: update 2024
Browse files Browse the repository at this point in the history
  • Loading branch information
duyet authored Oct 28, 2024
1 parent 36aeeba commit 48ee71c
Showing 1 changed file with 81 additions and 12 deletions.
93 changes: 81 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,56 +33,125 @@ Mình tha thiết mong muốn mọi người cùng đóng góp nội dung, [tạ

* Những điểm nào mà bạn thích, hoặc không thích về lập trình?
* Khác nhau giữa UI và UX?
* UI (User Interface): Tập trung vào giao diện người dùng, cách trình bày và tương tác trực quan
* UX (User Experience): Tập trung vào trải nghiệm tổng thể, cảm nhận và hiệu quả sử dụng
* Nói về môi trường làm việc mà bạn mong muốn?
* Ba cách để giảm dung lượng tải trang?
* CORS?
* Bla bla ...
* Tối ưu và nén hình ảnh
* Minify và gộp file CSS/JS
* Sử dụng CDN và caching hiệu quả
* Lazy loading cho images và components
* Tree shaking để loại bỏ code không sử dụng
* CORS là gì và cách xử lý?
* CORS (Cross-Origin Resource Sharing) là cơ chế cho phép nhiều tài nguyên khác nhau của một trang web có thể được truy vấn từ domain khác với domain của trang đó
* Xử lý: Cấu hình header phù hợp, sử dụng proxy, hoặc middleware trên server
* Progressive Enhancement và Graceful Degradation là gì?
* Single Page Application (SPA) vs Multi Page Application (MPA)?
* Virtual DOM là gì và tại sao nó quan trọng?

## Hỏi về HTML

* Tác dụng của `doctype`?
* Khai báo kiểu tài liệu HTML để trình duyệt biết cách render
* Đảm bảo trang web được hiển thị ở chế độ standards mode
* Khác nhau giữa HTML và XHTML là gì?
* XHTML yêu cầu cú pháp nghiêm ngặt hơn (phải đóng thẻ, case sensitive)
* XHTML tuân thủ quy tắc XML
* Có vấn đề gì không nếu lưu trang MIME dạng `application/xhtml+xml`?
* Điều gì mà bạn cần phải chú ý nếu xây dựng và phát triển các trang web đa ngôn ngữ?
* Sử dụng thẻ lang và charset phù hợp
* Hỗ trợ RTL (Right-to-Left) cho một số ngôn ngữ
* Tổ chức content theo cấu trúc i18n
* Thuộc tính `data-` dùng để làm gì?
* Lưu trữ dữ liệu tùy chỉnh trong HTML
* Truy cập dữ liệu thông qua JavaScript Dataset API
* Nếu HTML5 là nguồn mở, thẻ HTML nào mà bạn sẽ phát triển thêm?
* Khác nhau giữa `cookie`, `sessionStorage``localStorage`.
* Cookie: 4KB, gửi lên server mỗi request, có expiry
* sessionStorage: 5MB+, chỉ tồn tại trong session, không gửi lên server
* localStorage: 5MB+, tồn tại vĩnh viễn, không gửi lên server
* Khác nhau giữa `<script>`, `<script async>``<script defer>`.
* script: Blocking, dừng parse HTML
* async: Non-blocking, thực thi ngay khi tải xong
* defer: Non-blocking, thực thi sau khi parse HTML
* Tại sao nên đặt `<link>` trong thẻ `<head></head>` và đặt `<script>` sau thẻ `</body>`. Ngoại lệ khi nào?
* link trong head: Load CSS sớm tránh FOUC (Flash of Unstyled Content)
* script cuối body: Không block render, tải sau khi có DOM
* Ngoại lệ: Script cần thực thi sớm hoặc có async/defer
* Semantic HTML là gì và tại sao nó quan trọng?
* Web Components là gì?
* Shadow DOM dùng để làm gì?

## Hỏi về CSS

* CSS framework là gì?
* Bootstrap, Tailwind, Material UI...
* Ưu điểm: Phát triển nhanh, responsive sẵn
* Nhược điểm: File size lớn, khó customize
* Có mấy cách để sử dụng CSS trên trang web?
* Inline CSS
* Internal CSS (style tag)
* External CSS (link tag)
* Import CSS (@import)
* Lợi / hại của việc sử dụng External Style Sheets?
* Lợi: Tái sử dụng, cache, dễ maintain
* Hại: Thêm HTTP request, có thể block rendering
* Giải thích Ruleset là gì?
* Selector + Declaration block
* VD: `.class-name { property: value; }`
* **Case-sensitivity** - ngôn ngữ css có phân biệt hoa thường khi nào?
* Selectors: Case-sensitive
* Properties và values: Case-insensitive
* Khác nhau giữa Class selector và Id selector?
* Class: Dùng nhiều lần, độ ưu tiên thấp hơn
* ID: Unique, độ ưu tiên cao hơn
* Pseudo-elements là gì?
* ::before, ::after, ::first-line, ::first-letter
* Tạo và style element ảo
* Cách nào đổi khôi phục thuộc tính mặc định của một đối tượng?
* Ex: thẻ `<a class="color1 color2">` có màu đỏ, sau đó bị class `color2` đè lên thành màu xanh. Cú pháp nào để khôi phục lại thành màu trước đó?
* Sử dụng `initial` hoặc `unset`
* VD: `color: initial;`
* `z-index` dùng để làm gì?
* Kiểm soát thứ tự xếp chồng các element
* Chỉ hoạt động với position không phải static
* Tại sao `@import` chỉ có thể sử dụng ở đầu file?

*(Coming soon)*
* Đảm bảo thứ tự load CSS đúng
* Tránh blocking render không cần thiết
* CSS Grid và Flexbox khác nhau như thế nào?
* CSS-in-JS là gì? Ưu nhược điểm?
* CSS Module là gì và khi nào nên dùng?
* BEM methodology là gì?

## Hỏi về Javascript

* Ý nghĩa của biến `this`.
* Context của function hiện tại
* Phụ thuộc vào cách function được gọi
* Sử dụng **AMD****CommonJS** có tốt hay không? Tại sao tốt hoặc không tốt?
* AMD: Async loading, phù hợp browser
* CommonJS: Sync loading, phù hợp Node.js
* Nếu viết theo kiểu IIFE, tại sao đoạn mã sau bị lỗi? `function foo(){ }();`
* Sửa lại
* Sửa lại: `(function foo(){ })();`
* Hoặc: `(function foo(){ }());`
* Khác nhau giữa `null`, `undefined` hoặc chưa khai báo?
* Cách kiểm tra từng trường hợp trên.
* undefined: Biến đã khai báo nhưng chưa gán giá trị
* null: Giá trị rỗng được gán có chủ đích
* Chưa khai báo: ReferenceError khi truy cập
* Khác nhau giữa **host objects****native objects** là gì?
* Native: Built-in objects (Array, Date...)
* Host: Do môi trường cung cấp (window, document...)
* Javascript closure là gì?
* Function có thể truy cập biến ngoài scope của nó
* Giữ reference đến biến sau khi function kết thúc
* `ES6` Yeild là gì? [giải thích](https://blog.duyetdev.com/2016/02/generator-function-javascript.html)
* `ES6` Function* là gì? [giải thích](https://blog.duyetdev.com/2016/02/generator-function-javascript.html)
* callback có phải là một phần của V8 hay không ?
* Khác biệt của arrow function là gì ?
* Phân biệt let,const,var khi nào thì dùng nó ?
* Promise trong JS là gì ?
* Có nên dùng nhiều callback lồng nhau (callback hell) ?
* callback có phải là một phần của V8 hay không?
* Khác biệt của arrow function là gì?
* Phân biệt let,const,var khi nào thì dùng nó?
* Promise trong JS là gì?
* Có nên dùng nhiều callback lồng nhau (callback hell)?

[Rest of the original content continues unchanged...]

## Hỏi về Testing

Expand Down

0 comments on commit 48ee71c

Please sign in to comment.