Python面试题大全(五):测试、大数据、数据结构、架构
目錄
測試
213.編寫測試計劃的目的是
214.對關鍵詞觸發模塊進行測試
215.其他常用筆試題目網址匯總
216.測試人員在軟件開發過程中的任務是什么
217.一條軟件Bug記錄都包含了哪些內容?
218.簡述黑盒測試和白盒測試的優缺點
219.請列出你所知道的軟件測試種類,至少5項
220.Alpha測試與Beta測試的區別是什么?
221.舉例說明什么是Bug?一個bug report應包含什么關鍵字?
數據結構
222.數組中出現次數超過一半的數字-Python版
223.求100以內的質數
224.無重復字符的最長子串-Python實現
225.通過2個5/6升得水壺從池塘得到3升水
226.什么是MD5加密,有什么特點?
227.什么是對稱加密和非對稱加密
228.冒泡排序的思想?
229.快速排序的思想?
230.如何判斷單向鏈表中是否有環?
231.你知道哪些排序算法(一般是通過問題考算法)
232.斐波那契數列
233.如何翻轉一個單鏈表?
234.青蛙跳臺階問題
235.兩數之和 Two Sum
236.搜索旋轉排序數組 Search in Rotated Sorted Array
237.Python實現一個Stack的數據結構
238.寫一個二分查找
239.set 用 in 時間復雜度是多少,為什么?
240.列表中有n個正整數范圍在[0,1000],進行排序;
241.面向對象編程中有組合和繼承的方法實現新的類
大數據
242.找出1G的文件中高頻詞
243.一個大約有一萬行的文本文件統計高頻詞
244.怎么在海量數據中找出重復次數最多的一個?
245.判斷數據是否在大量數據中
架構
Python后端架構演進
測試
213.編寫測試計劃的目的是
214.對關鍵詞觸發模塊進行測試
215.其他常用筆試題目網址匯總
216.測試人員在軟件開發過程中的任務是什么
217.一條軟件Bug記錄都包含了哪些內容?
218.簡述黑盒測試和白盒測試的優缺點
219.請列出你所知道的軟件測試種類,至少5項
220.Alpha測試與Beta測試的區別是什么?
221.舉例說明什么是Bug?一個bug report應包含什么關鍵字?
數據結構
222.數組中出現次數超過一半的數字-Python版
223.求100以內的質數
224.無重復字符的最長子串-Python實現
225.通過2個5/6升得水壺從池塘得到3升水
226.什么是MD5加密,有什么特點?
227.什么是對稱加密和非對稱加密
228.冒泡排序的思想?
229.快速排序的思想?
230.如何判斷單向鏈表中是否有環?
231.你知道哪些排序算法(一般是通過問題考算法)
232.斐波那契數列
**數列定義: **
f 0 = f 1 = 1 f n = f (n-1) + f (n-2)
根據定義
速度很慢,另外(暴棧注意!???)?O(fibonacci n)
def fibonacci(n):if n == 0 or n == 1:return 1return fibonacci(n - 1) + fibonacci(n - 2)線性時間的
狀態/循環
def fibonacci(n):a, b = 1, 1for _ in range(n):a, b = b, a + breturn a遞歸
def fibonacci(n):def fib(n_, s):if n_ == 0:return s[0]a, b = sreturn fib(n_ - 1, (b, a + b))return fib(n, (1, 1))map(zipwith)
def fibs():yield 1fibs_ = fibs()yield next(fibs_)fibs__ = fibs()for fib in map(lambad a, b: a + b, fibs_, fibs__):yield fibdef fibonacci(n):fibs_ = fibs()for _ in range(n):next(fibs_)return next(fibs)Logarithmic
矩陣
import numpy as np def fibonacci(n):return (np.matrix([[0, 1], [1, 1]]) ** n)[1, 1]不是矩陣
def fibonacci(n):def fib(n):if n == 0:return (1, 1)elif n == 1:return (1, 2)a, b = fib(n // 2 - 1)c = a + bif n % 2 == 0:return (a * a + b * b, c * c - a * a)return (c * c - a * a, b * b + c * c)return fib(n)[0]233.如何翻轉一個單鏈表?
class Node:def __init__(self,data=None,next=None):self.data = dataself.next = nextdef rev(link):pre = linkcur = link.nextpre.next = Nonewhile cur:temp = cur.nextcur.next = prepre = curcur = tmpreturn preif __name__ == '__main__':link = Node(1,Node(2,Node(3,Node(4,Node(5,Node(6,Node7,Node(8.Node(9))))))))root = rev(link)while root:print(roo.data)root = root.next234.青蛙跳臺階問題
一只青蛙要跳上n層高的臺階,一次能跳一級,也可以跳兩級,請問這只青蛙有多少種跳上這個n層臺階的方法?
方法1:遞歸
設青蛙跳上n級臺階有f(n)種方法,把這n種方法分為兩大類,第一種最后一次跳了一級臺階,這類共有f(n-1)種,第二種最后一次跳了兩級臺階,這種方法共有f(n-2)種,則得出遞推公式f(n)=f(n-1) + f(n-2),顯然f(1)=1,f(2)=2,這種方法雖然代碼簡單,但效率低,會超出時間上限
class Solution:def climbStairs(self,n):if n ==1:return 1elif n==2:return 2else:return self.climbStairs(n-1) + self.climbStairs(n-2)方法2:用循環來代替遞歸
class Solution:def climbStairs(self,n):if n==1 or n==2:return na,b,c = 1,2,3for i in range(3,n+1):c = a+ba = bb = creturn c235.兩數之和 Two Sum
236.搜索旋轉排序數組 Search in Rotated Sorted Array
237.Python實現一個Stack的數據結構
238.寫一個二分查找
239.set 用 in 時間復雜度是多少,為什么?
240.列表中有n個正整數范圍在[0,1000],進行排序;
241.面向對象編程中有組合和繼承的方法實現新的類
大數據
242.找出1G的文件中高頻詞
243.一個大約有一萬行的文本文件統計高頻詞
244.怎么在海量數據中找出重復次數最多的一個?
245.判斷數據是否在大量數據中
架構
Python后端架構演進
這篇文章幾乎涵蓋了python會用的架構,在面試可以手畫架構圖,根據自己的項目談下技術選型和優劣,遇到的坑等。絕對加分
總結
以上是生活随笔為你收集整理的Python面试题大全(五):测试、大数据、数据结构、架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C站最全Python库总结丨标准库+高级
- 下一篇: 【每日SQL打卡】