Trong khuôn khổ bài viết khá dài này mình sẽ chia sẻ một số kinh nghiệm mình đã rút ra được trong quá trình đi phỏng vấn tại các công ty công nghệ ở Việt Nam. Đây hoàn toàn là những kinh nghiệm cá nhân của mình vậy nên chắc chắn chưa thể đầy đủ, bạn nào có những kinh nghiệm khác hãy comment trong phần bình luận để mọi người cùng học hỏi nhé.
1. Tổng quan.
- Về cơ bản mình thấy format chung các công ty công nghệ tại Việt Nam thường sẽ phỏng vấn theo dạng Q&A. Tức là interviewer trao đổi và hỏi trực tiếp ứng viên trong buổi phỏng vấn về các câu hỏi liên quan đến chuyên môn, nghiệp vụ thông qua các dự án đã làm và các công nghệ đã sử dụng.
- Số round phỏng vấn thì cũng tuỳ thuộc vào từng công ty nhưng mình thấy thường sẽ có hai round như sau:
Round 1. Chuyên môn + Nghiệp vụ
-
Tại vòng này một số công ty có thể yêu cầu làm một bài test (online hoặc offline) trước cuộc phỏng vấn. Nếu kết quả bài test tương đối tốt họ sẽ hẹn bạn phỏng vấn hoặc phỏng vấn ngay sau bài test nếu bạn làm offline.
-
Trong buổi phỏng vấn interviewer thường sẽ hỏi những câu về ngôn ngữ lập trình, framework, library và các công nghệ mà bạn từng dùng trong các dự án trước đó. Ví dụ với vị trí Backend Engineer sử dụng Java thì họ sẽ hỏi về Java, Spring framework, Redis, Apache Kafka... Nói chung là những gì các bạn ghi trong CV (đặc biệt là ở các dự án mà bạn làm gần đây nhất).
Round 2. Deal lương
Sau khi kết thúc buổi phỏng vấn về chuyên môn, nếu các bạn thể hiện tốt nhà tuyển dụng sẽ hẹn các bạn một buổi khác hoặc ngay sau đó luôn để trao đổi về lương cũng như những phúc lợi, văn hoá của công ty.
Nhưng cũng tuỳ công ty mình thấy có hai trường hợp:
- HR hỏi các bạn về mức lương mong muốn trước cuộc phỏng vấn.
=> Để xem mức lương bạn mong muốn có phù hợp với package cho vị trí đó của công ty không. Nếu cao quá có thể họ sẽ chơi bài ngửa luôn còn không họ vẫn hẹn bạn đi phỏng vấn nếu thấy CV của bạn phù hợp và sẽ deal xuống mức phù hợp hơn sau phỏng vấn (kèm một số hứa hẹn + quyền lợi). Nhưng với tình hình kinh tế hiện nay thì mình thấy các công ty sẽ không "tự hạ giá" đâu, trừ khi bạn là cao nhân phương nào. Nếu sau phỏng vấn các bạn vẫn "rắn" với con số "cao quá" thì có thể phỏng vấn tốt nhưng bạn vẫn tạch.
- HR không hỏi mức lương mong muốn trước buổi phỏng vấn.
=> Họ sẽ hẹn bạn đi phỏng vấn luôn nếu thấy CV phù hợp (trường hợp này có thể họ đang cần người, đặc biệt là người làm được việc) nên mức lương không phải là ưu tiên đầu tiên. Nếu các bạn phỏng vấn tốt có thể deal mức lương nhỉnh hơn chút nhưng vẫn phải phù hợp, tuỳ thuộc vào cảm nhận lúc đó của bạn, nhớ là đừng deal lố quá không lại "ngáo giá" thì dở.
Lưu ý: Trong vòng này bộ phận nhân sự cũng sẽ đề cập tới phúc lợi và văn hoá của công ty cho các bạn biết.
2. Câu hỏi chuyên môn
Ở đây mình lấy ví dụ vị trí Backend Engineer với Java. Các câu hỏi được mình tổng hợp từ nhiều buổi phỏng vấn khác nhau, tất nhiên chưa thể đầy đủ được nhưng các bạn có thể tham khảo để chuẩn bị cho các buổi phỏng được tốt hơn.
Java
- So sánh List, Set, Map trong Java?
- So sánh Array và ArrayList, ArrayList và LinkedList trong Java. Đưa ra một vài ví dụ mà bạn sử dụng các cấu trúc dữ liệu này trong dự án.
- Giải thích về HashTable và HashMap trong Java. Tại sao key của HashMap lại phải là object type mà không phải primitive type.
- String pool là gì? Sự khác nhau giữa
String a = "a";
vàString b = new String("b");
- Giải thích về cách thức hoạt động của bộ Stack và Heap trong Java.
- Giải thích về Java garbage collection. Cách thức hoạt động. Tại sao lại cần?
- Abstract class và interface được sử dụng trong các tình huống nào? Lấy ví dụ trong các dự án đã làm.
- Stream APIs có một số phương thức như map, filter... Giải thích cách thức hoạt động và đưa ra một số trường hợp cụ thể sử dụng các phương thức này trong dự án nếu có.
- Java generic là gì? Lấy một vài ví dụ sử dụng generic type trong Java. Làm sao để tự viết một generic class, generic method trong Java.
- Có mấy loại exception trong Java? Làm sao tự định nghĩa một exception? Dự án hiện tại handle exception như thế nào?
- Có sử dụng Java Reflection không? Sử dụng Reflection để làm gì? Lấy ví dụ.
...
Frameworks
- Giải thích IoC và DI (Inversion of control và Dependency injection) ứng dụng trong Spring framework.
- Spring AOP là gì? Các thành phần chính của Spring AOP? Ứng dụng của Spring AOP?
- Làm sao quản lý transaction trong ứng dụng Spring. Giải thích cách thức hoạt động của @Transactional, các loại isolation level, propagation.
- Spring Bean là gì? Làm sao Spring quản lý các bean object? Vòng đời của một bean object như thế nào?
- Sự khác biệt giữa
@Controller
và@RestController
là gì? - So sánh Spring MVC và Spring Boot.
- Giải thích về kiến trúc và flow của Spring MVC.
- So sánh sự khác nhau giữa JPA và Hibernate.
- Giải thích sự khác nhau giữa FetchLazy và FetchEager trong Hibernate? Lấy ví dụ cụ thể.
- N+1 select query là gì? Làm sao xử lý bài toán này trong JPA và Hibernate?
- Làm sao để viết và thực thi một câu natvie sql trong ứng dụng Spring?
- Spring Security hoạt động theo cơ chế gì? Kiến trúc ra sao? Làm sao cấu hình?
- Spring Batch dùng để làm gì? Lấy một ví dụ cụ thể.
...
Design patterns
- Giải thích về singleton pattern trong Java. Làm sao triển khai singleton pattern? Singleton pattern có ưu, nhược điểm gì?
- Factory method là gì? Có mấy cách triển khai? Ví dụ áp dụng trong dự án thực tế.
- Facade pattern dùng để làm gì? Ví dụ trong dự án thực tế.
- Khởi tạo một object sử dụng Builder pattern như thế nào? Ưu điểm của Builder pattern so với việc sử dụng constructor và setter.
- SOLID principles gồm những nguyên tắc nào?
...
Database
- Bên em sử dụng database nào? Anh thấy trong CV có ghi database X và database Y. Theo em hai thằng này khác nhau như thế nào? Dùng trong trường hợp nào?
- Nếu có một bảng lớn bị chậm theo em nên làm thế nào để tăng tốc độ truy vấn của bảng đó?
- Giải thích về các loại JOIN trong MySQL.
- SELECT COUNT(1) và SELECT COUNT() có khác gì nhau không?
- Anh có hai bảng A và B, bảng A là một bảng lớn, bảng B là một bảng nhỏ. Hai bảng này join với nhau, theo em join từ bảng A sang B hay từ B sang A sẽ tối ưu hơn hay là như nhau?
- Em có dùng Derived Tables và Common Tables Expression chưa? Theo em hai kỹ thuật có gì giống và khác nhau?
- Một một câu query lấy danh sách top 5 nhân viên có lương cao nhất từ bảng employee.
- Cho bảng Unit (id, parent_id, name), trong đó mỗi Unit đều có parent_id, nếu parent_id null đó là Unit cấp cao nhất. Viết câu query lấy danh sách Unit A và toàn bộ Unit con của Unit A.
...
Công nghệ
- Hệ thống bên em sử dụng Redis để làm gì? Redis hỗ trợ các loại dữ liệu nào? Làm sao để thực hiện replication trong Redis?
- Hệ thống bên em sử dụng Kafka để làm gì? Làm sao sử dụng Kafka trong ứng dụng Spring? Trong trường hợp Kafka không pub/sub được dữ liệu thì xử lý như thế nào? Kafka có bảo đảm transaction không?
- Em có làm với mô hình microservices bao giờ chưa? Microservices gồm những thành phần nào? Vấn đề lớn nhất khi làm việc với hệ thống microservices theo em là gì? Các services trong mô hình microservices giao tiếp với nhau như thế nào, có những cách thức nào?
- Hệ thống bên em có triển khai theo phương pháp gì? Có sử dụng công nghệ Container, sử dụng Docker không? Nếu có vài chục service thì kịch bản triển khai như thế nào?
...
Câu hỏi khác
- Bên em sử dụng công cụ gì để quản lý mã nguồn? Gitflow của bên em như thế nào? Em có biết dùng SVN không? SVN khác gì so với Git?
- Em có làm việc với server Linux bao giờ chưa? Có nắm được một số lệnh cơ bản không?
- Em dùng tools gì để code?
- Bên em có sử dụng công cụ gì để kiểm tra chất lượng mã nguồn không?
...
3. Câu hỏi nghiệp vụ.
Đối với các công ty làm sản phẩm, các bank, hoặc đơn vị tài chính thì các câu hỏi về nghiệp vụ cũng rất quan trọng và được hỏi nhiều. Nhưng về cơ bản họ vẫn sẽ hỏi dựa trên những gì các bạn ghi trong CV. Một số câu hỏi phổ biến như:
- Ở dự án X này, em làm những tính năng gì? Mô tả luồng nghiệp vụ của tính năng đó.
- Quy trình tích hợp với các hệ thống đối tác của bên em như thế nào? Mô tả tổng quát các bước.
- Làm sao để bảo đảm tính bảo mật (security) cho một luồng nghiệp vụ X.
- Quy trình phát triển tính năng, sản phẩm.
- Quy trình xử lý lỗi trên môi trường product. ... => Phần này câu hỏi sẽ phụ thuộc rất nhiều vào các dự án các bạn làm trước đó. Ví dụ làm về bank có thể được hỏi về luồng nạp rút tiền, luồng đối soát, luồng hoàn huỷ...
Lưu ý: Thường các bạn làm backend sẽ được hỏi nhiều về phần này hơn.
4. Câu hỏi tình huống.
Thường thì sau khi phỏng vấn vòng technical xong, các bạn sẽ gặp manager để phỏng vấn một số câu hỏi tình huống cũng nhưng chuẩn bị cho bước deal lương. Thường manager sẽ mô tả khái quát về công ty, dự án bạn sẽ join và hỏi bạn một vài câu hỏi tình huống:
- Em nghĩ sao về việc OT, trong trường hợp việc gấp phải OT em có sẵn sàng OT không?
- Em có bao giờ mâu thuẫn với đồng nghiệp và cấp trên chưa, lúc đó em xử lý như thế nào?
- Nếu dự án đang gấp, nhưng em lại bận việc cá nhân bất khả kháng thì em xử lý như thế nào?
- Em có sẵn sàng training cho các bạn intern, fresher mới vào không?
- Nếu được leader giao task khó quá em sẽ làm gì?
- Trường hợp em làm việc với team khác nhưng xảy ra mâu thuẫn em sẽ xử lý ra sao? ...
Mấy câu này thì không có văn mẫu, nhưng mình nghĩ các bạn nên trả lời càng tích cực càng tốt. Đừng tỏ ra né tránh quá hay e ngại quá, thực ra cũng chỉ là những câu hỏi tình huống xem các bạn xử lý ra sao. Cứ trả lời khéo léo, tích cực để vào được công ty rồi tính tiếp.
4. Deal lương.
Đến được bước này các bạn đã thành công 50% rồi, nhưng nếu "không thuận mua vừa bán" mà có lỡ "ngáo giá" thì không chừng công sức coi đổ sông đổ bể. Hãy nhớ rằng nhà tuyển dụng họ không chỉ phỏng vấn mỗi mình các bạn đâu, các bạn cũng chỉ là một trong số lựa chọn của họ. Vì vậy để việc deal lương diễn ra tốt đẹp các bạn nên tìm hiểu trước:
- Nghiên cứu thị trường về mức lương cho vị trí các bạn ứng tuyển (có thể lên các nền tảng tìm kiếm việc làm IT, hỏi thăm bạn bè làm tại công ty đó hoặc căn cứ vào khoảng lương mà các bạn đưa ra trước đó).
- Tìm hiểu về chính sách lương + thưởng + phúc lợi của công ty.
- Mức lương đóng thuế và bảo hiểm xã hội (full lương hay trên lương cơ bản hay 50% lương).
- Công ty thường sẽ bonus bao nhiêu tháng lương (fix 1 tháng lương 13 + thưởng kinh doanh hay fix 2 tháng lương 13 không có thưởng kinh doanh...)
=> Theo kinh nghiệm của mình, hiện nay hầu hết các công ty đều đưa ra mức offer theo lương Gross. Lương Gross sẽ được tính theo công thức sau:
Lương Gross = Lương Net + (BHXH BHYT + BHTN + thuế TNCN)
Nhiều bạn vẫn nhầm lẫn mức lương Net và lương Gross nên khi đưa ra offer với nhà tuyển dụng các bạn đưa mức lương Net nhưng rồi đến lúc nhận lương mới ngã ngửa ra. Vì vậy các bạn có thể sử dụng công cụ này của topcv để tính lương Gross -> Net hoặc Net -> Gross.
Ví dụ: Các bạn mong muốn mức lương thực nhận hàng tháng là 20.000.000 VNĐ. Các bạn tìm hiểu công ty hiện tại thì được biết mức lương đóng BHXH, BHTN là trên mức full lương, giả sử các bạn không có người phụ thuộc, là người thuộc vùng I thì các bạn nhập như sau rồi bấm NET -> GROSS.
Khi này nếu nhà tuyển dụng yêu cầu bạn đưa ra offer theo lương Gross bạn phải đưa ra con số khoảng 23.500.000 VNĐ chứ không phải 20.000.000 VNĐ.
Tạm thời bỏ qua yếu tố quan hệ, tiền tệ mình thấy việc deal lương trong ngành IT khá sòng phẳng. Đều dựa trên năng lực, kinh nghiệm là chính, nhiệm vụ của các bạn là làm sao thể hiện thật tốt trong buổi phỏng vấn và đưa ra một mức offer phù hợp.
Q&A
Nêu deal lương Net hay lương Gross?
Theo cá nhân mình, các bạn nên deal lương Gross vì lương Gross thể hiện rõ các khoản mà bạn nhận được. Có thể các bạn cảm thấy deal lương Gross khó hơn (vì mình phải tính thêm các khoản phí) hai nữa lương Gross sẽ "cao hơn" lương Net liệu nhà tuyển dụng họ có đồng ý không? Nhưng hãy nhớ rằng dù các bạn deal lương Net hay Gross thì nhà tuyển dụng cũng đã tính cả rồi.
=> Vậy nên các bạn hãy tìm hiểu về chính sách của công ty trước, rồi đưa ra một mức lương Gross phù hợp.
Nên deal theo tháng hay theo package 1 năm?
Để trả lời được câu hỏi này, các bạn nên hỏi rõ nhà tuyển dụng về chính sách lương thưởng. Nếu các bạn muốn "chắc kèo" thì hãy deal theo gói năm (chính thức + fix bonus + các khoản khác). Nhưng như thế này các bạn sẽ phải tính toán nhiều, hai nữa theo kinh nghiệm của mình việc deal lương theo package năm ở Việt Nam nó hên xui lắm, kiểu gì công ty cũng sẽ quy ra lương tháng (vì ai mà chắc được tình hình kinh doanh ra sao).
=> Theo mình nếu các bạn phỏng vấn vào các công ty nước ngoài thì có thể deal theo package năm, còn vào các công ty Việt Nam thì cứ deal theo lương tháng.
Làm sao để biết mức lương phù hợp là bao nhiêu?
- Khảo sát thị trường bằng cách lên các trang xem thống kê về mức lương các vị trí lĩnh vực IT năm xxxx. Ví dụ:
- Phỏng vấn "dạo" bằng cách phỏng vấn thử vài công ty xem họ offer cho bạn mức bao nhiêu trước khi phỏng vấn vào công ty các bạn mong muốn.
- Nếu có người quen làm trong các công ty đó thì hay thăm dò thử xem mức lương cho vị trí đó là bao nhiêu.
- Hoặc nếu các bạn có biểu hiện tốt trong buổi phỏng vấn có thể hỏi trực tiếp nhà tuyển dụng (nhưng sẽ ít ai trả lời trực tiếp, trừ khi bạn là người họ sẵn sàng đánh đổi).
5. Chuẩn bị và phỏng vấn.
5.1 - Chuẩn bị một CV thật chuyên nghiệp.
Như thế nào là một CV chuyên nghiệp? Theo mình nghĩ sẽ gồm có hai khía cạnh đó là hình thức và nội dung.
1. Hình thức
Có rất nhiều mẫu CV cho từng vị trí mà các bạn có thể tìm trên mạng, ví dụ các bạn có thể lên topcv.
Cá nhân mình thấy các mẫu CV có sẵn thường gồm nhiều thông tin không cần thiết nên mình thường tự viết. Một vài lưu ý khi tự viết CV (đối với các bạn làm trong lĩnh vực IT) đó là:
- Không cung cấp các thông tin thừa (địa chỉ quá chi tiết, link các tài khoản mạng xã hội facebook, tiktok không liên quan).
- Không tự chấm điểm các kỹ năng trên các thang điểm mà thay vào đó có thể sử dụng các tính từ mô tả mức độ thành thạo.
- Ghi đúng thông tin vi trí ứng tuyển trong CV.
- Tuyệt đối viết đúng chính tả, nhất là các bạn sử dụng tiếng Việt. Đối với các bạn sử dụng CV tiếng Anh thì lưu ý về cấu trúc, số ít số nhiều, dấu chấm hết câu.
- Nên gửi CV dưới dạng file
.pdf
(tránh sử dụng file words vì dễ lỗi, sai format hoặc không mở được). - CV chỉ nên trình bày trên 1 - 2 trang đảm bảo ngắn gọn, đúng trọng tâm.
- Số điện thoại và email các bạn nên để dạng link để người dùng bấm vào có thể redirect tới mail của bạn hoặc thực hiện cuộc gọi đúng số của bạn.
2. Nội dung
- Thông tin cá nhân:
- Họ và tên (ảnh nếu các bạn có ảnh đẹp + nghiêm túc)
- Vị trí ứng tuyển
- Số điện thoại, email, địa chỉ (các bạn không cần phải ghi chi tiết địa chỉ, ví dụ chỉ cần ghi Hà Nội là được rồi)
- Tài khoản LinkedIn và Github (nếu các bạn có các side projects ấn tượng)
- Chuyên môn (ví dụ với backend engineer):
- Ngôn ngữ lập trình
- Frameworks, thư viện
- Databases
- Technologies
- Tools
- Kiến thức nền tảng và các kỹ năng khác (teamworks, english, problem solving skills...)
- Kinh nghiệm làm việc:
Trình bày theo dòng thời gian với cấu trúc như sau:
- Vị trí (ví dụ Backend Developer, Frontend Developer...)
- Dự án:
- Tên dự án (project's name)
- Mô tả về dự án (project's description)
- Các công nghệ sử dụng trong dự án (tech stacks)
- Quy mô dự án (team size)
- Trách nhiệm của bạn trong dự án, các tasks chính đã làm
- Học tập và các chứng chỉ chuyên môn.
- Nếu bạn tốt nghiệp xuất sắc, có nhiều thành tích học thuật tốt thì các bạn có thể đẩy phần này lên đầu tiên (sau thông tin cá nhân).
- Còn trường hợp cũng bình thường thì các bạn có thể để phía sau bao gồm.
- Tên trường đại học các bạn đã học
- Thời gian tốt nghiệp
- GPA
- Các chứng chỉ chuyên môn.
- Ghi rõ tên chứng chỉ
- Lĩnh vực
- Thời hạn
- Các dự án cá nhân
- Nếu các bạn có các dự án các nhân hay ho và tâm đắc thì cũng có thể đẩy phần này lên sau phần kinh nghiệm làm việc. Mình thấy có nhiều luồng ý kiến trái chiều về việc để các dự án cá nhân vào trong CV. Có người cho rằng càng level cao (senior) thì vào Github phải có các side projects, repo xịn. Có người lại cho rằng cái đó không đánh giá được năng lực toàn bộ năng lực của một người.
- Nói chung đây không phải là phần "must have" vậy nên nếu các bạn có các repo xịn thì cứ ghi vào CV và nó sẽ là điểm cộng trong mắt nhà tuyển dụng. Đặc biệt là các bạn sinh viên mới ra trường chưa có kinh nghiệm thì nên làm một số side projects hay ho bỏ vào CV.
- Sở thích cá nhân.
- Các bạn có thể đề cập một chút về lifestyle, những thói quen, sở thích của các bạn. Nếu các sở thích thói quen đó liên quan tới công việc thì càng tốt.
- Ví dụ các bạn là một yêu thích công nghệ, thích tìm hiểu các công nghệ mới, mua đồ công nghệ. Hoặc thích chia sẻ kiến thức qua blogs, Youtube...
Gần đây có một CV được đồn là của một anh nhận mức offer 300.000$ tại Google. Các bạn có thể tham khảo mẫu CV theo template này rồi điều chỉnh sao cho phù hợp với mình.
3. LinkedIn
- LinkedIn cũng là một cách để các bạn xây dựng profile và mình nghĩ LinkedIn còn mạnh hơn thế nhiều nếu các bạn biết cách tận dụng và xây dựng một profile ấn tượng trên LinkedIn. LinkedIn có thể giúp các bạn đảo ngược cuộc chơi từ "kẻ đi săn job" thành "người được săn đón".
- Tất nhiên điều đó là không đơn giản vì ngoài kia có rất nhiều người giỏi như bạn thậm chí là hơn bạn. Quan trọng vẫn là nội lực nhưng vẫn phải biết tận dụng công cụ, hãy lập cho mình một tài khoản LinkedIn đi các bạn nhé.
5.2 - Chiến thuật rải CV.
1. Rải ở đâu?
Với thị trường IT Việt Nam mình thấy có một số nền tảng tìm việc IT như sau:
Mỗi nền tảng đều có ưu nhược điểm khác nhau. Ví dụ
- itviec là nền tảng chuyên cho dân IT nên các job ở đây thường có mô tả rõ ràng và mình thấy khá uy tín. Ngoài ra, trên đây cũng có nhiều đầu job ở các công nước ngoài và có những thống kê về các công ty top khá sát. Tuy nhiên itviec không cho phép ứng viên xem trạng thái của CV nên ứng viên không biết CV của mình có được nhà tuyển dụng ngón đến không.
- topcv mình thấy chủ yếu là các công ty Việt Nam. Ưu điểm của topcv là về tính năng, ứng viên có thể lọc theo nhiều điều kiện (khu vực, range lương, vị trí...) để ứng tuyển phù hợp. Ngoài ra topcv cũng có chế độ xem trạng thái CV và số ứng viên đang ứng tuyển vị trí đó khá hay.
- LInkedIn chủ yếu mình dùng để tham khảo các job ở nước ngoài, job remote. Việc apply CV trên LinkedIn cũng rất nhanh, có thể xem được trạng thái CV. Ngoài ra nếu bạn nào có một tài khoản LinkedIn tiềm năng, ấn tượng thì chỉ cần các bạn open to work HR họ tự tìm đến bạn.
2. Rải như thế nào?
Trường hợp 1: Nếu các bạn vẫn đang đi làm.
Theo mình trong trường hợp này, các bạn nên tìm hiểu thật kỹ về các công ty các bạn muốn vào sau đó apply từng công ty một theo thứ tự từ muốn vào nhất cho tới ít muốn vào nhất. Bởi vì các bạn vẫn đang đi làm, không thể xin nghỉ nhiều được nên cứ xử lý từng công ty một chứ đừng apply song song.
=> Với cách này, ưu điểm là các bạn có thể dồn toàn tâm sức cho 1 công ty, đỡ phải xin nghỉ nhiều. Nhưng đổi lại sẽ không có nhiều lựa chọn, thường phỏng vấn pass là các bạn có xu hướng chốt luôn.
Trường hợp 2: Nếu các bạn đã nghỉ.
Trường hợp này, các bạn có thể apply một lúc nhiều công ty, nhưng nên apply theo đợt. Ví dụ tuần đầu các bạn apply một lúc 3 công ty, chờ khoảng 2-3 hôm nếu họ gọi thì đi phỏng vấn (nhớ là hẹn ngày phỏng sát nhau để thời điểm nhận kết quả cũng sát nhau -> bạn dễ đưa ra lựa chọn). Nếu tất cả fail thì quay lại apply tiếp.
=> Với cách này các bạn sẽ tăng tỷ lệ trúng tuyển và quyền lựa chọn. Ví dụ hai công ty trả cùng mức lương, nhưng các bạn có quyền chọn công ty nào có dự án ngon hơn, phúc lợi ok hơn.
5.3 - Trước buổi phỏng vấn.
- Chuẩn bị thật tốt về chuyên môn và ôn lại nghiệp vụ của các dự án mà bạn đã làm. Mình thấy phỏng vấn ở Việt Nam chủ yếu là dạng Q&A. Tuỳ thuộc vào từng công ty mà họ sẽ hỏi nặng về công nghệ hay nghiệp vụ. Ví dụ với các công ty outsource thì họ hay hỏi về công nghệ vì phải chạy nhiều dự án, còn về các công ty sản phẩm, hoặc các bank, tổ chức tài chính họ lại hỏi khá nhiều về nghiệp vụ (nếu các bạn có kinh nghiệm).
- Phần lớn câu hỏi xoay quanh những gì các bạn ghi trong CV. Vậy nên hãy chuẩn bị thật kỹ các câu trả lời về những gì các bạn ghi trong CV.
- Nghiên cứu, tìm hiểu trước về công ty (domain công ty làm, chính sách, cơ cấu...).
- Nếu HR hỏi các bạn về mức lương các bạn mong muốn:
- Công đã có gói lương cố định cho vị trí đó, nên họ muốn biết mức lương các bạn mong muốn có phù hợp với gói lương của công ty không. Nếu các bạn đưa ra con số quá cao thì khả năng là họ sẽ ậm ừ cho qua và đi gọi điện cho ứng viên khác.
- Trường hợp nếu thấy bạn tiềm năng họ vẫn sẽ hẹn phỏng vấn nhưng sau đó sẽ deal lại thấp hơn và kèm theo những cam kết về tương lai.
- Nếu các bạn muốn tham gia phỏng vấn có thể đưa ra một khoảng [min, max] và nói HR trong quá trình phỏng vấn có thể thương lượng thêm.
- HR hỏi các bạn về kế hoạch tương lai.
- Mình đoán team các bạn sắp phỏng vấn vào đã khá ổn định, có thể công nghệ hơi cũ, việc hơi chán chút nên HR muốn thăm dò xem các bạn có thể làm việc lâu dài không.
- Lúc này trước khi trả lời hãy hỏi HR trước một chút về team các bạn có thể join, công nghệ, sản phẩm team đó đang làm. Sau khi có thông tin hãy ứng biến sao cho phù hợp. Ví dụ HR bảo team này đã ổn định, công nghệ cũng không mới lắm. Mà các bạn lại bảo em thích công nghệ mới, muốn trở thành senior, techlead trong 2 năm tới trong khi team toàn người "già" thì khả năng các bạn cũng không phù hợp.
- HR hỏi các bạn có đi làm được luôn không?
- Có thể team đang cần người, hoặc họ không muốn mất ứng viên (đi phỏng vấn chỗ khác trong khi đã nhận offer bên họ) nên muốn bạn đi làm luôn.
- Nếu bạn đã nghỉ và ưng công ty thì cứ nói thật là đi làm được luôn.
- Nhưng nếu các bạn chưa ưng lắm, còn muốn đi phỏng vấn thì có thể hẹn họ lùi thời gian onboard. Nếu họ vẫn rắn trong khi bạn sợ mất offer thì có thể nhận lời, trong lúc thử việc các bạn vẫn thể tham khảo thêm chỗ khác (nhưng mình thấy mấy công ty bắt đi làm luôn, không cho ứng viên lùi vài ngày thì hoặc họ râts cần người hoặc không thì sợ ứng viên nhận ra kèo không thơm)
- HR yêu cầu ref check.
- Ref check thường có hai mức độ. Một là ref check về mức lương công ty trước trả (đề phòng các bạn nổ cao quá). Hai là ref check với quản lý cũ để xem bạn làm việc thế nào ở công ty cũ.
- Mình thấy yêu cầu này cũng không có gì quá đáng lắm, nếu các bạn tự tin thì cứ đồng ý. Về phần ref check lương nhỡ các bạn có hét lương hơi cao xíu thì khi gửi bảng lương các bạn có thể chữa cháy bằng cách bảo lương này chưa bao gồm thưởng. Em tính cả thưởng theo gói năm nên ra bình quân cao hơn so với bảng lương tháng.
- Một vài red flag mà theo mình các bạn nên xem xét.
- Công ty yêu cầu cam kết làm việc x năm (trong khi không đào tạo, không training gì các bạn cả).
- Phân biệt các quyền lợi cơ bản (thưởng tết, sinh nhật, vé xe, cơm trưa) giữa nhân viên lâu năm và nhân viên mới.
- Không hỗ trợ phương tiện làm việc.
- Chế độ, chính sách mập mờ (nhất là các khoản thưởng fixed đã cam kết).
- Không có các hoạt động gắn kết văn hoá công ty.
5.4 - Trong buổi phỏng vấn.
- Nói chậm, phát âm chuẩn, trả lời ngắn ngọn, đầy đủ, rõ ràng và tập trung vào câu hỏi.
- Suy nghĩ trước khi trả lời bất cứ câu hỏi nào (nhất là những câu hỏi tình huống)
- Cái gì không biết, hoặc không chắc thì tốt nhất nói em không biết và nhờ interview giải thích nếu có thể. Trong trường hợp các bạn vẫn muốn trả lời thì hãy rào trước bằng cách trả lời, câu này thực sự em không biết nhưng em có thể suy đoán như này không biết có đúng không.
- Trường hợp gặp "interviewer hướng nội" họ sẽ chỉ hỏi bạn mà không giải thích, không nhìn bạn nhiều (cảm giác rất khó tương tác). Trường hợp này, các bạn nên chủ động hỏi lại họ, nói càng ngắn ngọn súc tích càng tốt.
- Trường hợp gặp "interviewer hướng ngoại". Các bạn có thể chủ động đưa ra các tình trong dự án trước đó mà bạn gặp phải, đưa ra giải pháp của bạn và hỏi họ có ý tưởng nào không. Làm sao lái họ theo bạn thì bạn sẽ bị hỏi ít lại.
- Trường hợp gặp "interviewer kém hơn mình". Có nhiều trường hợp interviewer là những người làm lâu ở công ty nhưng có nhiều thứ họ không biết. Lúc này các bạn đừng lên mặt coi thường, hãy tỏ ra khiêm tốn, hạn chế hỏi vặn lại họ vì dù sao họ vẫn là người quyết định bạn có được vào làm hay không.
- Đừng chỉ chăm chăm trả lời lý thuyết, hãy đưa ra ví dụ cụ thể. Ví dụ, với câu hỏi so sanh sánh ArrayList và LinkedList trong java, các bạn đừng liệt kê một đống lý thuyết mà hãy đưa ra use case cụ thể hệ thống của bên em có tính năng x yêu cầu việc ghi dữ liệu liên tục, ban đầu mọi người lưu hết vào một ArrayList theo tuần tự, nhưng em thấy sử dụng LinkedList thì việc thêm dữ liệu vào cuối danh sách sẽ rất nhanh.... Việc thay đổi đã giúp cải thiện hiệu năng.
- Sử dụng ngôn ngữ cơ thể phù hợp hoặc yêu cầu giâý bút nếu có những câu hỏi cần mô phỏng bằng hình ảnh.
- Thể hiện được sự ham học hỏi, muốn cống hiến (bằng cách hỏi lại, tương tác, hỏi về dự án, anh em trong team) với interviewer.
- Tránh hỏi những câu hỏi nhạy cảm liên quan tới người phỏng vấn (đời tư, khuyết điểm cơ thể) hoặc công ty (phốt, review trên mấy trang review).
5.5 - Sau buổi phỏng vấn.
- Kết thúc buổi phỏng vấn, nhớ nói cảm ơn trước khi ra về.
- Nên reply email kể cả khi các bạn trượt phỏng vấn.
- Nếu các bạn ưng công ty nào đó, hãy chủ động hỏi HR về kết quả buổi phỏng vấn. Cho thấy các bạn thực sự quan tâm vị trí đó (vì nhà tuyển dụng có nhiều lực chọn) nếu bạn không chủ động, đôi khi họ sẽ chọn người chủ động hơn bạn.
- Để ý kỹ người phỏng vấn bạn vì người đó sẽ là sếp của bạn khi bạn vào làm việc. Nếu thấy tính cách không hợp, phong cách không hợp thì không nên làm. Ví dụ họ chỉ chăm chăm hỏi, không đưa ra nhận xét, luôn cho mình là đúng, không công nhận câu trả lời của bạn, coi bạn là người đi phỏng vấn, kèo dưới.
- Hãy nhớ tổng hợp lại những câu hỏi mà bạn trả lời chưa tốt, những điểm bạn còn thiếu sót sau mỗi buổi phỏng vấn.
Lời kết
Hơi dài nhỉ, hi vọng bài viết sẽ là một nguồn tham khảo hữu ích cho bạn nào đang chuẩn bị cho phỏng vấn. Nếu bạn nào có những kinh nghiệm hay bộ câu hỏi hay ho có thể comment để cho mọi người cùng học hỏi thêm nha. Cảm ơn các bạn đã theo dõi bài viết, hẹn gặp lại trong các bài viết tiếp theo.