
Django nhanh như chóng chóng, dựng web với Django thì lẹ khỏi phải bàn, nhưng điều gì giúp cho Django trở nên mạnh và nhanh tới vậy?, đó là một trong vô vàn câu hỏi phỏng vấn Django.
Bài viết này tổng hợp chút kiến thức về Django Web Framework. Lướt qua đầy đủ từ kiến trúc, cache, các vấn đề bảo mật. Mong rằng nó sẽ có ích cho anh em trong các buổi phỏng vấn.
Giải thích Django Architecture
Câu hỏi đầu tiên phỏng vấn Django là câu hỏi về kiến trúc. Tất nhiên là đã làm về Django bạn sẽ hiểu kiến trúc chính của Django
Như bạn đã biết, Django tuân theo kiến trúc MVT (Model, View và Template). Dành cho bạn nào chưa biết có thể tham khảo lại bài viết giới thiệu Django tại đây nha. Nhưng 3 thành phần đó trong kiến trúc của Django đã hoạt động như thế nào?
Khúc này cần nêu ra kiến trúc bắt đầu từ Client (mà client là template). Bản thân nó nằm ở phía Client side.

Còn Model và View (cả model và view đều nằm ở phía server side nha). Bạn thường nhầm là view nằm ở phía client, nhưng không phải, view vẫn nằm ở phía server.
Để rõ hơn, cùng bàn luận qua ví dụ thực tế này. Bạn tạo một website, mở ra phát là giao diện đăng nhập. Trước khi bàn tới template thì khi bạn access qua URL trên browser, một request sẽ gửi tới ngay server. Sau khi server phản hồi lại, bạn có form để điền thông tin. Điền thông tin xong, bấm đăng nhập. Lúc này data lại gửi tới view, view đi tới model để xác thực người dùng, ok thì đăng nhập.
Những điểm mạnh của Django?
Sau khi đã nắm rõ kiến trúc của Django và các mà các thành phần trong MVT giao tiếp với nhau. Câu hỏi phỏng vấn Django thứ hai muốn bạn trả lời được về điểm mạnh của frameworks này.
Tại sao lại là Django mà không phải những web development framework khác? Có thể nêu bật ra một số ưu điểm của Django như sau:
- Đầu tiên về mặt tài liệu (document), Django cung cấp tài liệu cụ thể, chi tiết và dễ hiểu.
- Phát triển nhanh chóng (được phát triển bởi các lập trình viên có kinh nghiệm, áp dụng KISS và DRY – Don’t repeat yourself)
- Ngoài nhanh, Django còn tối ưu cho SEO, rất thích hợp với các website thương mại điện tử.
- Bảo mật tốt và khả năng mở rộng cao
- Hỗ trợ kết nối với CDN và có hỗ trợ CMS (content management system)

Tất nhiên đây chỉ là những ý chính. Còn thực tế sau khi đã có kinh nghiệm làm việc với Django bạn có thể nói rõ ra các ví dụ cụ thể. Cũng có thể đem ra với các framework khác cũng dùng để phát triển web như PHP Laravel, …
Giải thích về Django session
Câu hỏi số 3 phỏng vấn Django nhắm tới các lập trình viên đã có nhiều năm kinh nghiệm và hiểu rõ về Django.
Đầu tiên thì session trong Django được sử dụng để theo dõi trạng thái giữa web server và một trình duyệt cụ thể nào đó. Cái này nếu muốn hiểu rõ hơn bạn cần đọc thêm về stateful và stateless tại đây.
Mỗi khi session được cấp, nó sẽ gắn với một ID và ID này được đặt trong cookies. Bạn lưu ý là chỉ chứa ID của session đó chứ không phải dữ liệu của session. Chính vì thế nên tính bảo mật của session trong Django rất cao.

Ngoài ra Django còn hỗ trợ anonymous session (session ẩn danh). Session này dành cho các user không đăng nhập.
Django caching là gì?
Gọi là Django caching vậy thôi chứ caching là khái niệm cơ bản. Câu hỏi phỏng vấn Django này chủ yếu muốn bạn nêu rõ ra các lại cache. Lúc nào thì nên sử dụng loại cache nào.
Cũng cứ lướt qua tí là cache là việc lưu trữ lại kết quả đã có trước đó. Lúc nào cần cứ qua cache mà lấy, không cần phải thực hiện query hay tính toán lại.
Còn về các loại cache, anh em cần nêu ra được các lại cache trong Django.
- Memcached: Cái này thì cache trên bộ nhớ (nhanh và dễ sử dụng). Cache thẳng trên mem của server ha. Không cache được nhiều
- Filesystem caching: Django lưu trữ cache trong file, chia thành các file nhỏ khác nhau và nối tiếp nhau. Các file riêng biệt.
- Local-memory caching: Cái này thì mặc định trên Django, lưu ở mem trên browser.
- Database caching: Cuối cùng là database cache, cái này đúng như cái tên, lưu ở phía DB. Bạn nếu có DB và đánh index tốt thì database caching sẽ phát huy hiệu quả

Django có thực sự bảo mật?
Ở cái thời đại mà bảo mật được xem như vấn đề cốt lỗi của ứng dụng thì Django cũng không phải là ngoại lệ. Câu hỏi phỏng vấn Django này cần bạn có kiến thức về bảo mật.
Ngoài việc hiểu rõ từng vấn đề bảo mật, bạn cần nêu được Django đã support hoặc hỗ trợ giải quyết các vấn đề bảo mật nào. Cụ thể ở đây có thể nêu ra một số ưu điểm khi sử dụng Django.
Có 7 thứ giúp Django framework trở nên tốt hơn trong vấn đề bảo mật. Từ những phương thức tấn công được biết nhiều như XSS, SQL Injection. Django còn hỗ trợ bảo mật phiên (session security), CSRF, …
- Cross-site scripting (XSS) protection
- SQL injection protection
- Cross-site request forgery (CSRF) protection
- Enforcing SSL/HTTPS
- Session security
- Clickjacking protection
- Host header validation



Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :
Tag Cloud:
Tác giả: Lê Thị Ngọc Anh
Việc làm tại Devwork
Bài viết liên quan
AI Coding Là Gì? Developer Cần Biết Gì Trước Khi Xin Việc?
AI Coding không chỉ là một xu hướng trong ngành công nghệ mà còn là một công cụ mạnh mẽ giúp các lập trình viên nâng cao hiệu suất và chất lượng công việc. Bài viết này cung cấp cái nhìn sâu sắc về AI Coding cũng như những kỹ năng cần thiết mà developer nên chuẩn bị trước khi bước vào thị trường lao động hiện đại. Cùng với đó, devwork.vn được giới thiệu như một nền tảng hữu ích để tìm kiếm các cơ hội nghề nghiệp trong ngành IT....
Lập Trình Viên Có Nên Học Prompt Engineering?
Prompt Engineering đang trở thành một phần quan trọng trong lĩnh vực AI, mang đến nhiều cơ hội cho lập trình viên trong thị trường công nghệ. Nắm bắt kỹ năng này không chỉ giúp lập trình viên cải thiện khả năng giải quyết vấn đề mà còn mở ra nhiều cơ hội thăng tiến nghề nghiệp. Nền tảng devwork.vn là nơi lý tưởng để tìm kiếm cơ hội trong ngành IT.

So sánh chi phí thuê IT Onsite và tuyển dụng kỹ sư IT nội bộ
Việc lựa chọn giữa thuê IT Onsite và tuyển dụng kỹ sư IT nội bộ đòi hỏi sự cân nhắc kỹ lưỡng về chi phí và lợi ích dài hạn. Cả hai phương án đều có những ưu nhược điểm riêng, ảnh hưởng đến sự phát triển và văn hóa của doanh nghiệp. Nền tảng devwork.vn là một giải pháp hỗ trợ tối ưu giúp doanh nghiệp tìm kiếm và quản lý nhân sự IT hiệu quả.

10 Kỹ Năng AI Developer Nên Học Để Tăng Cơ Hội Việc Làm
Trí tuệ nhân tạo đang mở ra nhiều cơ hội nghề nghiệp hấp dẫn, đặc biệt cho các AI Developer. Để nổi bật trong lĩnh vực này, nắm vững 10 kỹ năng quan trọng như lập trình Python, xử lý dữ liệu lớn, và hiểu biết về Machine Learning là điều cần thiết. Những kỹ năng này không chỉ giúp bạn gia tăng cơ hội việc làm mà còn phát triển sự nghiệp bền vững.

Tuyển dụng IT mất nhiều thời gian? IT Onsite có thể giải quyết bài toán nhân sự như thế nào?
Trong bối cảnh tuyển dụng IT kéo dài và phức tạp, IT Onsite nổi lên như một giải pháp hữu hiệu giúp doanh nghiệp nhanh chóng bổ sung nhân lực chất lượng. Bài viết phân tích chi tiết cách IT Onsite có thể tiết kiệm thời gian, chi phí và đảm bảo tiến độ dự án, đồng thời đề xuất cách kết hợp với chiến lược nhân sự dài hạn để tối ưu hóa hiệu quả.
Developer Cần Biết AI Đến Đâu Để Không Bị Tụt Hậu Trong Thị Trường IT?
Trí tuệ nhân tạo đang định hình lại thị trường IT, mở ra nhiều cơ hội cũng như thách thức cho các lập trình viên. Bài viết này phân tích sâu sắc về tầm quan trọng của AI, các kiến thức cần thiết và cách áp dụng AI trong công việc hàng ngày, giúp developer không bị tụt hậu. Khám phá thêm về cơ hội nghề nghiệp tại devwork.vn để tiến xa hơn trong sự nghiệp IT của bạn.













