-
說一說Python中的新式類和舊式類有什麼區別。
答:
-
Python中
is
運算符和==
運算符有什麼區別?答:請參考《那些年我們踩過的那些坑》。
-
Python中如何動態設置和獲取對象屬性?
答:
setattr(object, name, value)
和getattr(object, name[, default])
內置函數,其中object
是對象,name
是對象的屬性名,value
是屬性值。這兩個函數會調用對象的__getattr__
和__setattr__
魔術方法。 -
Python如何實現內存管理?有沒有可能出現內存泄露的問題?
答:
-
闡述列表和集合的底層實現原理。
答:
-
現有字典
d = {'a': 24, 'g': 52, 'i': 12, 'k': 33}
,如何按字典中的值對字典進行排序得到排序後的字典。答:
-
實現將字符串
k1:v1|k2:v2|k3:v3
處理成字典{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
。答:
{key: value for key, value in ( item.split(':') for item in 'k1:v1|k2:v2|k3:v3'.split('|') )}
-
寫出生成從
m
到n
公差爲k
的等差數列的生成器。答:
(value for value in range(m, n + 1, k))
或
def generate(m, n, k): for value in range(m, n + 1, k): yield value
或
def generate(m, n, k): yield from range(m, n + 1, k)
-
請寫出你能想到的反轉一個字符串的方式。
答:
''.join(reversed('hello'))
'hello'[::-1]
def reverse(content): return ''.join(content[i] for i in range(len(content) - 1, -1, -1)) reverse('hello')
def reverse(content): return reverse(content[1:]) + content[0] if len(content) > 1 else content reverse('hello')
-
不使用任何內置函數,將字符串
'123'
轉換成整數123
。
答:
nums = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
total = 0
for ch in '123':
total *= 10
total += nums[ch]
print(total)
-
寫一個返回bool值的函數,判斷給定的非負整數是不是迴文數。
答:
-
用一行代碼實現求任意非負整數的階乘。
答:
from functools import reduce (lambda num: reduce(int.__mul__, range(2, num + 1), 1))(5)
-
寫一個函數返回傳入的整數列表中第二大的元素。
答:
-
刪除列表中的重複元素並保留原有的順序。
答:
-
找出兩個列表中的相同元素和不同元素。
答:
-
列表中的某個元素出現次數佔列表元素總數的半數以上,找出這個元素。
答:
-
實現對有序列表進行二分查找的算法。
答:
-
輸入年月日,輸出這一天是這一年的第幾天。
答:
-
統計一個字符串中各個字符出現的次數。
答:
-
在Python中如何實現單例模式?
答:
-
下面的代碼會輸出什麼。
class A: def __init__(self, value): self.__value = value @property def value(self): return self.__value a = A(1) a.__value = 2 print(a.__value) print(a.value)
-
實現一個記錄函數執行時間的裝飾器。
答:
-
寫一個遍歷指定目錄下指定後綴名的文件的函數。
答:
-
有如下所示的字典,請將其轉換爲CSV格式。
轉換前:
dict_corp = { 'cn': {'id': 1, 'name': '土豆', 'desc': '土豆', 'price': {'gold': 20, 'kcoin': 20}}, 'en': {'id': 1, 'name': 'potato', 'desc': 'potato', 'price': {'gold': 20, 'kcoin': 20}}, 'kr': {'id': 1, 'name': '감자', 'desc':'감자', 'price': {'gold': 20, 'kcoin': 20}}, 'jp': {'id': 1, 'name': 'ジャガイモ', 'desc': 'ジャガイモ', 'price': {'gold': 20, 'kcoin': 20}}, }
轉換後:
,id,name,desc,gold,kcoin cn,1,土豆,土豆,20,20 en,1,potato,potato,20,20 kr,1,감자,감자,20,20 jp,1,ジャガイモ,ジャガイモ,20,20
-
有如下所示的日誌文件,請用Python程序或Linux命令打印出獨立IP並統計數量。
221.228.143.52 - - [23/May/2019:08:57:42 +0800] ""GET /about.html HTTP/1.1"" 206 719996 218.79.251.215 - - [23/May/2019:08:57:44 +0800] ""GET /index.html HTTP/1.1"" 206 2350253 220.178.150.3 - - [23/May/2019:08:57:45 +0800] ""GET /index.html HTTP/1.1"" 200 2350253 218.79.251.215 - - [23/May/2019:08:57:52 +0800] ""GET /index.html HTTP/1.1"" 200 2350253 219.140.190.130 - - [23/May/2019:08:57:59 +0800] ""GET /index.html HTTP/1.1"" 200 2350253 221.228.143.52 - - [23/May/2019:08:58:08 +0800] ""GET /about.html HTTP/1.1"" 206 719996 221.228.143.52 - - [23/May/2019:08:58:08 +0800] ""GET /news.html HTTP/1.1"" 206 713242 221.228.143.52 - - [23/May/2019:08:58:09 +0800] ""GET /products.html HTTP/1.1"" 206 1200250
-
請寫出從HTML頁面源代碼中獲取a標籤href屬性的正則表達式。
答:
-
正則表達式對象的
search
和match
方法有什麼區別?答:
-
當做個線程競爭一個對象且該對象並非線程安全的時候應該怎麼辦?
答:
-
說一下死鎖產生的條件以及如何避免死鎖的發生。
答:
-
請闡述TCP的優缺點。
答:
-
HTTP請求的GET和POST有什麼區別?
答:
-
說一些你知道的HTTP響應狀態碼。
答:
-
簡單闡述HTTPS的工作原理。
答:
-
闡述Django項目中一個請求的生命週期。
答:
-
Django項目中實現數據接口時如何解決跨域問題。
答:
-
Django項目中如何對接Redis高速緩存服務。
答:
-
請說明Cookie和Session之間的關係。
答:
-
說一下索引的原理和作用。
答:
-
是否使用過Nginx實現負載均衡?用過哪些負載均衡算法?
答:
-
一個保存整數(int)的數組,除了一個元素出現過1次外,其他元素都出現過兩次,請找出這個元素。
答:
-
有12個外觀相同的籃球,其中1個的重要和其他11個的重量不同(有可能輕有可能重),現在有一個天平可以使用,怎樣才能通過最少的稱重次數找出這顆與衆不同的球。
答: