• Blog nhân sự +
  • Trước Trong Và Sau Phỏng Vấn +
  • Kỹ Năng Mềm +
  • Tin tức khác +

Thống kê truy cập

77074
Tổng số truy cập:77074
Khách đang online: 129
5 bước đi khôn ngoan trong buổi phỏng vấn dành cho lập trình viên
Ngày đăng tin: 02/03/2018 20:47

Bạn sắp sửa bước vào một buổi phỏng vấn lập trình viên? Vậy thì chắc chắn bạn sẽ cần đến một số bí quyết sau đây để có được một buổi phỏng vấn thành công và giành được công việc mà bạn hằng ao ước!

 

Phỏng vấn lập trình viên luôn nổi tiếng với những câu hỏi “xoắn não”. Cho dù bạn có được yêu cầu vẽ cây nhị phân trên bảng trắng, giải thích một thuật toán sắp xếp hay triển khai bài toán FizzBuzz với tối đa 10 dòng, thì bạn cũng nên chuẩn bị cho những câu hỏi lập trình kỹ thuật trong các buổi phỏng vấn thông thường.

 

Nhưng chỉ chuẩn bị như vậy thôi thì chưa đủ.

 

Thực tế là nhiều lập trình viên sẽ có thể “giải quyết” những câu hỏi phỏng vấn thông thường về lập trình mà ít có sự khác biệt trong các câu trả lời. Vậy thì điều gì có thể khiến bạn nổi bật hơn so với các ứng viên khác? Đó chính là những điều mà chúng ta sẽ tập trung tìm hiểu dựa trên 5 “bí kíp” dưới đây.

 



1. Nói ra quá trình lập luận và giải quyết vấn đề của bạn

Chẳng còn gì tệ hại hơn khi bạn được đặt một câu hỏi khó mà chỉ biết ngồi câm nín. Nhưng thật không may, bạn có thể vô tình mắc phải lỗi này mà không hề hay biết. Khi bạn gặp phải một vấn đề đòi hỏi tinh thần và sự tập trung cao độ thì bạn rất dễ có xu hướng không để ý đến xung quanh mà chỉ tập trung vào dòng suy nghĩ trong đầu mình. Mặc dù đây là một việc rất bình thường nhưng nó lại không giúp ích gì mấy khi bạn đối diện với nhà tuyển dụng.

Mục đích của những câu hỏi lập trình viên một phần là nhằm khám phá cách bạn suy nghĩ để tìm ra giải pháp cho vấn đề. Quá trình suy nghĩ của bạn như thế nào? Cách bạn phân tích các yếu tố khác nhau ra sao? Làm thế nào bạn đưa ra được giải pháp? Phản ứng của bạn ra sao khi thử làm mà không có hiệu quả? Bạn giỏi về viết code thử nghiệm hay phác thảo ý tưởng trên bảng hơn?

Hãy giải thích rõ những gì đang diễn ra trong đầu bạn khi giải quyết vấn đề, tưởng tượng như thể bạn đang ghi âm lại để đăng lên mạng nhằm hướng dẫn cho mọi người biết cách giải quyết vấn đề đó. Thậm chí nếu người phỏng vấn cho bạn không gian riêng tư để tập trung suy nghĩ, thì việc bạn giải thích quá trình suy nghĩ của mình mà không đợi họ phải nhắc nhở cũng sẽ mang lại nhiều lợi ích. Việc này không chỉ giúp nhà tuyển dụng hiểu tường tận hơn về những kỹ năng và tư duy phản biện của bạn, mà còn giúp bạn để lại dấu ấn khó quên hơn trong mắt họ.

2. Điều gì còn ấn tượng hơn việc giải quyết được vấn đề trong buổi phỏng vấn lập trình viên? Đó là giải quyết vấn đề đó theo 2 cách

Hầu hết các vấn đề đều có hơn một cách giải quyết, và tất nhiên mọi vấn đề cũng đều có hằng hà sa số cách giải quyết sai. Vì thế nếu bạn chỉ tập trung vào một cách giải quyết vấn đề, thì bạn đang bỏ lỡ cơ hội quý giá để có thể chứng minh sự linh hoạt cùng các kỹ năng của mình trước nhà tuyển dụng.

Thay vì chỉ đơn giản nhất trí với một giải pháp quá thông dụng hay chỉ sử dụng một ngôn ngữ duy nhất, thì bạn nên mở rộng thảo luận về vấn đề riêng biệt đó và giải quyết dựa trên những trường hợp khác nhau có thể xảy ra trong tương lai. Ví dụ, nếu bạn được yêu cầu lập trình bài toán FizzBuzz, bạn có thể đề nghị được thực hiện bằng 2 ngôn ngữ, hay sử dụng 2 mô hình khác nhau, hoặc có thể đưa ra một số hạn chế về cách thực hiện cho một giải pháp và hạn chế về mặt thẩm mỹ cho giải pháp còn lại.

Thông qua việc công nhận rằng vấn đề có thể có vô số cách giải quyết, bạn đang phô diễn khả năng thích ứng, sự linh hoạt và nhận thức của mình trước nhà tuyển dụng. Tất cả điều này sẽ “gieo” niềm tin nơi nhà tuyển dụng rằng bạn có khả năng tìm ra phương pháp phù hợp giữa nhiều sự lựa chọn.

Tất nhiên, bạn cũng đừng nên sa đà quá. Khi trả lời một câu hỏi với vô số giải pháp đưa ra, hoặc là bạn sẽ được hoan nghênh hoặc sẽ bị cho là làm quá. Nếu còn nghi ngờ, hãy mạnh dạn hỏi người phỏng vấn xem liệu bạn có thể dành chút thời gian mở rộng giải pháp của mình bằng việc đưa ra một lựa chọn khác hay không.

3. Đừng ngại chia sẻ ý kiến khi thích hợp

Đôi lúc trong quá trình giải quyết vấn đề, bạn sẽ đưa ra những quyết định mà hoàn toàn dựa trên sở thích và ý kiến của riêng bạn. Điều này rất bình thường vì nhà tuyển dụng luôn quan tâm đến ý kiến của ứng viên! Cách mà bạn suy nghĩ và phản ứng trước những tình huống xảy ra có thể đem đến một sự thay đổi lớn trong văn hóa của công ty. Biết đưa ra ý kiến còn là dấu hiệu cho thấy được khả năng lãnh đạo và chuyên môn vững vàng của một lập trình viên. Để có được một cuộc thảo luận về những ý kiến của mình đòi hỏi bạn đã phải đánh giá các vị trí khác dựa trên một chủ đề nhất định.

Tuy nhiên, hãy nhớ rằng ý kiến đó có thể bị phản đối. Nếu bạn không có cùng quan điểm với nhà tuyển dụng về một chủ đề nhất định nào đó, thì nên thận trọng khi chia sẻ thông tin. Thể hiện được quan điểm cá nhân là tốt, nhưng bạn cũng cần lưu ý rằng không phải lúc nào cũng nên chia sẻ với nhà tuyển dụng, bạn cần chọn lọc thông tin để nói trước khi bắt đầu ‘cuộc chiến ngôn từ’ với họ. Một quy tắc “bất di bất dịch” mà bạn nên nhớ đó là ‘Đừng chia sẻ ý kiến nếu bạn không được hỏi.’

4. Đừng bao giờ kết thúc ngay câu trả lời bằng cụm từ “Tôi không biết”

Nếu bạn không phải đối mặt với bài kiểm tra Kobayashi Maru (một bài kiểm tra giả lập trong phim Star Trek được thiết kế nhằm đánh giá cách các sĩ quan đối mặt với cái chết và cảm nhận nỗi sợ hãi), thì đừng bao giờ trả lời một câu hỏi từ nhà tuyển dụng với cụm từ “Tôi không biết”. Đó không phải là điều bạn nên nói trong khi làm việc, do đó cũng không có lý do gì mà bạn lại trả lời như vậy khi phỏng vấn.

Tất nhiên, ý của tôi không phải là bạn phải “biết tuốt” tất cả mọi thứ. Đó là việc không thể nào! Nhưng bạn nên cho nhà tuyển dụng thấy bạn có chiến lược học hỏi những điều cần thiết để hoàn thành công việc. Hãy thử trả lời bằng câu “Tôi thực sự không biết cách làm, nhưng tôi sẽ bắt đầu tìm hiểu vấn đề này ngay từ bây giờ.” Bạn cũng nên trả lời câu hỏi chi tiết hơn, giải thích phương hướng tối ưu mà bạn sẽ dùng để nghiên cứu về vấn đề đó thay vì chỉ buông một câu hờ hững “Tôi sẽ tra Google”.

Trên hết, đừng tỏ ra xấu hổ! Học hỏi phần lớn là quá trình tìm hiểu những thứ bạn chưa biết. Nhà tuyển dụng không trông chờ một ứng viên hoàn hảo, cái họ mong muốn thấy ở bạn là sự siêng năng, thông minh và “niềm tin sắt đá”, không bao giờ từ bỏ cho đến khi tìm ra cách giải quyết vấn đề.

5. Luôn đề cao tinh thần làm việc nhóm

Trừ khi bạn là một lập trình viên tự do, còn không thì bạn sẽ luôn phải làm việc cùng với nhóm của mình, và tất nhiên, bạn phải đặt thành công của cả nhóm lên trên lợi ích của bản thân. Nhờ thế mà nhà tuyển dụng có thể nhận thấy rằng bạn đến đây không chỉ để đề cập đến kỹ năng giải quyết vấn đề của bản thân trong một ngày rồi thôi, mà bạn đang tập trung vào việc làm mọi điều cần thiết để tạo nên thành công cho cả nhóm.

Vậy thì, trong buổi phỏng vấn, làm sao bạn có thể truyền đạt suy nghĩ trên đến nhà tuyển dụng?

Không bao giờ thảo luận vấn đề một cách tách biệt

Trên thực tế, hầu như bất kỳ dự án nào cũng đều có những yêu cầu và giới hạn về nguồn lực nhất định, vì thế hãy cho nhà tuyển dụng thấy được toàn cảnh vấn đề. Một vấn đề được giải quyết tốt nhưng chi phí vượt quá nguồn ngân sách thì đó không hẳn là giải pháp tối ưu nhất mà bạn nên lựa chọn.

Cho nhà tuyển dụng thấy bạn nhận thức được năng lực chuyên môn của cả nhóm

Đôi khi câu trả lời hay nhất cho một câu hỏi là đề nghị những thành viên khác trong nhóm hợp tác với bạn, và bạn sẽ tham khảo ý kiến của họ đối với những câu hỏi kỹ thuật: “Nếu tôi được đưa ra vấn đề này trong hoàn cảnh làm việc nhóm, có lẽ tôi cũng sẽ nhờ [tên của thành viên trong nhóm] xem xét xem liệu giải pháp của tôi có ổn hay không.” Câu trả lời này cho thấy bạn sẵn sàng tin tưởng vào năng lực của những thành viên khác và mục tiêu của bạn không gì khác ngoài việc tìm ra giải pháp tối ưu nhất.

Truyền đạt rõ ràng những giá trị mà làm việc nhóm mang lại

Đây là một vấn đề quan trọng mà bạn nên bộc lộ và nói ra ngay trong buổi phỏng vấn. Bạn muốn chắc chắn nhà tuyển dụng hiểu rõ mục tiêu của bạn là đóng góp cho sự thành công của công ty, chứ không phải chỉ là ngồi ở bàn làm việc và viết code cả ngày.

Cuối cùng thì, công việc của một lập trình viên không chỉ là viết code mà còn phải đóng vai trò là một thành viên trong nhóm, một trưởng nhóm, và là một người không bao giờ dễ dàng từ bỏ khi giải quyết một vấn đề nào đó. Những cơ hội trong một buổi phỏng vấn lập trình viên không chỉ để dành cho bạn thể hiện mình có thể đáp ứng mục tiêu đề ra hay viết thuật toán, mà còn biết đặt bản thân vượt lên trên sự cạnh tranh thông thường và chỉ ra rõ giá trị mà bạn có thể đem đến cho nhà tuyển dụng.

Số lượt đọc: 934 -
Các bài viết khác