python面試題咯!一起來做做看吧

5月份在編程語言排行榜上Python首次實現了對Java的超越,人工智能是當下IT領域的熱點領域,小U老師可是十分看好Python的發展呢。今天

浙江優就業帶給大家的是Python面試題的整理喲。

python面試題咯!一起來做做看吧

python語法以及其他基礎部分

1).可變與不可變類型

2).淺拷貝與深拷貝的實現方式、區別;deepcopy如果你來設計,如何實現

__new__() 與 __init__()的區別

3).進程通信的方式有幾種

4).介紹下協程,為何比線程還快

5).range和xrange的區別

6).手寫個使用裝飾器實現的單例模式

7使用裝飾器的單例和使用其他方法的單例,在後續使用中,有何區別

8).手寫:正則郵箱地址

9).你知道幾種設計模式

10).編碼和解碼你瞭解過麼

11).列表推導list comprehension和生成器的優劣

12).什麼是裝飾器;如果想在函數之後進行裝飾,應該怎麼做

13).介紹下垃圾回收:引用計數/分代回收/孤立引用環

14).多進程與多線程的區別,CPU密集型適合用什麼

算法排序部分

1).單向鏈表長度未知,如何判斷其中是否有環

2).單向鏈表如何使用快速排序算法進行排序

3).手寫python:用遞歸的方式判斷字符串是否為迴文

4).手寫:一個長度n的無序數字元素列表,如何求中位數,如何儘快的估算中位數,9).你的算法複雜度是多少;

5).如何遍歷一個內部未知的文件夾(兩種樹的優先遍歷方式)

6).手寫快排;堆排;幾種常用排序的算法複雜度是多少;快排平均複雜度多少,最壞情況如何優化

7).手寫:已知一個長度n的無序列表,元素均是數字,要求把所有間隔為d的組合找出來,你寫的解法算法複雜度多少

8).手寫:一個列表A=[A1,A2,…,An],要求把列表中所有的組合情況打印出來;

9).手寫:用一行python寫出1+2+3+…+10**8

網絡基礎部分

1).http一次連接的全過程:你來說下從用戶發起request——到用戶接收到response

2).restful你知道麼

3).http連接方式。get和post的區別,你還了解其他的方式麼

4).TCP/IP分別在模型的哪一層

5).socket長連接是什麼意思

6).select和epoll你瞭解麼,區別在哪

7).TCP UDP區別;三次握手四次揮手講一下

8).TIME_WAIT過多是因為什麼

9).狀態碼你知道多少,比如200/403/404/504等等

數據庫部分

的區別(我沒答上來這倆在磁盤結構上的區別)

1).手寫:如何對查詢命令進行優化

2).MySQL的char varchar text的區別:

瞭解join麼,有幾種有何區別,A LEFT JOIN B,查詢的結果中,B沒有的那部分是如何顯示的(NULL)

3).索引類型有幾種,BTree索引和hash索引

4).NoSQL瞭解麼,和關係數據庫的區別,redis有幾種常用存儲類型

5).MySQL鎖有幾種;死鎖是怎麼產生的; 為何,以及如何分區、分表;

Linux部分

講一下你常用的Linux/git命令和作用;

查看當前進程是用什麼命令,除了文件相關的操作外,你平時還有什麼操作命令;

Django項目部分

都是讓簡單的介紹下你在公司的項目,不管是不是後端相關的,主要是要體現出你幹了什麼

5).如果你來設計login,簡單的說一下思路

3).MVC / MTV, 緩存怎麼用, 中間件是幹嘛的

4).CSRF是什麼,django是如何避免的,XSS

6).session和cookie的聯繫與區別,session為什麼說是安全的

7).uWSGI和Nginx的作用;

1).你在項目中遇到最難的部分是什麼,你是怎麼解決的; 你看過django的admin源碼麼

2).看過flask的源碼麼,你如何理解開源


分享到:


相關文章: