Một câu hỏi khá đơn giản trong quá trình phỏng vấn là 1- What is restful API với câu hỏi này bạn nên có 3 ý chính : 1.1 - Nó là 1 API (application program interface) 1.2 - Nó hoạt động dựa trên HTTP 1.3- Nó cung cấp các method để thao tác với dữ liệu gồm GET, POST, PUT, DELETE 2 - Khác nhau giữa PUT và Patch PUT : update if exist id, or create new Patch : Update if exist id or throw an exception 3 - Json standard in Restful API 3.1 Use nouns instead of verbs in endpoint paths 3.2 Use logical nesting on endpoints /articles /article/id/comments 3.4 - Handle errors gracefully and return standard error codes Common error HTTP status codes include: 400 Bad Request – This means that client-side input fails validation. 401 Unauthorized – This means the user isn’t not authorized to access a resource. It usually returns when the user isn’t authenticated. 403 Forbidden – This means the user is authenticated, but it’s not allowed to access a resource. 404 Not Foun...
Khi tao tác với DB trong Laravel và Symfony, có thể bạn sẽ làm việc với Eloquent hoặc Doctrine. Vậy sự khác nhau là gì Active Record Doctrine class User extends Eloquent { } Như vậy active record là một object được kế thừa từ Eloquent use Doctrine \ ORM \ Mapping AS ORM ; /** * @ORM\Entity * @ORM\Table(name="users") */ class User { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id ; /** * @ORM\Column(type="string") */ private $name ; } Trong doctrine, data mapper thực chất là 1 PHP Opject đơn thuần $user = User :: find ( 123 ) ; $user -> name = 'Philip Brown' ; $user -> save ( ) ; Khi thao tác với DB, các dùng active record khác trực quan và đơn giản vì bản thân class User được kế thừa từ Eloquen, nên bạn có thể thao tác trực tiếp với DB thông qua Class User Câu lệnh save ở trê...
Trong quá trình phỏng vấn, có thể các bạn sẽ gặp một số câu hỏi liên quan đến devops ví dụ như - Bạn deploy code trên hệ thống như thế nào? - Bạn có thể nói qua về infrastructure của dự án được không? ... Sau đây là diagram, các bạn có thể tham khảo 1 - Cluster config repo Đây là 1 repo nơi bạn chứa cấu hình tất cả thông tin liên quan đến infra, ví dụ DB server, db name, users,... Một thao tác đơn giản nhất là khi bạn muốn tạo 1 db mới, bạn chỉ cần vào Cluster config repo này ( ví dụ file mysql-prod.yaml) thêm các cấu hình DB cần thiết, sau đó push file này lên. Việc còn lại sẽ có 1 software là Puppet làm 2 - Puppet Là 1 phần mềm dùng để provisioning cho infra của các bạn. Có thể hiểu nôm na phần mềm này sẽ set up cho bạn 1 infra dựa trên những cấu hình có được từ Cluster config 3 - Actor Người dùng Ví dụ khi người dùng truy cập trang abc.com, thì request này sẽ được route đến Load Balancer (Cân Bằng Tải) 4 - Load Balancer Cân bằng tải, tiếp nhận các request từ người d...
Comments
Post a Comment