常见python面试题总结
前言
網(wǎng)上有大量的基礎(chǔ)面試題目,但是通過面試python后臺開發(fā),掌握的一些基礎(chǔ)面試題,覺得有必要整理出來,以便日后查閱;
正文
一、面試基礎(chǔ)題目;
1、可迭代對象、迭代器與生成器的區(qū)別?
(1)迭代器是一個(gè)可以記住遍歷的位置的對象,基本方法有iter()和next(),迭代器可以記住遍歷位置的對象;
(2)生成器是一種特殊的迭代器,返回值不通過return而是通過yield;
(3)使用iter內(nèi)置函數(shù)可以獲取迭代器的對象。如果對象實(shí)現(xiàn)了能返回迭代器的__iter__方法,那么對象就是可迭代的;
2、redis知識點(diǎn)?
(1)Redis是一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API;
3、三次握手四次揮手?
4、進(jìn)城與線程的區(qū)別?
(1)一個(gè)進(jìn)程可以管理一個(gè)及一個(gè)以上的線程;
(2)一個(gè)進(jìn)程相當(dāng)于一個(gè)應(yīng)用程序,一個(gè)線程相當(dāng)于一個(gè)應(yīng)用程序的一個(gè)功能分支;
5、python里面使用線程的缺點(diǎn)?
(1)GIL導(dǎo)致PYTHON 無法使用到計(jì)算機(jī)的多核,僅能使用單核;
(2)python想要提高效率,可以使用多個(gè)進(jìn)程,不要使用多個(gè)線程;
6、GIL鎖什么時(shí)候會釋放??
7、python垃圾怎么回收的?
8、python上下文管理器?
9、存儲引擎innodb的特性?
10、mysql事物有哪些特性?
11、數(shù)據(jù)庫索引的功能是什么?
12、innodb索引數(shù)據(jù)結(jié)構(gòu)是什么樣的?
13、mysql建索引需要注意哪些事項(xiàng)?
14、數(shù)據(jù)庫怎么優(yōu)化慢查詢?
15、表的拆分有哪些緯度?
16、什么情況下會用上讀寫分離?
17、mysql的binlog主要有哪些信息?
18、kafka和rabbitmq的區(qū)別?
19、數(shù)據(jù)結(jié)構(gòu)算法,常用十大排序算法,時(shí)間復(fù)雜度、空間復(fù)雜度簡單說下?
20、二叉樹鏡像反轉(zhuǎn)代碼,手寫?
class Node(object):def __init__(self, value=None, lchild=None, rchild=None):self.value = valueself.lchild = lchildself.rchild = rchilddef mirror(root):"""翻轉(zhuǎn)鏡像"""if not root:returnroot.lchild, root.rchild = root.rchild, root.lchildmirror(root.lchild)mirror(root.rchild)def in_order_traverse(root):"""中序遍歷"""if not root:returnin_order_traverse(root.lchild)print(root.value)in_order_traverse(root.rchild)if __name__ == '__main__':root = Node(1, Node(2, Node(4), Node(5)), Node(3))mirror(root) # 翻轉(zhuǎn)二叉樹in_order_traverse(root) # 中序遍歷?
21、hadoop怎么進(jìn)行容錯(cuò)的?
22、http協(xié)議常見請求方法有哪些?狀態(tài)碼有哪些?
23、https和http的區(qū)別,https怎么進(jìn)行加密的?
24、tcp與udp協(xié)議的區(qū)別?
25、tcp協(xié)議如何進(jìn)行流量控制?
26、git如何管理分支?
參考資料
轉(zhuǎn)載于:https://www.cnblogs.com/haoxinchen/p/11073326.html
總結(jié)
以上是生活随笔為你收集整理的常见python面试题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu 5511 Minimum Cut
- 下一篇: 简单哈希1