DÂN IT ĐI PHỎNG VẤN THẾ NÀO?
Phần 1. Chuyện tôi đi phỏng vấn.
1. Kiến thức
Đa số các công ty mình tuyển đều hỏi rất cơ bản như sau
– Kiến thức chuyên môn về ngôn ngữ và công nghệ mình làm. Cực kỳ cơ bản, nếu như bạn lập trình C# họ sẽ hỏi các hàm xử lí trong C#, các vấn đề về khai báo và xử dụng biến, phạm vi biến, cách truyền tham số, tham trị. Với lập trình Android thì sẽ hỏi về Java… Nói chung cực kì cơ bản về ngôn ngữ và tư duy lập trình.
– Cấu trúc dữ liệu và giải thuật, cái này có hỏi nhưng cũng khá cơ bản, cần nắm vững một số cấu trúc và giải thuật cơ bản, ban đầu có thể làm sẽ không cần thiết nhưng sau này làm sẽ biết dùng nó để làm gì, và truớc mắt thì bạn giải món này hơn bạn sẽ dễ pass hơn những người khác. Một số bài cũng khá đơn giản như làm việc với mảng (tim kiếm hoặc sắp xếp), hoặc bài liên quan tới Stack và Queue, giải thuật đệ qui…hiếm gặp bài nào về cây này cây kia.
– Lập trình hướng đối tượng. Phần này có rất nhiều bạn bị miss do bị hỏi lý thuyết mà không nhớ. Đa số các bạn đang code mò, code mà không hiểu tại sao nó lại như vậy và code không có quy tắc đúng. Đây là một phần khá quan trọng không chỉ trong lúc bạn đi phỏng vấn mà nó còn quyết định bạn có phải là 1 Dev giỏi sau này hay không. OOP cực sâu và cực rộng, nhưng mình nghĩ các bạn đọc và hiểu hết được giáo trình ở truờng là đi phỏng vấn ngon rồi. Ok. Ngoài ra thì có thể mở rộng một số kiến thức về OOP ở mức nâng cao hơn bằng việc học Phân tích thiết kế hướng đối tượng, UML. Một số sách có thể không đề cập nhưng bạn nên biết một vài Design Pattern cơ bản, nó không quá khó và có thể áp dụng được luôn trong công việc. SOLID cũng là một khái niệm mà bạn cần quan tâm, thường chỉ để hỏi mấy anh 2-3 năm kinh nghiệm, còn bạn mới ra trường đã biết hiểu cặn kẽ nó rồi thì chúc mừng "Bạn đã được nhận".
– Luồng dữ liệu. Bất cứ phần mềm nào cũng đêu có luồng dữ liệu, ngưoi ta sẽ hỏi xem bạn có hiểu luông của ứng dụng bạn viết không. Tỉ dụ như hỏi khi người dùng nhập địa chỉ web vào trình duyệt và tới lúc trang Web hiển thị ra thì trải qua những bước nào, thằng nào làm nhiệm vụ nào…Hoặc phần nào sẽ giao tiếp với phần nào. Hoặc như Android sẽ có mấy câu như vòng đời của các Activities, đại loại vậy. Mình không giỏi Android lắm nên không dám chém.
– Cơ sở dữ liệu: Phỏng vấn đa số người ta không hỏi bạn làm sao chuẩn hóa dữ liệu và sẽ hỏi bạn các câu truy vấn. Một vài ví dụ như làm sao đếm được số bản ghi trong 1 bảng, phân biệt các loại hàm Join, phân biệt WHERE và HAVING, và trong trường hợp này thì dùng cách truy vấn nào, trường hợp kia dùng truy vấn nào…Đại loại bản phải vững về SQL thì mới trả lời được. Tạm thời hãy nhớ cách sử dụng các hàm và câu lệnh, quên viêc tối ưu đi. Thực tế không phải lúc nào CSDL thực tế cũng đạt chuẩn này chuẩn kia, và người phỏng vấn có thể cũng đã quên cách tối ưu rồi nên không thể hỏi được bạn. Ha Ha. Câu hỏi về phân biệt các kiểu JOIN hoặc nâng cao hơn sẽ là phân biệt JOIN và Subquery, hiếm gặp ai hỏi về View và Store Procudure, có thể bên .NET thì hỏi nhiều hơn, mình phỏng vấn PHP thì thường thực tế ít dùng. Không sao, bạn cứ chắc những thử được học ở trường là được. Môn SQL là môn mình thấy ứng dụng nhiều nhất lúc đi làm.
– Một số thứ râu ria theo chuyên ngành của bạn, ví dụ lập trình Web thì sẽ hỏi kỹ về HTML/CSS/JS. Lập trình Mobile thì ko biết. Kaka. Nói chung bạn chuyên cái nào thì nên học kỹ những cái đó, và nên nhớ là học kỹ cho mình thôi chứ đừng để chống chế khi đi phỏng vấn. Mình viết ra đầy để các bạn còn thiếu thì học thêm. Vì thực sự mình cũng không biết hết và nhớ hết chỗ kia, đây là những gì mình đuợc hỏi khi phỏng vấn nên các bạn cũng tự mà học chứ đừng hỏi mình.
2. Kỹ năng mềm
Kỹ năng mềm thì cũng là 1 phần quan trọng. Kinh nghiệm của mình là hít thở sâu 3 cái truơc khi buớc vào phỏng vấn. Tự tin là bạn đã thắng 50% rồi. Đừng lo lắng gì cả, cứ tự tin mà nói.
• Giới thiệu bản thân: Phần này đa số mọi người sẽ bị hỏi, bạn có thể giới thiệu về bản thân, gia đình, quá trình học tập, kinh nghiệm làm việc, các sản phẩm bạn đã làm… Nói chung phần này không quan trọng lắm nhưng cố gắng nói trôi chảy, chứ đừng ấp a ấp úng là được.
• Trả lời thẳng và thật, không quanh co. Nhà tuyển dụng người ta sẽ không thích các bạn chém gió và ảo tưởng chút nào, bạn biết gì nói đó, đừng có nói dối. Một kinh nghiệm nhỏ cho các bạn nếu trả lời sai mà đột nhiên nhớ ra đáp án đúng thì chứ nói là em phân vân 2 cái này, tại lâu không dùng nên quên. Còn không nhớ thì cứ bảo không nhớ, người ta sẽ next qua câu khác, đỡ làm mất thời gian của bạn và nguời khác.
• Với mỗi văn hóa công ty thì các bạn nên thể hiện theo cách của họ. Tỉ dụ công ty Nhật thì họ ưa lễ nghĩa, công ty Âu Mỹ thì xề xòa hơn. Nhưng nhìn chung cũng không quá tiểu tiết vì đa số người phỏng vấn mình là người Việt mà, chứ có phải ông Nhật ông Tây nào đâu. Kaka. Miễn lịch sự là đuợc rồi, nhất là ngành IT, anh em vào nói chuyện với nhau hợp gu lại chém cả mấy tiếng. Mình với 1 ông CTO ngồi nói chuyện 3 tiếng đồng hồ và cuối cùng mình pass. Cho nên cách nói chuyện, dẫn chuyện hay cũng có ích. Đôi khi đơn giản là anh thích tính của chú, chú về làm cho anh, còn kiến thức của chú chưa tốt thì bọn anh sẽ đào tạo thêm. Ok. Nguời giỏi hay không, không quan trọng, quan trọng là phải bắt nhịp đuợc với các thành viên khác, nó giống như cái ổ cắm và phích cắm. Tát nhiên còn hội tụ nhiều thứ, chứ không chỉ đơn giản là thế nhưng càng có nhiều điểm cộng thì khả năng pass cao hơn.
3. Các bài Test.
Có một số bài test mình đã làm
• Test kiến thức cơ bản của ngôn ngữ, công nghệ.
• Test thuật toán qua các bài lập trình, như kiểu học cấu trúc dữ liệu luôn.
• Test khả năng Debug code, tức là cho đoạn code sai, hãy tìm đoạn sai và sửa lại hoặc hỏi xem nó sai ở đâu.
• Test ngoại ngữ, mình bị dính 1 phát test tiếng Anh đầu vào, và phỏng vấn bằng tiếng Anh với bên HR. Còn bên kỹ thuật thì nói tiếng Việt, đấy là công ty làm Âu Mỹ, còn làm Nhật thì họ chả hỏi đâu.
• Một số nơi có test cả GMAT nữa.
Một số câu hỏi khác
• Câu hỏi em biết gì về công ty. Cái này thì phải nhớ tìm hiểu công ty đó trước.
• Câu hỏi về những thứ mình biết: Có công ty thì thích ứng viên biết nhiều (full stack) có công ty thì muốn ứng viên chuyên sâu 1 mảng. Theo kinh nghiệm của mình thì các công ty làm cho Âu, Mỹ thuờng thích ứng viên biết nhiều và rộng (tất nhiên phải sâu 1 thứ) còn các công ty làm cho Nhật thì thích ứng viên biết sâu 1 thứ. Cho nên tùy công ty mà bạn trả lời sao cho hợp.
• Câu hỏi về lương. Cái này thì mình có công thức riêng của mình. Luơng sẽ bằng các chi phí ăn ở, sinh hoạt + 2 triệu, đó là với sinh viên mới ra truờng. Nếu bạn lựa mức đó mà họ không chấp nhận thì do quá trình bạn học hành ở truờng có vấn đề rồi và giờ nên chấn trình ngay đi truớc khi quá muộn. Đừng yêu cầu một mức lương quá cao so với năng lực và chờ nhà tuyển dụng hạ nó xuống, họ sẽ nghĩ bạn có vấn đề đấy.
• Câu hỏi về các sách em đã đọc gần đây, vơi bạn nào chăm đọc sách thi không sao còn bạn nào mà ít đọc thì là một vấn đề đấy. Nó đánh giá sự chăm chỉ, ham tìm hiểu và khả năng tự nghiên cứu của bạn. Hãy nhét vào đầu một vài cuốn sách về IT và cả kỹ năng trước khi đi phỏng vấn, và nhớ phải đọc cho cẩn thận chứ đừng qua loa, nhỡ ông nào đọc quyển đó rồi ông ấy hỏi thì húp cháo.
• Câu hỏi về các tạp chí công nghệ, trang web em hay đọc, rất hay được hỏi. Thực tế nhiều anh em không có thói quen này mà chỉ quen đi hỏi và tìm Google. Với mình đó là cách học tốt nhưng trong thực tế nhà tuyển dụng họ cũng không đánh giá cao nguời cứ gặp vấn đề là đi tìm Google và đi hỏi khắp nơi. Nó cũng liên quan tới bảo mật thông tin dự án…Có một câu chuyện là nguoì sáng lập trang web buôn bán ma túy quá Deep web bị bắt vì hắn đi hỏi 1 câu trên trang web chuyên hỏi đáp IT là Stackoverflow. Việc đọc tap chí, báo, các blog công nghệ nổi tiếng thể hiện mình là người tiếp thu những kiến thức mới, chịu khó tim hiểu. Nếu bạn chưa biết trang web nào nổi tiếng trong lãnh vực mà mình đang làm thì hãy tìm hiểu ngay đi. Từ khóa cho bạn " best website for learning XXX" or "best blog for XXX developer" sẽ có rất nhiều
• Câu hỏi về mục tiêu cá nhân: Mỗi nguời có một mục tiêu riêng nhưng nhà tuyển dụng họ muốn ứng viên có mục tiêu rõ ràng, vì khi đó thì bạn mới biết cách học, cách làm việc sao cho hiệu quả và cũng để họ đáp bạn vào vị trí hợp lí với công việc.
• Câu hỏi về mong muốn gì khi làm tại công ty: Cái này thì tùy người trả lời, đa số vẫn là mong muốn phát triển bản thân, tìm kiếm môi tr?
uờng phù hợp đê gắn bó lâu dài…hoặc em thích môi trường làm việc với khách hàng Nhật Bản, hoặc thích làm vơi Tây vì gái Tây nó xinh, khoai Tây nó dài…
Một vài lưu ý khác:
• Hãy xác định loại công ty mà mính muốn làm, công ty Product hay công ty Outsource, và nếu làm Product thì làm cho khách hàng ở đâu, Mỹ Âu hay là Nhật Bổn, và Outsource cũng vậy.
• Hãy đặt ra kế hoạch và dự tính từ khi còn là sinh viên, vì sẽ ít áp lực hơn so với những người sắp hoặc đã ra truờng.
• Trang bị cho mình khả năng ngoại ngữ tốt. Nhất là tiếng Anh, nên học cho tốt và cẩn thận. Mình rất tiếc nuối hồi còn năm 1, năm 2 không chịu học tiếng Anh. Giờ mình bắt đầu học lại và hy vọng là ra truờng sẽ đủ điều kiện đầu ra :D. Hehe. Tạm là thế.
• Nên phỏng vấn cẩn thận ở mọi công ty, vì họ có liên minh HR với nhau đó. Bạn bị Blacklist ở công ty này mà sang công ty cùng liên minh thì xác định tạch từ vòng gửi xe nhé. Nhất là mất công ty làm cho Hàn, Nhật.
Còn nhiều thứ để chia sẻ nhưng đây là 1 số cái cơ bản. Nếu có dịp mình sẽ chia sẻ nhiều hơn. Cảm ơn đã đọc.
Phần 2: Chuyện tôi phỏng vấn người khác.
Chả hiểu sao đang ngồi làm thì anh "Phó" Inbox bảo em vào phỏng vấn ứng viên với anh. Việc của tôi lúc này là ngồi cùng khi phỏng vấn ứng viên lần 2 và hỏi những thứ mà tôi muốn hỏi. Đại ý là thích hỏi gì thì hỏi đó. Ha Ha. Tính mình thì cũng ngựa non háu đá nên mình hỏi ứng viên te tua lắm.
Với các ứng viên mới ra trường hoặc mới đi làm không lâu, tôi thường hỏi vài câu đại loại như:
– Em học trường nào, ngành gì, tại sao em chọn ngành đó?
– Ở trường môn nào em thích nhất, và em thấy mình giỏi môn nào nhất?
– Em làm ngôn ngữ X vậy em đã thử làm ngôn ngữ nào khác không? Em thấy ngôn ngữ X và ngôn ngữ Y cái nào tốt hơn?
– Em có biết OOP có mấy tính chất không? Em cho anh hỏi tính đa hình là gì?
– Interface là gì hả em? Nó ứng với tính chất nào của OOP? Abstract Class và Interface thì giống nhau và khác nhau thế nào?
– Phân biệt giúp anh Join, Left Join, Right Join.
– Em có biết JOIN trong thống kê ứng với phép toán gì không? (Hoán vị, chỉnh hợp, tổ hợp).
– Em có hay đọc sách không? Thường đọc loại sách gì? Sách IT có bao giờ đọc không? Tạp chí IT thì sao? Các hội thảo IT em có hay tham dự chứ?
Vậy là đủ, ứng viên nào trả lời được hết đống này thì tôi cho Pass khỏi cần nói nhiều.
Với các ứng viên đã đi làm lâu năm, tôi thường hỏi vài câu đại loại như:
– Anh có biết SOLID không? Vậy Dependency Inversion là gì? Anh có thể kể tên và giải thích 1 Design Pattern thoả mãn tính chất Dependency Inversion không?
– Anh có hay dùng Design Pattern không? Tại không lại không dùng Global Constant mà lại phải dùng Singleon…
– Anh có biết TDD không? Tạo sao phải dùng Mocking. Khi nào thì dùng, khi nào thì không?
– Theo anh thì hệ thống lớn là gì? Hệ thống phức tạp là gì?
– Vai trò trong dự án của anh là gì? Anh ở những vai trò đó trong bao lâu,
– Anh có bao giờ phải Maintain dự án không? Chiến lược của anh khi phải Maintain 1 dự án là gì? Anh đã áp dụng các Refactoring Pattern nào?.
– Anh có biết về Agile không? Đã làm việc với Scrum chưa? Trong Scrum anh tham gia với vai trò gì?
– Trong nhóm trước kia của anh có hay xảy ra xung đột không? Anh vượt qua nó như thế nào?
Thường thì chỉ có vậy thôi. Các câu hỏi của tôi thường kiểm tra độ hiểu biết của ứng viên và thứ 2 là khả năng tư duy xung quanh những hiểu biết đó. Tôi không đánh giá lắm các câu hỏi kỹ thuật mà chỉ hỏi như một điều bắt buộc để công nhận rằng bạn có năng lực làm việc ngay lập tức. Việc bạn thể hiện thế nào trong công việc, có hoà hợp với môi trường công ty không, bạn có là người sẵn sàng và tích cực học hỏi hay không? Đó mới là những điều mà tôi quan tâm, cũng là điều mà nhà tuyển dụng quan tâm.
Ở đây tôi chỉ nói chi tiết những thứ tôi đã từng được hỏi và hỏi người khác. Tôi không đề cập tới những vấn đề hết sức "cơ bản" như cách viết CV, gửi mail xin việc, trả lời mail blah blah vì cái đó tôi nghĩ bạn phải tự biết. Nếu không làm được những điều cơ bản đó thì tôi, với tư cách nhà tuyển dụng sẽ loại bạn luôn từ vòng gửi CV. Tôi ghét sự cẩu thả của một CV, vì nó là cuộc đời của bạn, nếu bạn cẩu thả với cuộc đời mình thì không ai dám chắc bạn sẽ làm tốt công việc được giao.
10 Quy tắc khi đi phỏng vấn mà dân IT cần nắm rõ
Cũng như bao công việc khác, dân IT khi đi phỏng vấn cần phải nắm rõ một số qui tắc sau để đảm bảo có thể hoàn thành cuộc phỏng vấn một cách tốt nhất. Nắm vững các quy tắc này sẽ giúp bạn chiếm được cơ hội thành công cao hơn các ứng viên khác.
Quy tắc số 1: Phải trau dồi kiến thức để có bản lĩnh thực chất, có khả năng đáp ứng yêu cầu công việc trong thực tế, bằng cấp chỉ là yếu tố phụ.
Bằng cấp chỉ là một tiền đề để bạn có thể đáp ứng các yêu cầu mà nhà tuyển dụng đưa ra. Thế nhưng khi bước vào cuộc phỏng vấn thì bạn phải thể hiện những kiến thức mà mình đã tích lũy được để giải quyết các câu hỏi và tình huống người phỏng vấn đưa ra. Hãy luôn nhớ rằng những kiến thức tại trường chỉ là lý thuyết, khi đi vào làm việc thì những kinh nghiệm mình tích lũy được mới thật sự quý báu.
Quy tắc số 2: Lấy khả năng tiếp cận nhanh kiến thức mà NTD cần để khắc phục sự khiếm khuyết kiến thức hiện tại của mình.
Khi bạn muốn đậu trong kì phỏng vấn thì bạn nên hiểu rằng nhà tuyển dụng đang muốn tận dụng nguồn kiến thức mà bạn đang có cho công việc. Vì thế nếu biết bạn hãy trả lời là có còn không thì hãy trả lời cho nhà tuyển dụng hiểu rằng bạn đã hiểu vấn đề và sẽ cập nhật chúng trong thời gian nhanh nhất có thể.
Quy tắc số 3: Đừng vội vàng trả lời ngay những câu hỏi lạ.
Khi bạn gặp một câu hỏi lạ từ người tuyển dụng. Một câu hỏi không đúng chuyên môn, khi ấy đừng vội vàng trả lời mà hãy yêu cầu nhà tuyển dụng cho bạn khoảng 1 phút để suy nghĩ. Tìm cách kéo dài thời gian để có thể suy nghĩ thấu đáo hàm ý trong câu hỏi đó trước khi trả lời.
Quy tắc số 4: Bạn phải là người có thể nghiên cứu tốt bằng tài liệu tiếng Anh
Tiếng Anh là điều vô cùng cần thiết dành cho dân IT. Đa số các tài liệu bạn cần nghiên cứu đều bằng tiếng Anh. Vì thế hãy trao đổi thẳng thắng về khả năng ngoại ngữ của bạn với nhà tuyển dụng. Hoặc nếu bạn tự tin về khả năng của mình có thể yêu cầu họ một cuộc phỏng vấn nhỏ bằng tiếng Anh để bạn thể hiện trình độ của mình.
Quy tắc số 5: Hãy khác biệt và tự tin.
Đa số các bạn khi đi phỏng vấn đều rất hạn chế “sửa lưng” của nhà tuyển dụng vì nó có thể tạo ấn tượng xấu. Thế nhưng nếu những câu hỏi mà nhà tuyển dụng đặt ra không sát vấn đề thì bạn hoàn toàn có thể mạnh dạng sữa chữa. Thế nhưng đừng quá lạm dụng điều này có thể tạo nên sự căng thẳng không đáng có cho buổi phỏng vấn.
Nguyên tắc số 6: Hãy rèn luyện tính nghiêm túc, biết lựa chọn hướng đi rõ ràng và thể hiện nó.
Tính nghiêm túc của bạn được thể hiện thông qua hồ sơ xin việc. Một hồ sơ đầy đủ với vỏ hồ sơ đẹp không nhàu nhát chắc chắn sẽ được đánh giá cao. Trong phần CV bạn hãy tóm tắt quá trình làm việc của bản thân cũng như nếu rõ các định hướng tương lai của mình cho nhà tuyển dụng thấy bạn là người có hướng đi rõ ràng.
Nguyên tắc số 7: Hãy luôn biết mình là ai và học lấy tinh thần cầu tiến
Hãy luôn trả lời thành thật các câu hỏi liên quan đến chuyên môn khi phỏng vấn. Nếu chưa biết hoặc chưa nghiên cứu hãy trả lời thật, tránh trả lời lòng vòng dễ tạo ấn tượng xấu cho nhà tuyển dụng. Những nhà tuyển dụng sẽ thấy được tính thật thà và tinh thần cầu tiến của bạn trong mỗi câu trả lời. Khi không thể trả lời một câu hỏi thì hãy mở lời bằng cách: Vấn đề này em chưa rõ lắm nhưng em có thể có câu trả lời chính xác sau.... thời gian.
Nguyên tắc số 8: Trong quá trình tuyển dụng, hãy thể hiện mình là người quyết đoán nhưng có trách nhiệm.
Hãy thể hiện mình là một người có trách nhiệm, sự cẩn trọng và tính chủ động trong công việc. Đây là những đức tính được đánh giá rất cao hiện nay. Nhất là khi bạn muốn ứng tuyển vào một vị trí quan trọng thì những tố chất này vô cùng cần thiết.
Quy tắc số 9: Khi tuyển dụng, hãy ăn nói tự nhiên một cách hợp lý, thân thiện và dí dỏm.
Khả năng sáng tạo và hòa nhập nhanh vào tập thể thể hiện qua cách trả lời phỏng vấn sẽ giúp bạn đạt được rất nhiều điểm cộng.
Quy tắc số 10: Kinh nghiệm thực tế luôn rất quan trọng
Nếu bạn là sinh viên mới ra trường thì kinh nghiệm sẽ được đánh giá qua các đề tài nghiên cứu hoặc đồ án bạn làm. Nếu đã đi làm rồi thì kinh nghiệm sẽ được thể hiện qua các dự án bạn đã tham gia cũng như vai trò của bạn trong các dự án đó. Khi trình bày cho nhà tuyển dụng hãy thể hiện sự chắc chắn về những kinh nghiệm đó để tạo được sự tin tưởng của họ.
0 comments: