Hướng dẫn is python ok for interviews? - python có phù hợp cho các cuộc phỏng vấn không?

Ngôn ngữ lập trình bạn sử dụng để phỏng vấn mã hóa có quan trọng không? Câu trả lời là có.

Hầu hết các công ty cho phép bạn viết mã bằng bất kỳ ngôn ngữ nào bạn muốn - ngoại lệ duy nhất tôi biết là Google, nơi họ chỉ cho phép các ứng cử viên chọn từ Java, C ++, JavaScript hoặc Python cho các cuộc phỏng vấn mã hóa thuật toán của họ.

Tuy nhiên, sự lựa chọn bạn đưa ra có thể tác động đến hiệu suất của bạn nhiều hơn bạn muốn tin - và đây là lý do tại sao điều quan trọng là phải chọn ngôn ngữ lập trình phù hợp sớm trong việc chuẩn bị phỏng vấn mã hóa của bạn - và sử dụng thường xuyên trong thực tế.

Có 3 cân nhắc khi quyết định sử dụng ngôn ngữ lập trình nào:

  1. Sự phù hợp cho các cuộc phỏng vấn
  2. Sự quen thuộc của bạn với ngôn ngữ
  3. Ngoại lệ

Một số ngôn ngữ chỉ phù hợp hơn cho các cuộc phỏng vấn - các ngôn ngữ cấp cao hơn như Python hoặc Java cung cấp các chức năng thư viện tiêu chuẩn và cấu trúc dữ liệu cho phép bạn dịch giải pháp để mã hóa dễ dàng hơn.

Từ kinh nghiệm của tôi với tư cách là một người phỏng vấn, hầu hết các ứng cử viên chọn Python hoặc Java. Các ngôn ngữ thường thấy khác bao gồm JavaScript, Ruby và C ++. Tôi hoàn toàn tránh được các ngôn ngữ cấp thấp hơn như C hoặc GO, đơn giản vì chúng thiếu nhiều hàm thư viện tiêu chuẩn và cấu trúc dữ liệu và một số có thể yêu cầu quản lý bộ nhớ thủ công.

Cá nhân, Python là lựa chọn thực tế của tôi cho các cuộc phỏng vấn mã hóa thuật toán vì nó ngắn gọn và có một thư viện lớn các chức năng và cấu trúc dữ liệu có sẵn. Python cũng sử dụng API nhất quán hoạt động trên các cấu trúc dữ liệu khác nhau, chẳng hạn như len(), for ... in ... và ký hiệu cắt trên các chuỗi (chuỗi/danh sách/bộ dữ liệu). Nhận phần tử cuối cùng trong một chuỗi là arr[-1] và đảo ngược nó chỉ đơn giản là arr[::-1]. Bạn có thể đạt được rất nhiều với cú pháp tối thiểu trong Python.

Java cũng là một lựa chọn tốt nhưng phải liên tục khai báo các loại trong mã của bạn có nghĩa là các khoản phím bổ sung dẫn đến việc gõ nhiều hơn, điều này không dẫn đến bất kỳ lợi ích nào (trong một cài đặt phỏng vấn). Vấn đề này sẽ rõ ràng hơn khi bạn phải viết trên bảng trắng trong các cuộc phỏng vấn tại chỗ. Những lý do để chọn/không chọn C ++ tương tự như Java. Cuối cùng, Python, Java và C ++ là những lựa chọn tốt của ngôn ngữ.

  • Được đề xuất: Python, C ++, Java, JavaScript
  • Có thể chấp nhận (nhưng thích khuyến nghị nếu bạn quen thuộc): Go, Ruby, PHP, C#, Swift, Kotlin
  • Tránh: Haskell, Erlang, Perl, C, Matlab
  • Bạn phải nổi điên: Brainfuck, lắp ráp

Hầu hết thời gian, bạn nên sử dụng một ngôn ngữ mà bạn cực kỳ quen thuộc thay vì chọn một ngôn ngữ mới chỉ để sử dụng trong các cuộc phỏng vấn.

Nếu bạn bị ràng buộc theo thời gian, việc chọn một ngôn ngữ mới chỉ để phỏng vấn hầu như không phải là một ý tưởng tốt. Các ngôn ngữ cần có thời gian để làm chủ và nếu bạn đã dành phần lớn thời gian và nỗ lực của mình để sửa đổi/làm chủ các thuật toán, thì hầu như không còn năng lượng dự phòng để làm chủ một ngôn ngữ mới. Nếu bạn quen thuộc với việc sử dụng một trong các ngôn ngữ chính thống, không có lý do mạnh mẽ nào để học một ngôn ngữ mới chỉ để phỏng vấn.

Nếu bạn đã sử dụng Java tại nơi làm việc một thời gian và không có thời gian để làm quen với một ngôn ngữ khác, tôi sẽ khuyên bạn nên gắn bó với Java thay vì chọn Python từ đầu chỉ vì các cuộc phỏng vấn. Làm như vậy, bạn có thể tránh phải chuyển đổi ngữ cảnh giữa các ngôn ngữ trong quá trình làm việc so với các cuộc phỏng vấn. Hầu hết thời gian, nút cổ chai là trong suy nghĩ và không phải là văn bản. Phải mất một số làm quen trước khi người ta trở nên thông thạo ngôn ngữ và có thể dễ dàng sử dụng nó.Most of the time, the bottleneck is in the thinking and not the writing. It takes some getting used to before one becomes fluent in a language and be able to wield it with ease.

Lý do hợp lệ để học một ngôn ngữ mới:

  • Cuộc phỏng vấn yêu cầu sử dụng ngôn ngữ đó (vai trò dành riêng cho miền như di động/đầu tiên/khoa học dữ liệu)
  • Bạn không vội vàng để bắt đầu phỏng vấn

Những lý do kém để học một ngôn ngữ mới:

  • Công ty bạn đang phỏng vấn với việc sử dụng ngôn ngữ đó rất nhiều và bạn muốn gây ấn tượng với người phỏng vấn/cho thấy rằng bạn phù hợp
  • Bạn muốn cho thấy rằng bạn là hợp thời trang

Một ngoại lệ đối với quy ước cho phép bạn "chọn bất kỳ ngôn ngữ lập trình nào bạn muốn" là khi bạn đang phỏng vấn cho một vị trí dành riêng cho miền, chẳng hạn như các vai trò của kỹ sư mặt trước/iOS/Android, trong đó bạn sẽ cần phải làm quen với việc mã hóa Trong JavaScript, Objective-C/Swift và Java tương ứng. Nếu bạn cần sử dụng cấu trúc dữ liệu mà ngôn ngữ không hỗ trợ, chẳng hạn như hàng đợi hoặc đống trong JavaScript, có lẽ hãy thử hỏi người phỏng vấn xem bạn có thể cho rằng bạn có cấu trúc dữ liệu thực hiện các phương pháp nhất định với độ phức tạp thời gian được chỉ định không. Nếu việc thực hiện cấu trúc dữ liệu đó không quan trọng để giải quyết vấn đề, người phỏng vấn thường sẽ cho phép điều này. Trong thực tế, nhận thức được các cấu trúc dữ liệu hiện có và lựa chọn các cấu trúc thích hợp để giải quyết vấn đề trong tay là quan trọng hơn là biết các chi tiết thực hiện phức tạp.

Python có phải là ngôn ngữ tốt nhất để phỏng vấn?

Trong số các ngôn ngữ này, có một người chiến thắng rõ ràng khi nói đến ngôn ngữ tốt nhất để sử dụng cho các cuộc phỏng vấn mã hóa - Python.Tất nhiên, các ứng cử viên vẫn có thể thực hiện tốt bằng cách sử dụng các ngôn ngữ khác, nhưng tôi cảm thấy mạnh mẽ "trò chơi" phỏng vấn chống lại họ.Các ứng cử viên tốt nhất mà tôi đã phỏng vấn tất cả đã sử dụng Python 3.there's a clear winner when it comes to the best language to use for coding interviews - Python. Of course, candidates can still perform well using other languages, but I strongly feel the interviewing "game" is rigged against them. The best candidates I've interviewed all used Python 3.

Tôi có thể sử dụng Python cho các cuộc phỏng vấn của Faang không?

Dưới đây là danh sách các ngôn ngữ cho Faang: Python: Python là một ngôn ngữ cực kỳ phổ biến toàn cầu giữa các lập trình viên và nhà khoa học dữ liệu do dễ sử dụng và khả năng thích ứng.Sự đơn giản của Python giúp tập trung vào việc viết các thuật toán và ít hơn trên cú pháp cần thiết để làm như vậy.Python is an extremely global popular language among programmers and data scientists due to its ease of use and adaptability. The simplicity of python helps to focus on writing the algorithms and less on the syntax necessary to do so.