python面試題史上最全?本系列文章總結歸納了一些軟件測試工程師常見的面試題,主要來源于個人面試遇到的、網絡搜集(完善)、工作日常讨論等,分為以下十個部分,供大家參考如有錯誤的地方,歡迎指正有更多的面試題或面試中遇到的坑,也歡迎補充分享希望大家都能找到滿意的工作,共勉之~,我來為大家講解一下關于python面試題史上最全?跟着小編一起來看一看吧!
python面試題史上最全
本系列文章總結歸納了一些軟件測試工程師常見的面試題,主要來源于個人面試遇到的、網絡搜集(完善)、工作日常讨論等,分為以下十個部分,供大家參考。如有錯誤的地方,歡迎指正。有更多的面試題或面試中遇到的坑,也歡迎補充分享。希望大家都能找到滿意的工作,共勉之!~
軟件測試工程師面試題- 測試常見問題與流程篇
- 測試工具篇
- 計算機網絡知識與數據庫篇
- Linux 與 Python 編程技能篇
- 自動化測試(Selenium、Appium 和接口測試)與性能測試篇
- 軟素質篇(10 大靈魂拷問)與反問面試官篇
Linux 技能篇- 工作中常用的 Linux 命令有哪些?
awk、sed、vim、iotop、dstat、cp、top、ifconfig、pwd、cd、ll、ls、cat、tail、grep、mv、rm、mkdir、df、du
- 什麼命令可以幫助 Linux 執行 Windows 上傳的腳本?
- 改變編碼格式
- vim test.sh
- :set ff?// 顯示dos的話
- :set ff=unix:wq
- 簡述 Linux 三劍客
- grep 命令
- 根據用戶指定的模式 pattern 對目标文本進行過濾,顯示被模式匹配到的行;
- grep [options] pattern [file]
- 常用參數:
- -v 顯示不被pattern匹配到的行
- -i 忽略字符的大小寫
- -n 顯示匹配的行号
- -c 統計匹配的行數
- -o 僅顯示匹配到的字符串
- -E 使用ERE,相當于egrep(可以識别更多的正則表達式規則)
- sed 命令
- 流編輯器,用來處理一行數據。将一行數據存儲在模式空間中->用sed命令處理->送入屏幕->清空空間。
- 常用參數:
- -h 顯示幫助
- -n 僅顯示script處理後的結果
- -e 指定的腳本來處理輸入的文本文件
- -f 以指定的腳本文件來處理
- 常用動作:
- a: 新增 sed -e ‘4 a newline’
- c: 取代 sed -e ‘2,5c No 2-5 number’
- d: 删除 sed -e ‘2,5d’
- i: 插入 sed -ed ‘2i newline’
- p: 打印 sed -n ‘/root/p’
- s: 取代 sed -e ‘s/old/new/g’
- g: 代表全局
- awk 命令
- 把文件逐行的讀入,以空格為默認分隔符将每行切片。把行作為輸入,并賦值給$0->将行切段,從$1開始->對行匹配正則/執行動作->打印内容;
- awk 'pattern action' [filenames]
- 常用語法:
- filename awk 浏覽的文件名
- begin 處理文本前要執行的操作
- end 處理文本之後要執行的操作
- fs 設置輸入域分隔符,等價于命令行-F選項
- nf 浏覽記錄的域的個數(列數)
- nr 已讀的記錄數(行數)
- 常用參數:
- ofs 輸出域分隔符
- ors 輸出記錄分隔符
- rs 控制記錄分隔符,換行标志
- $0 整條記錄
- $1 第一條分隔後的記錄
- 如何通命令定位 Linux 服務器下的日志?
- 如果要監控日志,那麼使用 tail -f | grep xxx 命令,過濾需要的字段;
- 如果在完整日志中查看内容,使用 cat xxx.log | grep xxxx | awk '{print $1}' 等命令過濾自己需要的内容;
- 簡述項目中的環境搭建和維護
- 結合自身經驗先從系統安裝開始,如常用的 CentOS 和 Ubuntu 說起,系統安裝主要是磁盤分區和磁盤陣列問題;
- 基礎環境依賴,如 MySQL、Redis、Jenkins、Docker、項目中用到的其他依賴環境等;
- 維護方便主要從遇到的錯誤說起,如無法遠程連接、服務器加固等;
Python 編程篇- Python 中類方法,類實例方法,靜态方法的區别
- 實例方法:由對象調用;至少一個 self 參數;執行普通方法時,自動将調用該方法的對象賦值給 self;
- 類方法:由類調用;至少一個 cls 參數;執行類方法時,自動将調用該方法的類複制給 cls;
- 靜态方法:由類調用;無默認參數;
- dict 和 tuple 及 list 的區别(這裡列的是主要區别,面試足夠)
- tuple 是不可變對象,list 和 dict 都是可變對象,這裡的不可變指的是指向地址不可變;
- list 是有序的,dict 是無序的,不可存放有序集合;
- dict 查找速度快,不管有多少個元素時間都一樣,list 查找速度慢,需要有序查找;
- dict 的 key 為不可變對象,且不可重複,list 則可以重複,存放任意對象;
- JSON 和 dict 的區别
- JSON 是一種數據格式,純字符串。dict 是一種完整的數據結構;
- dict 是一個完整的數據結構,是對 Hash Table 這一數據結構的一種實現,是一套從存儲到提取都封裝好了的方案。它使用内置的哈希函數來規劃 key 對應 value 的存儲位置,從而獲得O(1)的數據讀取速度;
- JSON 的 key 隻能是字符串,Python 的 dict 可以是任何可 hash 對象(不可變對象);
- JSON 的 key 可以是有序、可重複的;dict 的 key 不可重複,且無序;
- JSON 任意 key 存在默認值 undefined,dict 默認沒有默認值;
- JSON 訪問方式可以是,也可以是.,遍曆方式分 in、of;dict 的 value 僅可以下标訪問;
- dict 可以嵌套 tuple,JSON 裡隻有數組;
- Python 會不會出現内存洩漏,為什麼?
- 當對象之間互相引用的時候再删除的時候,可能會造成無法釋放對象的情況,出現洩漏;
- 上面為個人了解,如有其它請補充;
- Python 的同步和異步
- 直接得到最終結果的結果,就是同步調用。
- 不直接得到的最終的結果,就是異步調用。
- 同步與異步區别在于:調用者是否得到了想要的最終結果。
- 常見手撕代碼題
dict(zip(list1, list2))
str = '1234567890'print(str[::-1])l = list(str)l.reverse()print(''.join(l))
def Fibonacci(loop): if loop == 0: return '無效參數' elif loop == 1: return 0 l = [0, 1] for i in range(2, loop): l.append(l[i - 1] l[i - 2]) return l
li = [1, 2, 10, 10, 2, 1]print([v for v in li if v == max(li)])
sxh = []for i in range(100, 1000): s = 0 for j in str(i): s = int(j)**3 if i == int(j)**3: sxh.append(i)print(sxh)
a = []for i in range(1, 1000): s = 0 for j in range(1, i): if i % j == 0 and j < i: s = j if s == i: a.append(i)
def mi(a, n): if n == 0: return 1 else: return a * mi(a, n - 1)
import osdef get_file(path, rule=''): files = [] for fpath, dirs, fs in os.walk(path): for f in fs: if os.path.join(fpath, f).endswith(rule): files.append(f) return files
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!