thảo luận [Review Phỏng Vấn] Các công ty CNTT

Status
Not open for further replies.
Cái này cũng như mấy ngôn ngữ khác. Học chắc cơ bản, nền tảng. Biết thêm cái fw của php nữa. Rồi biết thêm về database nữa chắc ổn

Sent from Vsmart Active 3 using vozFApp
 
Các anh chị nhiều kinh nghiệm hoặc từng đi phỏng vấn cho vị trí này cho em xin hỏi khi pv level Junior PHP thì mình cần chuẩn bị kiến thức như thế nào? em xin vào thực tập ở 1 chỗ startup học PHP thuần trong vòng 1 tuần(trước đó chưa biết gì PHP) rồi vào làm dự án Nhật tói giờ cũng được 3 tháng hơn, trải qua nhiều tình huống trong code(vì startup nên em làm khá nhiều), và cũng khá tự tin nên em quyết định thử đi pv Junior ở 1 cty lớn hơn, thì em nên chuẩn bị những gì ạ?
junior chắc chỉ yêu cầu bạn thành thạo mấy cái cơ bản của PHP (oop, magic methods, file access, array functions, ...) . Nếu bạn có dùng framework kiểu Laravel, Symfony thì ngoài việc sử dụng đc framewor cũng nên tìm hiểu cách hoạt động của mấy thành phần cơ bản của nó (như DI container chẳng hạn).
 
Ghê z 3 tháng là cũng mới vừa hết thử việc thui mà. Thử build project hết từ đầu tới cuối chưa bạn. Mình thấy cũng chua đó chứ
 
Em tới đây phỏng vấn tại đây, đọc review trên các diễn đàn thấy toàn không tốt
 
Mình thì cũng muốn đóng góp nhiều mà thực sự là viết bài kỹ thuật nó khá khó + tốn thời gian.

Btw mình xin chia sẽ 1 số tip/kinh nghiệm để chuẩn bị cv, rải cv, chuẩn bị linkedin, rồi ôn luyện phỏng vấn v.v... các bác bổ sung thêm ở các # dưới.
Hạn chế hỏi vớ vẩn nhé. Các bác nào thấy hữu ích thì cho xin cái ưng là được.

Bước 1: Chuẩn bị cv.
Mình suggest các bác đọc bài viết sau của anh Xuân Lương (at Square) https://medium.com/viet-tech-pros/làm-thế-nào-để-xây-dựng-một-resume-chuẩn-fang-bdff6f302837

Trong bài này đã nói rất rõ. Mình mỗi lần update thì thường update theo ... requirement của cty mà mình apply. Ví dụ apply vô cty đang yêu cầu mysql, rest api v.v.. thì sẽ viết theo kiểu highlight các stack này. Tất nhiên vẫn phải là những cái mà mình làm, nắm rõ, tránh bị hỏi mà ko trả lời được.
Lưu ý là chỉ ghi những cái mà các bạn nắm rõ, đừng ghi bừa, cũng đừng tự chấm điểm cho skill của mình.
Mình thấy 1 số format cv có vụ chấm điểm cho skill (3 sao, 4 sao gì đấy), mình nghĩ trừ khi các bạn rất tự tin về skill đó, còn ko thì các bạn ko nên dùng kiểu đấy.
Nói đơn giản: Các bạn chấm SQL skill của bạn 3/5. Vậy như thế nào là 3/5? Rất cảm tính đúng ko? Nên trừ khi bạn là expert, master skill đó, còn ko thì bỏ đi.

Bước 2: Update linkedin.
Nên chuẩn bị profile linkedin kỹ 1 tí, mình thấy nhiều bạn thường ko có thói quen này. Mình thấy linkedin là một nơi rất tốt cho việc tạo network với các bạn HR. Mình rất dị ứng với các bạn HR đi săn người trên facebook(feeling cá nhân thôi). Mình nghĩ fb là nơi riêng tư/cá nhân của mỗi người. Chưa kể các bạn có thể bị bias bởi những gì 1 ứng viên viết/chia sẻ trên fb của họ.
Cách chuẩn bị linkedin, thì mình nghĩ các bạn nên có các recommend từ đồng nghiệp/sếp cũ là tốt nhất. Hoặc viết recommend cho người khác nếu dc yêu cầu.
Gần đây linkedin có vụ làm quiz về 1 stack mà bạn add trên profile, các bạn có thể bỏ thời gian ra để làm thử.
Mình có coi qua profile linkedin của nhiều người, thì mình tình cờ thấy profile của Dũng Uber https://www.linkedin.com/in/🔭-dzung-dang-1565425/
Cách viết linkedin khá hay, các bạn có thể tham khảo. Tham khảo nhé, chứ ko bắt buộc các bạn viết y chang, mỗi ng sẽ có style khác nhau.

Giờ mình xin nói về cách ôn luyện phỏng vấn:
Ôn luyện thì kiến thức rất mênh mông, chưa kể làm backend/data/frontend, v.v... mỗi vị trí sẽ có những yêu cầu khác nhau.
Mình chia ra gồm các phần sau:

Phần 1: Kiến thức nền tảng, cơ bản.
Kiến thức nền tảng bao gồm: OS, network, database, OOP, v.v.... Nói đơn giản, cái gì các bạn học ở đại học thì đó là kiến thức nền tảng.
Mình ví dụ 1 vài câu:
- Mô tả cách browser làm gì sau khi bạn enter 1 url trên browser? Để trả lời câu này, các bạn cần phải nắm, http/https, dns, routing, các giao thức http/ip/tcp/udp, v.v... Đây là 1 câu khá hay, tùy theo cách bạn trả lời, ng ta sẽ hỏi xoáy vô các kiến thức khác.

Phần 2: Coding skill
Đơn giản là luyện leetcode/hackerank. Các bạn cứ làm hết các topic cơ bản: Linklist, tree, bfs/dfs, hashtable, sort, search v.v....
Tốt nhất là code trên leetcode xong, thì ngồi code lại trên máy, tự tạo input/output để chạy. Rồi tính toán độ phức tạp, v.v...
Các bạn có thể thử cuốn "Crack coding interview 189 question".
Mình khuyên các bạn nên bỏ vài chục $ ra mua leetcode premium. Mình nghĩ ko nên tiếc khoản tiền nhỏ này, nó sẽ rất hữu ích cho các bạn.

Phần 3: System design
Với phần này các bạn sẽ đc giao 1 câu hỏi mở về thiết kế 1 hệ thống.
Mình suggest các bạn đọc course "system design" trên educative.io
Tuy nhiên để trả lời tốt phần này, các bạn cần nắm kỹ về database, theo mình đây là cái quan trọng nhất.
Database có thể chia đơn giản thành 2 nhóm: RDBM và Nosql.
Các bác ko cần phải nắm hết, cứ nắm 1 thằng trong mỗi nhóm kia là được, đặc biệt là NoSQL.
Nắm vững ở đây là hiểu dc data model, architecture, cách write/read/partition/replication của nó. Cách tốt nhất là đọc sách + practice.
Ngoài ra, đọc thêm blog từ các công ty lớn (netflix, airbnb, v.v...) xem cách họ xây dựng hệ thống cũng khá hay.

Phần 4: Exprienced
Phần này các bác sẽ phải chuẩn bị về các project trong quá khứ. Mình khuyên các bác nên chuẩn bị trước ở nhà và dành ít nhất 2-3 ngày để chuẩn bị.
Cách chuẩn bị thì theo STAR của Amazon https://interviewsteps.com/blogs/news/amazon-star-method
Các bác nói về 1 project theo đúng template này là ổn.
Ngoài ra, các câu hỏi về behavior cũng rất quan trọng: Ví dụ việc các bác trễ deadline, hay có mâu thuẫn với đồng nghiệp về chọn solution, v.v... Tầm phỏng vấn cho fang thì khá chắc là sẽ được hỏi.

Về cơ bản là thế. Ngoài ra nên chuẩn bị kỹ theo Job Description. Về cơ bản thì những gì các bác sẽ dc hỏi đều nằm trong Job Description.
Cho nên mình sẽ ko ghi chi tiết ra ở đây vì như thế là ko đủ. Mình chỉ list ra 1 số phần cơ bản mà ai cũng sẽ phải đối mặt và cần chuẩn bị.
Còn với các kiến thức cần thiết tùy theo từng vị trí thì các bác chuẩn bị:
Ví dụ với backend thì sẽ hỏi về rest api, các protocol như thrift/rpc hoạt động.
Ví dụ với DE thì hỏi về hadoop/spark/streamming data. (https://awesomedataengineering.com/)

Ngoài ra mình ko chuyên frontend nên mình ko trình bày ở đây.
Chưa kể những phần này mà liệt kê ra thì rất nhiều và mình cũng ko thể liệt kê hết được. Nên mình xin mời các bác bổ sung thêm.

Tạm thời mình nghĩ dc nhiêu đó, từ từ sẽ update thêm vậy :doubt:

Update:
  • Chắc hẳn các bạn sẽ nhắm tới 1 vài công ty nào đó. Trước khi đi pv các công ty này, bạn nên đi pv ở 1 vài công ty khác thấp hơn.
  • Tập luyện phần coding skill với 1 ng quen cũng là điều có thể thực hiện dễ dàng
 
Last edited:
Cảm ơn bác đã chia sẻ ạ.
Tiện bác cho em hỏi nên trả lời những câu hỏi kiểu "Tại sao bạn lại chọn công ty ***" như thế nào ạ
 
Status
Not open for further replies.
Back
Top