Future full-stack developer

Tổng hợp những câu hỏi phỏng vấn mà mình nghĩ sẽ cần cho bản thân mình sau này xem lại, và cũng dành cho các bạn nếu muốn tham khảo, sắp phỏng vấn 1 vị trí full-stack developer.
Let’s start…
Để trở thành 1 full-stack developer thì cần phải thành thạo qua: Frontend, Backend, và thêm chút devops.
Trước tiên thì các bạn muốn xem roadmap của từng mảng 1 ở trên thì có thể vào link này xem, mình nghĩ nó quá đầy đủ rồi nên chỉ dẫn link thôi khỏi viết.
Thứ 2 là một bản mô tả chi tiết cho bạn nào muốn đi chi tiết hơn, cái này nếu xem hết và pass hết thì bạn thi tuyển vào google cũng oke đấy vì tác giả ghi lại quá trình thi tuyển vào google.
Kèm link nếu các bạn dở tiếng anh 😀
Tóm tắt chút:
- Nói chung không ngoại trừ khả năng họ hỏi câu “Khái niệm lập trình?”
Thì đơn giản: lập trình là một cấu trúc dữ liệu và các lệnh của ngôn ngữ nào đấy để mô tả dữ liệu và diễn đạt thuật toán.
Có 3 loại ngôn ngữ: Máy(máy nó hiểu), hợp ngữ và bậc cao(các bạn dùng cái này).
1 vấn đề là …

Dấu “?” là chương trình dịch. Đại loại nó sẽ chuyển đổi đống sh*t các bạn code sang ngôn ngữ mà máy nó hiểu được.
Có 2 loại Ctr dịch: Thông dịch và biên dịch. Bạn đọc hình dưới để hiểu hơn.

Các câu hỏi thông dụng
Session, Cookie, cache:
SESSION được hiểu là khoảng thời gian mà người sử dụng giao tiếp với 1 ứng dụng. Một session bắt đầu khi client gửi request đến sever, nó tồn tại xuyên suốt từ trang này đến trang khác trong ứng dụng và chỉ kết thúc khi hết thời gian timeout hoặc khi bạn đóng ứng dụng.
COOKIE Cũng giống như session, cookie cũng được dùng để lưu những thông tin tạm thời. Chỉ có điều, tệp tin cookie sẽ được truyền từ server tới browser và được lưu trữ trên máy tính của bạn khi bạn truy cập vào ứng dụng, Mỗi khi người dùng tải ứng dụng, trình duyệt sẽ gửi cookie để thông báo cho ứng dụng về hoạt động trước đó của bạn.
CACHE Cache là bộ nhớ đệm, vùng lưu trữ tạm thời trong máy tính. Nó khác với cookie ở chỗ thông tin lưu trữ ở đây là các tài liệu web, các hình ảnh, các video, HTML, ….
Các hàm trong những ngôn ngữ lập trình
Hướng đối tượng OOP
Lập trình hướng đối tượng có 4 đặc điểm cơ bản sau:
- Tính đóng gói: “đóng gói” thuộc tính và phương thức của đối tượng (hoặc lớp) thông qua việc giới hạn quyền truy cập (hoặc thay đổi) giá trị của thuộc tính hoặc quyền gọi phương thức:
public
,private
vàprotected
- Tính kế thừa: Tính kế thừa trong lập trình hướng đối tượng cho phép một lớp (class) có thể kế thừa các thuộc tính và phương thức từ các lớp khác đã được định nghĩa. sử dụng từ khóa
extends
- Tính trừu tượng: Tính trừu tượng (abstraction) trong lập trình hướng đối tượng giúp giảm sự phức tạp thông qua việc tập trung vào các đặc điểm trọng yếu hơn là đi sâu vào chi tiết. PHP có
abstract class
vàinterface
để trừu tượng hóa các đối tượng. - Tính đa hình: Tính đa hình (polymorphism) trong lập trình hướng đối tượng cho phép các lớp con có thể viết lại
override
các thuộc tính hoặc phương thức từ lớp cha.
Interface
và Abstract class:
Abstract class
: là một class cha cho tất cả các class có cùng bản chất. Bản chất ở đây được hiểu là kiểu, loại, nhiệm vụ của class. Keyword(chỉ có kế thừa từ 1 abstract class, ko có đa kế thừa):extend
Interface
: là một chức năng mà bạn có thể thêm và bất kì class nào. Từ chức năng ở đây không đồng nghĩa với phương thức (hoặc hàm). Interface
có thể bao gồm nhiều hàm/phương thức và tất cả chúng cùng phục vụ cho một chức năng. Keyword:(class có thể implement nhiều interface) implement
static::method()
với self::method()
- Phương thức
static
là phương thức có thể truy cập mà không cần khởi tạo một đối tượng của class.self
vàstatic
là đại diện củaclass
, còn$this
là đại diện củaobject
. phương thứcstatic
không thể gọi phương thức hoặc thuộc tínhnon-static
. Nhưng phương thứcnon-static
có thể gọi phương thức hoặc thuộc tínhstatic
. Từ khóaself
đại diện cho chính đối tượng khai báo nó,static
nó sẽ đại diện cho chính đối tượng đanggọi
đến nó. self
: đại diện cho classkhai báo
nó.static
: đại diện cho classgọi
đến nó.- MySql
- Redis
- MVC

- Docker
- Git
- AWS
- Cấu trúc dữ liệu
- Big-O
- Tree
- Sort
- Đồ thị
- Microservices
PHỎNG VẤN LARAVEL
SECURITY
- SQL Injection
- XSS
QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
- Agile -Scrum
Đang cập nhật …