Có thể nói, trong những năm gần đây Python luôn là một trong những cái tên được các nhà tuyển dụng săn đón và mong mỏi nhiều nhất ở một ứng cử viên. Không chỉ ứng dụng được vào nhiều lĩnh vực khác nhau và tạo ra nhiều cơ hội việc làm, Python còn thu hút các developer bởi mức lương cao ngất ngưỡng với một tháng có thể lên tới hàng ngàn đô.
Và tất yếu, chắc như đinh không cần phải nói nhiều khi ngôn từ lập trình này chính là nền tảng cho rất nhiều mẫu sản phẩm cực kỳ nổi tiếng như Google, Quora, BitTorrent, v.v …. Đó chính là nguyên do nếu bạn là một Python Developer, thì cần phải sẵn sàng chuẩn bị thật tốt trước khi phỏng vấn, bởi lẽ chính điều này sẽ giúp ích rất nhiều cho sự tự tin và tâm ý của bạn trước khi bước vào đại chiến sống còn sau này đấy .
Cùng mình điểm qua 15 câu hỏi thường gặp khi phỏng vấn với Python để hoàn toàn có thể bỏ túi những bí kíp thiết yếu nhé .
Bạn đang đọc: 15 Câu Hỏi Phỏng Vấn Thường Gặp Với Python?
Đầu tiên, nếu muốn đi phỏng vấn Python thì việc hiểu những kiến thức nền tảng về nó là một điều cực kỳ cần thiết. Bạn không thể đi đánh trận nếu không có vũ khí bên mình và sự am hiểu về đối thủ, đúng không? Việc biết được ưu và nhược điểm của Python chắc chắn sẽ giúp ích cho bạn rất nhiều, một số câu hỏi dưới đây (bao gồm cả lý thuyết và code) sẽ kiểm tra kiến thức Python cơ bản của bạn.
1. Nêu những tính năng chính của Python? Điều gì làm cho Python trở nên thân thiện với người dùng?
Ngoài những ưu điểm như cú pháp gọn, đẹp và tính dễ đọc thì Python còn đem đến cho lập trình viên những lợi ích sau:
2. Nêu sự khác biệt giữa list (danh sách) và tuple
(bộ dữ liệu) trong Python?
3. Kiểu dữ liệu chuẩn mà Python cung cấp là gì? Đâu là kiểu dữ liệu có thể thay đổi được (mutable), còn đâu là kiểu dữ liệu không thể thay đổi được (immutable)?
Kiểu dữ liệu mutable
chuẩn là những giá trị có dữ liệu có thể thay đổi được gồm có: List, Set, Dictionary
Kiểu dữ liệu immutable
chuẩn những giá trị có dữ liệu không thể thay đổi được gồm có: Chuỗi, Tuple, Số
4. Tham số được truyền vào như thế nào: là truyền tham trị (pass by value) hay truyền tham chiếu (pass by reference)?
Với Python, mọi thứ đều là một object và tất cả các biến đều tham chiếu tới các đối tượng. Các giá trị tham chiếu sẽ được link tới các hàm, và kết quả là ta không thể thay đổi giá trị của kiểu dữ liệu này. Tuy nhiên, chúng ta lại có thể thay đổi một đối tượng vì chúng là kiểu dữ liệu mutable.
Bên cạnh đó, bạn cũng có thể sắp xếp các đối số bằng cách sử dụng các chỉ định * và ** trong danh sách các tham số của hàm khi muốn truyền tham số tùy chọn hay từ khóa từ hàm này sang hàm khác trong Python.
5. Namespace trong Python là gì?
Namespace trong Python còn gọi là không gian tên, là một hệ thống có một tên duy nhất cho mỗi mọi đối tượng trong Python. Một đối tượng có thể là một biến hoặc một phương thức. Bản thân Python duy trì một namespace dưới dạng từ điển Python. Python có nhiều loại namespace khác nhau, và khi người dùng tạo một module thì một namespace toàn cục sẽ được khởi tạo, việc tạo các hàm cục bộ sau đó sẽ tạo ra namespace cục bộ. Namespace tích hợp sẵn bao gồm namespace toàn cục và namespace toàn cục bao gồm namespace cục bộ.
6. Module Python là gì? Hãy nêu một vài module chuẩn thường dùng trong Python?
Module Python là những file chứa code Python, và những code này hoàn toàn có thể là những biến hay những class function. Một module Python thường là một file. py chứa những dòng lệnh hoàn toàn có thể thực thi được .
Một vài module chuẩn Python thường dùng là: os, sys, math, random, data time, JSON, v.v…
7. Thế nào là biến toàn cục và biến cục bộ trong Python?
Những biến nào được khai báo ở bên ngoài hàm hay trong phạm vi toàn cục (global) thì được gọi là biến toàn cục (global variable), chính vì vậy mà bạn có thể truy cập tới những biến này ở bất cứ đâu tùy thích trong chương trình.
Ngược lại, biến cục bộ (local variable) lại là những biến được khai báo bên trong một hàm nào đó. Những biến này chỉ có sẵn trong một phạm vi nhất định thay vì ở phạm vi toàn cục như các biến global.
Ví dụ :
//doi voi bien toan cuc
myVar = "global var" #khai báo biến myVar
def example():
print("myVar of example() is: ", myVar)
example()
#Gọi myVar ngoài hàm example()
print("myVar ngoài hàm example():", myVar)
//doi voi bien cuc bo
def example1():
myVar1 = "local var"
print(myVar1)
example1()
//Neu ban lam nhu duoi day se bi thong bao loi
//UnboundLocalError: local variable 'myVar' referenced before assignment
myVar = 10
def example():
myVar=myVar*5 + 10
print(myVar)
example()
8. Làm cách nào để có thể random những item có trong một list khi làm việc với Python?
Gỉa sử ta có một ví dụ minh họa sau đây :
from random import shuffle
x = ['Keep', 'The', 'Blue', 'Flag', 'Flying', 'High']
shuffle(x)
print(x)
Khi đó output của dòng code trên sẽ là :
['Flying', 'Keep', 'Blue', 'High', 'The', 'Flag']
9. Tạo ra danh sách các số nguyên tố từ (1,100) với Python
primeList = []
for possiblePrime in range(2, 100):
isPrime = True
for num in range(2, possiblePrime):
if possiblePrime % num == 0:
isPrime = False
if isPrime:
primeList.append(possiblePrime)
print(primeList)
10. Output của dòng code dưới đây là gì? Đồng thời hãy cho biết cách để viết comment (thậm chí là comment nhiều dòng) trong Python?
x = [[]]*3
x[2].append(1)
print(x)
Output :
[[1], [1], [1]]
Thường thì việc comment trong Python sẽ được mở màn bằng ký tự #. Tuy nhiên trong 1 số ít trường hợp ta cũng hoàn toàn có thể dùng docstrings ( hay còn gọi là document strings ) với bộ ba dấu ” ” ” mở màn và kết thúc .
Bên cạnh đó, bạn cũng hoàn toàn có thể comment nhiều hơn một dòng trong Python bằng cách sử dụng tổng hợp phím ctrl key và click trái chuột ở bất kể chỗ nào mà bạn muốn để kí tự # và chỉ # một lần. Điều này sẽ giúp bạn comment tổng thể những dòng ở những nơi mà bạn đặt con trỏ tới .
Ví dụ như :
#Comment in one line
print("Comments in Python start with a #")
#Comment in multiple lines like this:
#hello world
#hello abcdxyz
""" Comment with docstrings like this:
Welcome to my blog ^^
"""
print("Hello World!")
11. [::-1} có thể làm được gì?
[ :: – 1 } trong Python được dùng để hòn đảo thứ tự của một mảng hay một trình tự nào đó. Cụ thể như sau :
import array as arr
myArray=arr.array('i',[1,2,3,4,5])
myArray[::-1]
Output:
array(‘i’, [5, 4, 3, 2, 1])
Như vậy có thể thấy [::-1} sẽ in lại bản copy bị đảo ngược của cấu trúc dữ liệu có thứ tự như một mảng hay một danh sách, và tất nhiên là mảng hay danh sách cũ vẫn được giữ nguyên, nó sẽ return cho bạn một mảng/danh sách mới.
12. Break, Continue và Pass trong Python làm việc như thế nào?
13. Làm cách nào để in hoa chữ cái đầu của một kí tự của chuỗi trong Python?
Trong Python, chuyện này trở nên đơn thuần nhờ phương pháp capitalize ( ) hoàn toàn có thể in hoa vần âm tiên phong của một chuỗi. Và nếu chuỗi đó đã được viết hoa sẵn vần âm đầu thì qua phương pháp trên, thì phương pháp này sẽ return về chuỗi gốc bắt đầu .
Ví dụ minh họa:
string = "chao ban"
string1 = "Hello friends!"
print(string1.capitalize() + string.capitalize())
# output: Hello friends! Chao ban
14. Function help() và dir() trong Python có chức năng gì?
Cả hai hàm help ( ) và dir ( ) đều hoàn toàn có thể truy vấn được từ trình thông dịch của Python và đợc sử dụng để xem một hàm tổng hợp của những hàm dựng sẵn .
15. Giải thích phương thức slipt(), subn(), sub() của module “re” trong Python
Để thao tác với string thì module “ re ” của Python đã cung ứng cho người dùng 3 phương pháp sau :
Ví dụ :
#Syntax of split() method: split(pattern, string, maxsplit)
import re
str = 'Support me more on codelearn.io'
match = re.split(r'e', str)
if match:
print (match)
else:
print ('Khong tim thay!')
# Kết quả:
# ['Support m','mor','on cod','l','arn.io']
Ví dụ :
#Syntax of sub(): sub(pattern, replace, string, flags)
import re
str = 'Hello, please find me in codelearn.io'
match = re.sub(r'codelearn.io','https://expgg.vn', str)
if match:
print (match)
else:
print ('Khong tim thay!')
# output: Hello, please find me in https://expgg.vn
subn(): tương tự như sub() và đồng thời cũng return về một chuỗi mới đi kèm với sự thay thế của no. .Như bạn thấy ở ví dụ minh họa dưới đây thì phương thức subn()
return một một bộ dữ liệu với tổng số các lần thay thế cũng như đi kèm với nó là một chuỗi mới.
Ví dụ :
#Syntax of subn() method: re.subn (pattern, repl, string, count=0, flags=0)
import re
print(re.subn('ov', '~*', 'movie tickets booking in online'))
t = re.subn('ov', '~*', 'movie tickets booking in online', flags = re.IGNORECASE)
print(t)
print(len(t))
print(t[0])
Output :
('m~*ie tickets booking in online', 1)
('m~*ie tickets booking in online', 1)
2
m~*ie tickets booking in online
Hi vọng qua bài viết trên, bạn đọc hoàn toàn có thể bỏ túi được thêm những câu hỏi phỏng vấn thường gặp với Python cho việc làm để chuẩn bị sẵn sàng thật tốt cho buổi interview sắp tới của mình. Nếu bài viết này được ủng hộ, mình sẽ viết thêm về một bài khác nữa cũng với chủ đề này một cách cụ thể và đơn cử hơn nữa nhé !
Source: https://expgg.vn
Category: Thông tin
Bảng xếp hạng Anime được xem nhiều nhất tuần của mùa hè. Bảng xếp hạng…
Theo thông báo của biên tập viên của manga là Shiraki trên Twitter Manga The…
Vừa qua, dàn nhân lực chính thức cho bộ anime điện ảnh Tensei Shitara Slime…
Anime One Punch Man đã xác nhận ra phần 3, với thông báo sắp ra…
Nếu đã quá nhàm chán với các đội hình meta hiện tại thì cùng đổi…
Vào hôm thứ tư vừa qua, Twitter chính thức cho anime Edens Zero đã xác…