Chúng tôi đã chuẩn bị các Câu hỏi và Câu trả lời Phỏng vấn Python thường gặp nhất sẽ giúp bạn chuẩn bị cho các câu hỏi phỏng vấn trên Python mà người phỏng vấn có thể hỏi bạn trong cuộc phỏng vấn của bạn. Trong danh sách các câu hỏi phỏng vấn Python Scripting này, chúng tôi đã đề cập đến tất cả các câu hỏi cơ bản và nâng cao về lập trình Python thường gặp với các câu trả lời chi tiết để giúp bạn hoàn thành cuộc phỏng vấn xin việc một cách dễ dàng.
Chúng tôi đã đề cập hầu hết tất cả các câu hỏi phỏng vấn Python quan trọng dành cho những người mới bắt đầu và các ứng viên có kinh nghiệm để giúp bạn chuẩn bị cho cuộc phỏng vấn sắp tới. Hướng dẫn chi tiết về các câu hỏi phỏng vấn viết mã Python này sẽ giúp bạn hoàn thành cuộc phỏng vấn xin việc cho Lập trình Python.
Tải xuống PDF câu hỏi phỏng vấn Python
Câu hỏi và câu trả lời phỏng vấn Python cơ bản dành cho những người làm mới & có kinh nghiệm
1) Python là gì? Lợi ích của việc sử dụng Python là gì?
Python là một ngôn ngữ lập trình với các đối tượng, mô-đun, luồng, ngoại lệ và quản lý bộ nhớ tự động. Lợi ích của pythons là nó đơn giản và dễ dàng, di động, có thể mở rộng, cấu trúc dữ liệu tích hợp sẵn và nó là một mã nguồn mở.
2) PEP 8 là gì?
PEP 8 là một quy ước mã hóa, một tập hợp các khuyến nghị, về cách viết mã Python của bạn dễ đọc hơn.
3) Gọt và bóc tách là gì?
Mô-đun Pickle chấp nhận bất kỳ đối tượng Python nào và chuyển đổi nó thành một biểu diễn chuỗi và kết xuất nó vào một tệp bằng cách sử dụng hàm kết xuất, quá trình này được gọi là pickling. Trong khi quá trình truy xuất các đối tượng Python ban đầu từ biểu diễn chuỗi được lưu trữ được gọi là giải nén.
4) Python được diễn giải như thế nào?
Ngôn ngữ Python là một ngôn ngữ thông dịch. Chương trình Python chạy trực tiếp từ mã nguồn. Nó chuyển đổi mã nguồn được viết bởi lập trình viên thành một ngôn ngữ trung gian, một lần nữa được dịch sang ngôn ngữ máy cần được thực thi.
5) Bộ nhớ được quản lý như thế nào trong Python?
- Bộ nhớ Python được quản lý bởi không gian đống riêng tư của Python. Tất cả các đối tượng Python và cấu trúc dữ liệu được đặt trong một heap riêng tư. Lập trình viên không có quyền truy cập vào heap riêng tư này và trình thông dịch sẽ chăm sóc heap riêng tư Python này.
- Việc cấp phát không gian đống Python cho các đối tượng Python được thực hiện bởi trình quản lý bộ nhớ Python. API lõi cung cấp quyền truy cập vào một số công cụ để lập trình viên viết mã.
- Python cũng có một bộ thu gom rác có sẵn, giúp tái chế tất cả bộ nhớ không sử dụng và giải phóng bộ nhớ và cung cấp nó cho không gian heap.
6) Các công cụ giúp tìm lỗi hoặc thực hiện phân tích tĩnh là gì?
PyChecker là một công cụ phân tích tĩnh phát hiện lỗi trong mã nguồn Python và cảnh báo về kiểu và độ phức tạp của lỗi. Pylint là một công cụ khác xác minh xem mô-đun có đáp ứng tiêu chuẩn mã hóa hay không.
7) Trình trang trí Python là gì?
Trình trang trí Python là một thay đổi cụ thể mà chúng tôi thực hiện trong cú pháp Python để thay đổi các chức năng một cách dễ dàng.
8) Sự khác biệt giữa danh sách và tuple là gì?
Sự khác biệt giữa danh sách và tuple là danh sách có thể thay đổi được trong khi tuple thì không. Tuple có thể được băm ví dụ như một khóa cho từ điển.
9) Các đối số được truyền bằng giá trị hoặc bằng tham chiếu như thế nào?
Mọi thứ trong Python đều là một đối tượng và tất cả các biến đều chứa các tham chiếu đến các đối tượng. Các giá trị tham chiếu là theo các chức năng; kết quả là bạn không thể thay đổi giá trị của các tham chiếu. Tuy nhiên, bạn có thể thay đổi các đối tượng nếu nó có thể thay đổi được.
10) Đọc hiểu Dict và List là gì?
Chúng là cấu trúc cú pháp để dễ dàng tạo Từ điển hoặc Danh sách dựa trên có thể lặp lại hiện có.
11) Loại tích hợp mà python cung cấp là gì?
Có các loại Trăn có thể thay đổi và Bất biến được xây dựng trong các loại Loại tích hợp sẵn có thể thay đổi
- Danh sách
- Bộ
- Từ điển
Các loại tích hợp bất biến
- Dây
- Tuples
- Con số
12) Không gian tên trong Python là gì?
Trong Python, mỗi cái tên được giới thiệu đều có một vị trí mà nó tồn tại và có thể được nối cho. Đây được gọi là không gian tên. Nó giống như một hộp mà một tên biến được ánh xạ tới đối tượng được đặt. Bất cứ khi nào biến được tìm kiếm, hộp này sẽ được tìm kiếm, để lấy đối tượng tương ứng.
13) Lambda trong Python là gì?
Nó là một hàm ẩn danh biểu thức đơn thường được sử dụng như hàm nội tuyến.
14) Tại sao các biểu mẫu lambda trong python không có câu lệnh?
Biểu mẫu lambda trong python không có câu lệnh vì nó được sử dụng để tạo đối tượng hàm mới và sau đó trả lại chúng trong thời gian chạy.
15) Pass trong Python là gì?
Pass có nghĩa là câu lệnh Python không hoạt động, hay nói cách khác, nó là một phần giữ chỗ trong câu lệnh ghép, nơi không được để trống và không phải viết gì ở đó.
16) Trong Python, trình vòng lặp là gì?
Trong Python, các trình vòng lặp được sử dụng để lặp lại một nhóm các phần tử, các vùng chứa như danh sách.
17) Điều gì là hấp dẫn nhất trong Python?
Một khuôn khổ kiểm thử đơn vị trong Python được gọi là đơn vị nhất. Nó hỗ trợ chia sẻ các thiết lập, kiểm tra tự động hóa, mã tắt cho các bài kiểm tra, tổng hợp các bài kiểm tra thành bộ sưu tập, v.v.
18) Trong Python, cắt lát là gì?
Một cơ chế để chọn một loạt các mục từ các loại trình tự như danh sách, bộ, chuỗi, v.v. được gọi là cắt.
19) Máy phát điện trong Python là gì?
Cách thực hiện các trình lặp được gọi là trình tạo. Nó là một hàm bình thường ngoại trừ nó mang lại biểu thức trong hàm.
20) docstring trong Python là gì?
Chuỗi tài liệu Python được gọi là docstring, nó là một cách ghi lại các hàm, mô-đun và lớp Python.
21) Làm thế nào bạn có thể sao chép một đối tượng trong Python?
Để sao chép một đối tượng bằng Python, bạn có thể thử copy.copy () hoặc copy.deepcopy () cho trường hợp chung. Bạn không thể sao chép tất cả các đối tượng trừ hầu hết chúng.
22) Chỉ mục âm trong Python là gì?
Các chuỗi Python có thể được lập chỉ mục ở dạng số dương và số âm. Đối với chỉ số tích cực, 0 là chỉ số đầu tiên, 1 là chỉ số thứ hai, v.v. Đối với chỉ số âm, (-1) là chỉ số cuối cùng và (-2) là chỉ số cuối cùng thứ hai, v.v.
23) Làm thế nào bạn có thể chuyển đổi một số thành một chuỗi?
Để chuyển một số thành một chuỗi, hãy sử dụng hàm sẵn có str (). Nếu bạn muốn biểu diễn hệ bát phân hoặc thập lục phân, hãy sử dụng hàm có sẵn oct () hoặc hex ().
24) Sự khác biệt giữa Xrange và range là gì?
Xrange trả về đối tượng xrange trong khi phạm vi trả về danh sách và sử dụng cùng một bộ nhớ và bất kể kích thước phạm vi là bao nhiêu.
25) Mô-đun và gói trong Python là gì?
Trong Python, mô-đun là cách để cấu trúc chương trình. Mỗi tệp chương trình Python là một mô-đun, mô-đun này nhập các mô-đun khác như các đối tượng và thuộc tính.
Thư mục của chương trình Python là một gói các mô-đun. Một gói có thể có các mô-đun hoặc các thư mục con.
26) Đề cập đến các quy tắc cho các biến cục bộ và toàn cục trong Python là gì?
Biến cục bộ : Nếu một biến được gán một giá trị mới ở bất kỳ đâu trong phần thân của hàm, thì nó được giả định là cục bộ.
Biến toàn cục : Những biến chỉ được tham chiếu bên trong một hàm là toàn cục ngầm định.
27) Làm thế nào bạn có thể chia sẻ các biến toàn cục giữa các mô-đun?
Để chia sẻ các biến toàn cục giữa các mô-đun trong một chương trình, hãy tạo một mô-đun đặc biệt. Nhập mô-đun cấu hình trong tất cả các mô-đun của ứng dụng của bạn. Mô-đun sẽ có sẵn dưới dạng một biến toàn cục trên các mô-đun.
28) Giải thích cách bạn có thể thực thi Python Script trên Unix?
Để thực thi Python Script trên Unix, bạn cần thực hiện hai điều,
- Chế độ của tệp script phải thực thi được và
- dòng đầu tiên phải bắt đầu bằng # (#! / usr / local / bin / python)
29) Giải thích cách xóa một tệp trong Python?
Bằng cách sử dụng lệnh os.remove (tên tệp) hoặc os.unlink (tên tệp)
30) Giải thích cách bạn có thể tạo số ngẫu nhiên trong Python?
Để tạo các số ngẫu nhiên trong Python, bạn cần nhập lệnh dưới dạng
nhập ngẫu nhiên
random.random ()
Điều này trả về một số dấu phẩy động ngẫu nhiên trong phạm vi [0,1)
31) Giải thích cách bạn có thể truy cập vào một mô-đun được viết bằng Python từ C?
Bạn có thể truy cập một mô-đun được viết bằng Python từ C bằng phương pháp sau,
Mô-đun = = PyImport_ImportModule ("
32) Đề cập đến việc sử dụng toán tử // trong Python?
Nó là một bộ chia tầng, được sử dụng để chia hai toán hạng với kết quả là thương số chỉ hiển thị các chữ số trước dấu thập phân. Ví dụ: 10 // 5 = 2 và 10.0 // 5.0 = 2.0.
33) Đề cập đến năm lợi ích của việc sử dụng Python?
- Python bao gồm một thư viện tiêu chuẩn khổng lồ cho hầu hết các nền tảng Internet như Email, HTML, v.v.
- Python không yêu cầu quản lý bộ nhớ rõ ràng vì trình thông dịch tự phân bổ bộ nhớ cho các biến mới và tự động giải phóng chúng
- Cung cấp khả năng đọc dễ dàng do sử dụng dấu ngoặc vuông
- Dễ học cho người mới bắt đầu
- Có các kiểu dữ liệu tích hợp giúp tiết kiệm thời gian và công sức lập trình từ việc khai báo các biến
34) Đề cập đến việc sử dụng hàm phân tách trong Python ?
Việc sử dụng hàm phân tách trong Python là nó ngắt một chuỗi thành các chuỗi ngắn hơn bằng cách sử dụng dấu phân tách đã xác định. Nó cung cấp một danh sách tất cả các từ có trong chuỗi.
35) Giải thích Flask là gì và lợi ích của nó ?
Flask là một khuôn khổ vi mô web cho Python dựa trên BSD "Werkzeug, Jinja 2 và những ý định tốt" được cấp phép. Werkzeug và jingja là hai trong số các phụ thuộc của nó.
Bình là một phần của khuôn khổ vi mô. Có nghĩa là nó sẽ có ít hoặc không có sự phụ thuộc vào các thư viện bên ngoài. Nó làm cho khung công tác nhẹ nhàng trong khi có ít phụ thuộc vào việc cập nhật và ít lỗi bảo mật hơn.
36) Đề cập đến sự khác biệt giữa Django, Pyramid và Flask là gì?
Flask là một "microframework" chủ yếu được xây dựng cho một ứng dụng nhỏ với các yêu cầu đơn giản hơn. Trong flask, bạn không cần phải sử dụng các thư viện bên ngoài. Bình đã sẵn sàng để sử dụng.
Kim tự tháp được xây dựng cho các ứng dụng lớn hơn. Nó cung cấp tính linh hoạt và cho phép nhà phát triển sử dụng các công cụ phù hợp cho dự án của họ. Nhà phát triển có thể chọn cơ sở dữ liệu, cấu trúc URL, kiểu tạo khuôn mẫu và hơn thế nữa. Kim tự tháp có thể cấu hình nặng.
Giống như Pyramid, Django cũng có thể được sử dụng cho các ứng dụng lớn hơn. Nó bao gồm một ORM.
37) Đề cập đến Flask-WTF là gì và các tính năng của chúng là gì?
Flask-WTF cung cấp tích hợp đơn giản với WTForms. Các tính năng bao gồm cho Flask WTF là
- Tích hợp với wtforms
- Biểu mẫu an toàn với mã thông báo csrf
- Bảo vệ csrf toàn cầu
- Hội nhập quốc tế
- Hỗ trợ Recaptcha
- Tải lên tệp hoạt động với Tải lên bằng Flask
38) Giải thích cách phổ biến để tập lệnh Flask hoạt động?
Cách phổ biến để tập lệnh bình hoạt động là
- Hoặc nó phải là đường dẫn nhập cho ứng dụng của bạn
- Hoặc đường dẫn đến tệp Python
39) Giải thích cách bạn có thể truy cập các phiên trong Flask?
Một phiên về cơ bản cho phép bạn ghi nhớ thông tin từ yêu cầu này đến yêu cầu khác. Trong bình, nó sử dụng cookie đã ký để người dùng có thể xem nội dung phiên và sửa đổi. Người dùng có thể sửa đổi phiên nếu chỉ nó có khóa bí mật Flask.secret_key.
40) Flask có phải là mô hình MVC không và nếu có, hãy đưa ra một ví dụ hiển thị mô hình MVC cho ứng dụng của bạn?
Về cơ bản, Flask là một khung công tác tối giản hoạt động giống như khung công tác MVC. Vì vậy, MVC là một sự phù hợp hoàn hảo cho Flask và mô hình cho MVC chúng ta sẽ xem xét cho ví dụ sau
từ bình nhập khẩu Bình app = Flask (_name_) @ app.route ("/") Def xin chào (): quay lại "Hello World" app.run (gỡ lỗi = True) |
Trong mã này của bạn,
từ bình nhập khẩu Bình app = Flask (_name_)
@ app.route ("/") Def xin chào (): quay lại "Hello World"
app.run (gỡ lỗi = True) |
41) Giải thích kết nối cơ sở dữ liệu trong Python Flask?
Flask hỗ trợ ứng dụng hỗ trợ cơ sở dữ liệu (RDBS). Hệ thống như vậy yêu cầu tạo một lược đồ, yêu cầu chuyển tệp shema.sql vào lệnh sqlite3. Vì vậy, bạn cần cài đặt lệnh sqlite3 để tạo hoặc khởi chạy cơ sở dữ liệu trong Flask.
Flask cho phép yêu cầu cơ sở dữ liệu theo ba cách
- before_request (): Chúng được gọi trước một yêu cầu và không truyền đối số
- after_request (): Chúng được gọi sau một yêu cầu và chuyển phản hồi sẽ được gửi đến máy khách
- teardown_request (): Chúng được gọi trong trường hợp ngoại lệ được đưa ra và phản hồi không được đảm bảo. Chúng được gọi sau khi phản hồi được xây dựng. Họ không được phép sửa đổi yêu cầu và giá trị của họ bị bỏ qua.
42) Bạn đang có nhiều máy chủ Memcache chạy Python, trong đó một máy chủ memcacher bị lỗi và nó có dữ liệu của bạn, liệu nó có bao giờ cố lấy dữ liệu quan trọng từ một máy chủ bị lỗi đó không?
Dữ liệu trong máy chủ bị lỗi sẽ không bị xóa, nhưng có một điều khoản về tự động lỗi, bạn có thể định cấu hình cho nhiều nút. Sự cố có thể được kích hoạt trong bất kỳ loại lỗi cấp độ máy chủ socket hoặc Memcached nào chứ không phải trong các lỗi máy khách thông thường như thêm khóa hiện có, v.v.
43) Giải thích cách bạn có thể giảm thiểu sự cố máy chủ Memcached trong Phát triển Python của bạn?
- Khi một phiên bản không thành công, một số phiên bản trong số đó gặp sự cố, điều này sẽ đặt tải trọng lớn hơn lên máy chủ cơ sở dữ liệu khi dữ liệu bị mất được tải lại khi máy khách đưa ra yêu cầu. Để tránh điều này, nếu mã của bạn đã được viết để giảm thiểu việc đóng dấu bộ nhớ cache thì nó sẽ để lại tác động tối thiểu
- Một cách khác là hiển thị một phiên bản của Memcached trên một máy mới bằng cách sử dụng địa chỉ IP của máy bị mất
- Mã là một tùy chọn khác để giảm thiểu sự cố máy chủ vì nó cho phép bạn tự do thay đổi danh sách máy chủ Memcached với công việc tối thiểu
- Đặt giá trị thời gian chờ là một tùy chọn khác mà một số máy khách Memcached triển khai cho sự cố ngừng hoạt động của máy chủ Memcached. Khi máy chủ Memcached của bạn gặp sự cố, máy khách sẽ tiếp tục cố gắng gửi yêu cầu cho đến khi đạt đến giới hạn thời gian chờ
44) Giải thích hiệu ứng Dogpile là gì? Làm thế nào bạn có thể ngăn chặn hiệu ứng này?
Hiệu ứng Dogpile được đề cập đến sự kiện khi bộ nhớ cache hết hạn và các trang web bị tấn công bởi nhiều yêu cầu được thực hiện bởi khách hàng cùng một lúc. Hiệu ứng này có thể được ngăn chặn bằng cách sử dụng khóa semaphore. Trong hệ thống này khi giá trị hết hạn, quy trình đầu tiên nhận được khóa và bắt đầu tạo giá trị mới.
45) Giải thích cách Memcached không nên được sử dụng trong dự án Python của bạn?
- Cách sử dụng sai phổ biến của Memcached là sử dụng nó như một nơi lưu trữ dữ liệu chứ không phải như một bộ nhớ cache
- Không bao giờ sử dụng Memcached làm nguồn thông tin duy nhất bạn cần để chạy ứng dụng của mình. Dữ liệu cũng phải luôn có sẵn thông qua một nguồn khác
- Memcached chỉ là một kho lưu trữ khóa hoặc giá trị và không thể thực hiện truy vấn trên dữ liệu hoặc lặp lại nội dung để trích xuất thông tin
- Memcached không cung cấp bất kỳ hình thức bảo mật nào trong mã hóa hoặc xác thực