Hướng dẫn is python good for interviews - python có tốt cho các cuộc phỏng vấn không

Làm thế nào đúng là nó? Người phỏng vấn có thực sự coi thường Python không?

Một số làm. Một số không.

Đây là lời khuyên tốt nhất tôi có thể cung cấp cho bạn về những vấn đề như thế này (và về các vấn đề tương tự, như lựa chọn trang phục): Chuẩn bị bản thân và hành động theo công việc bạn muốn. Hãy nhớ rằng bạn cũng đang phỏng vấn họ, vì vậy cố gắng xoa dịu những ý thích bất chợt và kỳ vọng tùy tiện của người phỏng vấn cũng có thể dẫn đến những kỳ vọng/nhu cầu/mong muốn của riêng bạn là không được đáp ứng. Hãy chú ý đến những gì họ hỏi bạn, cách họ làm việc với bạn và những gì họ mong đợi bạn làm trong cài đặt phỏng vấn, bởi vì điều đó sẽ cho bạn một cái nhìn thoáng qua về những gì nó sẽ như thế nào khi làm việc với họ.prepare yourself and act in accordance with the job YOU want. Remember that you are also interviewing them, so trying to appease every interviewer's arbitrary whims and expectations may well lead to your own expectations/needs/desires being unmet. Pay attention to what they ask you, how they work with you, and what they expect you to do in the interview setting, because that will give you a glimpse into what it will be like to work with them.

Đây là những gì tôi muốn nói: Giả sử người phỏng vấn một người khăng khăng bạn sử dụng Java và liên tục chọn các lỗi cú pháp nhỏ trong mã của bạn. Đoán xem người phỏng vấn là gì rất có thể sẽ làm hàng ngày trong công việc? Đúng vậy-hãy giải thoát những đức tính của Java và chọn các đánh giá mã của bạn, và áp lực bạn và mọi người khác phải làm điều tương tự. Có lẽ bạn thích Java và là một người gắn bó với một số phong cách cú pháp, và có lẽ đó có thể là một điều tốt cho bạn-nhưng có lẽ nó không phải là.

Giả sử người phỏng vấn B không quan tâm bạn sử dụng ngôn ngữ nào, hoặc thậm chí bảo bạn sử dụng mã giả nếu bạn muốn. Rất có thể, người phỏng vấn B sẽ linh hoạt và tự do trong công việc. Có lẽ bạn thích sự linh hoạt, và có lẽ đó có thể là một điều tốt cho bạn-nhưng có lẽ nó không phải là.

Mỗi người phỏng vấn sẽ có một số phong cách họ làm theo, đó là sự phản ánh về cách họ làm việc nói chung, và có lẽ bạn sẽ hạnh phúc nhất khi làm việc với những người chia sẻ phong cách của riêng bạn. Cách tốt nhất để tìm thấy chúng là tự chọn bằng cách chọn các ngôn ngữ/phương pháp tiếp cận/giải quyết vấn đề/bất cứ điều gì bạn thích. Bị "bị từ chối" bởi những người có phong cách làm việc đụng độ với chính bạn thực sự không phải là một điều xấu (và tin tưởng tôi-nếu cuối cùng bạn làm việc với họ, bạn sẽ hiểu ý tôi).

Một điều cần lưu ý: các công ty lớn là lớn, vì vậy có một cơ hội tốt, cuối cùng bạn sẽ gặp phải một mặt cắt ngang các phong cách và kỳ vọng trong một vòng phỏng vấn duy nhất (vì một số trong số họ sẽ lấy nguồn người phỏng vấn từ các góc khác nhau của công ty). Mặc dù vậy, tôi thực sự khuyên bạn nên bám vào phong cách của bạn thay vì cố gắng xoa dịu mọi người phỏng vấn, cả vì bạn sẽ thoải mái hơn và hoạt động tốt hơn, và ngay cả các công ty lớn có xu hướng có xu hướng chung (ví dụ, Google có một .

Ồ, và bởi vì nó sẽ tạo nên một cuộc phỏng vấn giải trí cho những người như tôi, những người phải ngồi vào họ ...

Điểm mấu chốt: Nếu bạn thích Python-vì bất kỳ lý do gì-sau đó bạn nên sử dụng nó.

Những gì ngôn ngữ lập trình tốt nhất cho các cuộc phỏng vấn nếu bạn đang theo đuổi vị trí kỹ sư phần mềm?

Python3 (hoặc Python nói chung) và tôi sẽ giải thích dưới đây.(Or generically Python) And I will explain below.

print('Hello World')

Là một kỹ sư phần mềm, tôi đã học được một số ngôn ngữ lập trình ở các vị trí công việc khác nhau, tôi đã được phỏng vấn tại nhiều công ty có quy mô khác nhau và tôi đã phỏng vấn nhiều ứng viên ở các cấp độ và nền tảng khác nhau. Sự lựa chọn của ngôn ngữ phỏng vấn chính xác không phải là vấn đề sống hay sống, nhưng nó làm cho cuộc sống của bạn dễ dàng hơn nhiều trước và trong các cuộc phỏng vấn công nghệ. Vậy điều gì làm cho Python3 trở thành ngôn ngữ phỏng vấn tốt nhất?

Nó rất dễ học.

Python là một ngôn ngữ cấp cao và nó gần với tiếng Anh hơn so với các ngôn ngữ khác. Nó thân thiện đến mức một người không có kinh nghiệm lập trình trước đó có thể chỉ nhận nó và bắt đầu mã hóa vào ngày đầu tiên.

Python là một ngôn ngữ năng động, nhưng được đánh máy mạnh mẽ. Nó không cần bạn khai báo một biến trước khi sử dụng và bạn cũng không cần lưu ý rõ ràng loại. Đây là một lợi thế lớn trong các cuộc phỏng vấn giới hạn thời gian. Ví dụ: d={} xác định từ điển/bảng băm và khóa/giá trị có thể là bất kỳ loại nào. Ngoài ra, nó có thể được mở rộng thành một từ điển lồng nhau nếu cần.

d = {}
d['name'] = 'James'
d['age'] = 23
print(d)

Nó rất dễ đọc.

Thụt lề.python yêu cầu các vết lõm nghiêm ngặt để hình thành các khối mã thích hợp, thay vì niềng răng xoăn {} trong một số ngôn ngữ khác. Công ước bắt buộc này làm giảm rất nhiều sự lộn xộn biểu tượng không cần thiết và thực thi mã được tự tổ chức thành các khối thị giác, do đó làm cho mã dễ dàng với con mắt của cả người phỏng vấn và người được phỏng vấn.
Python requires strict indentations to form proper code blocks, instead of curly braces {}in some other languages. This mandatory convention reduces a lot of unnecessary symbol clutter and enforces the code to be self-organized into visual blocks, thus makes the code easy to the eyes of both the interviewers and interviewees.

def open_windows(windows):
for w in windows:
w.open()
def close_windows(windows):
for w in windows:
w.close()

Nó nổi tiếng

Điều quan trọng là sử dụng một ngôn ngữ lập trình phổ biến mà người phỏng vấn biết. Một cuộc phỏng vấn công nghệ là tất cả về bạn giải thích logic mã hóa của bạn cho người phỏng vấn, do đó, nó hiệu quả nhất khi cả hai bạn biết rõ về ngôn ngữ lập trình giống nhau. Python là ngôn ngữ lập trình phổ biến nhất, vì vậy rất có khả năng người ở phía bên kia của bàn biết điều đó. Cá nhân tôi cảm thấy mọi kỹ sư phần mềm đều sử dụng Python ở một mức độ nào đó, để thực hiện một số kịch bản trong khi làm việc hoặc chỉ để giải trí.er knows. A tech interview is all about you explaining your coding logic to the interviewer, thus it is most effective when both of you know the same programming language well. Python is (one of?) the most popular programming language, so it is highly likely the person on the other side of the table knows it. Personally I feel every software engineer uses Python at some level, to do some scripting during work or merely for fun.

http://pypl.github.io/PYPL.html

Nó là linh hoạt.

Python có các thư viện phong phú.Interview được thực hiện ở mức độ trừu tượng nhất định, bỏ qua các chi tiết không thú vị. Với Python, bạn có thể bỏ qua rất nhiều chi tiết cấp thấp với các tiện ích trong thư viện tiêu chuẩn và tập trung sự chú ý của bạn vào vấn đề cốt lõi.
Interviews are performed at certain abstraction level, ignoring uninteresting details. With Python, you can skip a lot of low level details with the utilities in the standard library, and focus your attention onto the core problem itself.

Python cũng là ngôn ngữ lập trình chính được sử dụng trong học máy và khoa học dữ liệu, nhờ hỗ trợ thư viện tuyệt vời. Kỹ sư phần mềm là một nghề nghiệp đa năng mà mọi người thường thay đổi sở thích và vị trí của họ trong suốt khóa học. Python có thể dễ dàng lấp đầy cây cầu vì tính linh hoạt của chính nó.

Bản tóm tắt

Khi bạn đang chuẩn bị cho các cuộc phỏng vấn, sử dụng Python để thực hành mã hóa giúp tạo mẫu nhanh và hiểu biết cấp cao về các thuật toán.

Trong một cuộc phỏng vấn, mã Python của bạn sẽ ngắn gọn và sạch sẽ, tiết kiệm cho bạn rất nhiều kiểu chữ ngón tay và quan trọng hơn là giúp bạn tiết kiệm rất nhiều sức mạnh não quý giá.

Hy vọng rằng bây giờ bạn bị thuyết phục sử dụng Python3 cho các cuộc phỏng vấn của bạn! Chúc may mắn!Python3 for your interviews! Good luck!

Hoặc la chưa? Vui lòng đọc tiếp.

Vì vậy, những lý do không sử dụng các ngôn ngữ khác cho một cuộc phỏng vấn công nghệ/mã là gì?

Theo bối cảnh của một cuộc phỏng vấn công nghệ, các ngôn ngữ khác có thể có một vị trí thích hợp cho các vị trí chuyên môn. Tuy nhiên, đối với một cuộc phỏng vấn chung, Python3 luôn chiến thắng.

Tôi tình cờ biết một số ngôn ngữ lập trình phổ biến nhất và sử dụng một số ngôn ngữ cho các cuộc phỏng vấn công nghệ của tôi trước đây. Có lẽ tôi có thể chia sẻ một số ý kiến ​​và kinh nghiệm của tôi.

Ngôn ngữ cgreat cho lập trình hệ thống và phần cứng. C xây dựng mọi thứ, C có thể làm mọi thứ. Nhưng C ở mức thấp hơn và gần hơn với kim loại, khiến nó quá dài dòng. Ví dụ: phân tích một chuỗi "apple, orange" thành hai từ có một vòng lặp và một số biến. Python là một dòng, cộng với bạn không cần phải lo lắng về các trường hợp cạnh. C chỉ được sử dụng khi bạn phỏng vấn cho các vị trí hệ thống phần cứng hoặc nhúng.
Great language for system and hardware programming. C built everything, C can do everything. But C is lower level and closer to the metal, which makes it too verbose. For example, parsing a string "apple, orange" into two words takes a loop and several variables. Python is one line, plus you do not need to worry about edge cases. C is used only when you interview for hardware or embedded systems positions.

Ngôn ngữ Javagreat cho các dự án doanh nghiệp lớn, với hàng ngàn kỹ sư và hàng triệu dòng mã. Đối với các cuộc phỏng vấn, nó quá dài dòng với các loại tĩnh và mã nồi hơi. Ví dụ, Java Hello World mất năm dòng, trong khi Python chỉ mất một dòng. Nó sẽ thậm chí còn lộn xộn hơn nếu bạn bắt đầu xác định gettersetter trong Java. Hầu hết các cuộc phỏng vấn là ngôn ngữ bất khả tri, nhưng tôi đã được yêu cầu cụ thể để viết mã trong Java trong một số cuộc phỏng vấn, đặc biệt là Apple và LinkedIn. Ngoài ra, Dropbox cũng ủng hộ Java, bởi vì các câu hỏi phỏng vấn của họ hướng tới nhiều điều nhất, điều này không tự nhiên để làm trong Python vì khóa thông dịch viên toàn cầu (GiL).
Great language for big enterprise projects, with thousands of engineers and millions of lines of code. For interviews, it is too verbose with static types and boilerplate code. For example, a Java Hello World takes five lines, while Python takes only one line. It would be even messier if you started to define getter and setter in Java.
Most interviews are language agnostic, but I did get asked specifically to code in Java during some interviews, notably Apple and LinkedIn. Also Dropbox favors Java too, because their interview questions are more towards multithreading, which is unnatural to do in Python because of Global Interpreter Lock (GIL).

Python2the thế giới đang chuyển đến Python3. Không có lợi ích để bị mắc kẹt tại Python2.
The world is moving to Python3. There is no benefit to get stuck at Python2.

C ++ Đó là C trên steroid, với các thư viện phong phú hơn và hỗ trợ lập trình hướng đối tượng (OOP). Tuy nhiên, mã hóa trong một cuộc phỏng vấn không cần hỗ trợ OOP ở cấp độ ngôn ngữ. Các verbosity và gõ tĩnh cũng bị ảnh hưởng. Donith thậm chí nghĩ về việc sử dụng mẫu trong một cuộc phỏng vấn. Một unordered_map được lồng đơn giản sẽ mất ba dòng để khai báo.
It is C on steroids, with much richer libraries and object-oriented programming (OOP) support. However, coding during an interview does not need OOP support at the language level. The verbosity and static typing also suffer. Don’t even think about using template during an interview. A simple nested unordered_map would take three whole lines to declare.

Rubyruby cũng tuyệt vời như Python, và siêu nổi tiếng mười năm trước với Ruby on Rails. Vấn đề duy nhất là, với tư cách là ngôn ngữ lập trình, Ruby đang xu hướng xuống.
Ruby is as cool as python, and was super popular ten years ago with Ruby on Rails. The only problem is that, as a programming language, Ruby is trending down.

Groovyit là Java trên steroid, và cảm thấy rất giống Ruby. Thật không may, không nhiều công ty sử dụng nó.
It is Java on steroids, and feels a lot like Ruby. Unfortunately not many companies use it.

Scalascala là ngôn ngữ chức năng phổ biến nhất. Tuy nhiên, hãy nhớ rằng tất cả các thách thức mã hóa dự kiến ​​sẽ được giải quyết trong mô hình bắt buộc. Tôi đã sử dụng Scala để phỏng vấn một lần, và thất bại thảm hại. Tôi phát hiện ra rằng tôi không thể chỉnh sửa bất cứ điều gì tại chỗ, do đó làm cho nhanh chóng không thể. Tất nhiên có những kỹ sư xuất sắc có thể làm điều đó, nhưng không phải tôi.
Scala is the most popular functional language. However, keep in mind that all coding challenges are expected to be solved in imperative paradigm. I did use Scala to interview once, and failed miserably. I found out that I could not edit anything in place, consequently made quick-sort impossible. Of course there are excellent engineers can do it, but not me.

Swiftwell, tất nhiên cho các kỹ sư iOS.
Well, of course for iOS engineers.

JavaScriptfor Kỹ sư Frontend.
For frontend engineers.

Kotlinfor Kỹ sư Android.
For Android engineers.

Hai xu của tôi, và chúc may mắn.

Q.E.D.

Cảm ơn Eventbrite, cho Python và mọi thứ!

Python có phải là ngôn ngữ tốt nhất cho các cuộc phỏng vấn?

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.most candidates pick Python or Java.

Python có tốt hơn cho các cuộc phỏng vấn mã hóa không?

Tôi hoàn toàn sẽ tránh các ngôn ngữ cấp thấp hơn như C hoặc GO, đơn giản vì chúng thiếu các hàm thư viện tiêu chuẩn và cấu trúc dữ liệu. Cá nhân, Python là lựa chọn thực tế của tôi cho các thuật toán mã hóa trong các cuộc phỏng vấn. 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.Python is my de facto choice for coding algorithms during interviews. It is succinct and has a huge library of functions and data structures.

Tôi có thể phá vỡ cuộc phỏng vấn của Google với Python không?

Google thích các ngôn ngữ lập trình sau: Java, C ++, C Go và Python.Có ba loại vấn đề mã hóa mà bạn có thể mong đợi trong một cuộc phỏng vấn của Google.. There are three types of coding problems you can expect to see in a Google interview.

Làm cách nào để chuẩn bị cho một cuộc phỏng vấn Python?

Biết cách viết mã trên bảng trắng hoặc giấy nếu bạn đang chuẩn bị cho một cuộc phỏng vấn của nhà phát triển Python, có vẻ như hiển nhiên rằng bạn nên biết Python.Bạn sẽ có thể Whiteboard một số cấu trúc python như vòng lặp, mô hình luồng điều khiển và liệt kê các hình thức và mô tả một số lớp đơn giản.