-
1 # Rocky0429
-
2 # IT主宰
作為Python開發工程師,進入大公司是開啟職業新起點的關鍵,今天給小夥伴特別分享了其在騰訊等一些公司面試Python工程師的題目和經歷,希望對廣大Python工程師的求職者有一個幫助。
python2和python3區別?列舉5個
1、Python3 使用 print 必須要以小括號包裹列印內容,比如 print("hi")
Python2 既可以使用帶小括號的方式,也可以使用一個空格來分隔列印內容,比 如 print "hi"
2、python2 range(1,10)返回列表,python3中返回迭代器,節約記憶體
3、python2中使用ascii編碼,python中使用utf-8編碼
4、python2中unicode表示字串序列,str表示位元組序列
python3中str表示字串序列,byte表示位元組序列
5、python2中為正常顯示中文,引入coding宣告,python3中不需要
6、python2中是raw_input()函式,python3中是input()函式
列出python中可變資料型別和不可變資料型別,並簡述原理
不可變資料型別:數值型、字串型string和元組tuple
不允許變數的值發生變化,如果改變了變數的值,相當於是新建了一個物件,而對於相同的值的物件,在記憶體中則只有一個物件(一個地址),如下圖用id()方法可以列印物件的id
可變資料型別:列表list和字典dict;
允許變數的值發生變化,即如果對變數進行append、+=等這種操作後,只是改變了變數的值,而不會新建一個物件,變數引用的物件的地址也不會變化,不過對於相同的值的不同物件,在記憶體中則會存在不同的物件,即每個物件都有自己的地址,相當於記憶體中對於同值的物件儲存了多份,這裡不存在引用計數,是實實在在的物件。
s = "ajldjlajfdljfddd",去重並從小到大排序輸出"adfjl"
set去重,去重轉成list,利用sort方法排序,reeverse=False是從小到大排
list是不 變資料型別,s.sort時候沒有返回值,所以註釋的程式碼寫法不正確
字典根據鍵從小到大排序
dict={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}
filter方法求出列表所有奇數並構造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。該接收兩個引數,第一個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表
請儘可能列舉python列表的成員方法,並給出一下列表操作的答案:
(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
(2) 一行程式碼實現對列表a中的偶數位置的元素進行加3後求和?
(3) 將列表a的元素順序打亂,再對a進行排序得到列表b,然後把a和b按元素順序構造一個字典d。
用python實現統計一篇英文文章內每個單詞的出現頻率,並返回出現頻率最高的前10個單詞及其出現次數,並解答以下問題?(標點符號可忽略)
(1) 建立檔案物件f後,解釋f的readlines和xreadlines方法的區別?
(2) 追加需求:引號內元素需要算作一個單詞,如何實現?
簡述python GIL的概念, 以及它對python多執行緒的影響?編寫一個多執行緒抓取網頁的程式,並闡明多執行緒抓取程式是否可比單執行緒效能有提升,並解釋原因。
Python裡面如何複製一個物件?(賦值,淺複製,深複製的區別)
答:賦值(=),就是建立了物件的一個新的引用,修改其中任意一個變數都會影響到另一個。
淺複製:建立一個新的物件,但它包含的是對原始物件中包含項的引用(如果用引用的方式修改其中一個物件,另外一個也會修改改變){1,完全切片方法;2,工廠函式,如list();3,copy模組的copy()函式}
深複製:建立一個新的物件,並且遞迴的複製它所包含的物件(修改其中一個,另外一個不會改變){copy模組的deep.deepcopy()函式}
介紹一下except的用法和作用?
答:try…except…except…[else…][finally…]
執行try下的語句,如果引發異常,則執行過程會跳到except語句。對每個except分支順序嘗試執行,如果引發的異常與except中的異常組匹配,執行相應的語句。如果所有的except都不匹配,則異常會傳遞到下一個呼叫本程式碼的最高層try程式碼中。
try下的語句正常執行,則執行else塊程式碼。如果發生異常,就不會執行,如果存在finally語句,最後總是會執行。
介紹一下Python下range()函式的用法?
答:列出一組資料,經常用在for in range()迴圈中
如何用Python來進行查詢和替換一個文字字串?
答:可以使用re模組中的sub()函式或者subn()函式來進行查詢和替換,
格式:sub(replacement, string[,count=0])(replacement是被替換成的文字,string是需要被替換的文字,count是一個可選引數,指最大被替換的數量)
>>> import re
>>>p=re.compile(‘blue|white|red’)
>>>print(p.sub(‘colour’,"blue socks and red shoes’))
colour socks and colourshoes
>>>print(p.sub(‘colour’,"blue socks and red shoes’,count=1))
colour socks and redshoes
subn()方法執行的效果跟sub()一樣,不過它會返回一個二維陣列,包括替換後的新的字串和總共替換的數量。
關於Python的前景就業後待遇,畢竟是處於大熱的程式語言,待遇一定不會差到哪裡。具體的薪資待遇還是要靠自己的技術水平來衡量,當前開發市場上Python技術的需求,得出的Python就業薪資大致情況如下:
Python高階階段:6000-8000(元/人民幣)
Web開發基礎階段:7000-11000(元/人民幣)
Web開發中級階段:10000-15000(元/人民幣)
Web開發高階階段12000-18000(元/人民幣)
伺服器運維與安全階段:15000-30000(元/人民幣)
物聯網開發階段:16000-30000(元/人民幣)
機器學習資料分析階段:18000-30000(元/人民幣)
從這些崗位薪資可以看出,薪資待遇與技術水平保持著正比的關係。但是程式設計技術時刻都保持這更新狀態,想要拿到高薪還是要時刻了解這個行業的動態。
-
3 # Rocky0429
因為不知道題主到底是處於什麼水平,我在這姑且已python的實習生來說,因為自己最近面試python開發,剛獲得了幾個 offer。
python 我是自學的,從今年四月份初複試完,然後6.27號從山東坐高鐵到的上海,然後就是投簡歷,基本每天都要去面試兩家公司,到現在我來上海已經一個多星期了,面試了十幾家公司,雖然公司規模都不太大,可是要求一樣也不少。
-
4 # IT主宰
作為Python開發工程師,進入大公司是開啟職業新起點的關鍵,今天給小夥伴特別分享了其在騰訊等一些公司面試Python工程師的題目和經歷,希望對廣大Python工程師的求職者有一個幫助。
python2和python3區別?列舉5個
1、Python3 使用 print 必須要以小括號包裹列印內容,比如 print("hi")
Python2 既可以使用帶小括號的方式,也可以使用一個空格來分隔列印內容,比 如 print "hi"
2、python2 range(1,10)返回列表,python3中返回迭代器,節約記憶體
3、python2中使用ascii編碼,python中使用utf-8編碼
4、python2中unicode表示字串序列,str表示位元組序列
python3中str表示字串序列,byte表示位元組序列
5、python2中為正常顯示中文,引入coding宣告,python3中不需要
6、python2中是raw_input()函式,python3中是input()函式
列出python中可變資料型別和不可變資料型別,並簡述原理
不可變資料型別:數值型、字串型string和元組tuple
不允許變數的值發生變化,如果改變了變數的值,相當於是新建了一個物件,而對於相同的值的物件,在記憶體中則只有一個物件(一個地址),如下圖用id()方法可以列印物件的id
可變資料型別:列表list和字典dict;
允許變數的值發生變化,即如果對變數進行append、+=等這種操作後,只是改變了變數的值,而不會新建一個物件,變數引用的物件的地址也不會變化,不過對於相同的值的不同物件,在記憶體中則會存在不同的物件,即每個物件都有自己的地址,相當於記憶體中對於同值的物件儲存了多份,這裡不存在引用計數,是實實在在的物件。
s = "ajldjlajfdljfddd",去重並從小到大排序輸出"adfjl"
set去重,去重轉成list,利用sort方法排序,reeverse=False是從小到大排
list是不 變資料型別,s.sort時候沒有返回值,所以註釋的程式碼寫法不正確
字典根據鍵從小到大排序
dict={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}
filter方法求出列表所有奇數並構造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。該接收兩個引數,第一個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表
請儘可能列舉python列表的成員方法,並給出一下列表操作的答案:
(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
(2) 一行程式碼實現對列表a中的偶數位置的元素進行加3後求和?
(3) 將列表a的元素順序打亂,再對a進行排序得到列表b,然後把a和b按元素順序構造一個字典d。
用python實現統計一篇英文文章內每個單詞的出現頻率,並返回出現頻率最高的前10個單詞及其出現次數,並解答以下問題?(標點符號可忽略)
(1) 建立檔案物件f後,解釋f的readlines和xreadlines方法的區別?
(2) 追加需求:引號內元素需要算作一個單詞,如何實現?
簡述python GIL的概念, 以及它對python多執行緒的影響?編寫一個多執行緒抓取網頁的程式,並闡明多執行緒抓取程式是否可比單執行緒效能有提升,並解釋原因。
Python裡面如何複製一個物件?(賦值,淺複製,深複製的區別)
答:賦值(=),就是建立了物件的一個新的引用,修改其中任意一個變數都會影響到另一個。
淺複製:建立一個新的物件,但它包含的是對原始物件中包含項的引用(如果用引用的方式修改其中一個物件,另外一個也會修改改變){1,完全切片方法;2,工廠函式,如list();3,copy模組的copy()函式}
深複製:建立一個新的物件,並且遞迴的複製它所包含的物件(修改其中一個,另外一個不會改變){copy模組的deep.deepcopy()函式}
介紹一下except的用法和作用?
答:try…except…except…[else…][finally…]
執行try下的語句,如果引發異常,則執行過程會跳到except語句。對每個except分支順序嘗試執行,如果引發的異常與except中的異常組匹配,執行相應的語句。如果所有的except都不匹配,則異常會傳遞到下一個呼叫本程式碼的最高層try程式碼中。
try下的語句正常執行,則執行else塊程式碼。如果發生異常,就不會執行,如果存在finally語句,最後總是會執行。
介紹一下Python下range()函式的用法?
答:列出一組資料,經常用在for in range()迴圈中
如何用Python來進行查詢和替換一個文字字串?
答:可以使用re模組中的sub()函式或者subn()函式來進行查詢和替換,
格式:sub(replacement, string[,count=0])(replacement是被替換成的文字,string是需要被替換的文字,count是一個可選引數,指最大被替換的數量)
>>> import re
>>>p=re.compile(‘blue|white|red’)
>>>print(p.sub(‘colour’,"blue socks and red shoes’))
colour socks and colourshoes
>>>print(p.sub(‘colour’,"blue socks and red shoes’,count=1))
colour socks and redshoes
subn()方法執行的效果跟sub()一樣,不過它會返回一個二維陣列,包括替換後的新的字串和總共替換的數量。
關於Python的前景就業後待遇,畢竟是處於大熱的程式語言,待遇一定不會差到哪裡。具體的薪資待遇還是要靠自己的技術水平來衡量,當前開發市場上Python技術的需求,得出的Python就業薪資大致情況如下:
Python高階階段:6000-8000(元/人民幣)
Web開發基礎階段:7000-11000(元/人民幣)
Web開發中級階段:10000-15000(元/人民幣)
Web開發高階階段12000-18000(元/人民幣)
伺服器運維與安全階段:15000-30000(元/人民幣)
物聯網開發階段:16000-30000(元/人民幣)
機器學習資料分析階段:18000-30000(元/人民幣)
從這些崗位薪資可以看出,薪資待遇與技術水平保持著正比的關係。但是程式設計技術時刻都保持這更新狀態,想要拿到高薪還是要時刻了解這個行業的動態。
-
5 # 山東中公優就業
1、基於應屆生
一般這種情況的面試考察Python基本演算法與解決專案問題的思路、你自己的學習能力、Python方面為考察基本內容以及標準庫。
比較偏向於基本知識
2、基於稍有經驗
有經驗的考察實際專案經驗,針對某些專案經驗深入考察細節,技術主要是後端相關的生態知識如資料庫,快取、python的一些高階內容及第三方庫的應用等。
面試題目百度上面有很多題庫,可以根據自身情況選擇。
當然,不管是什麼面試。打好基礎,有專案實戰基本就差不多了。還是看自己的能力!
回覆列表
因為不知道題主到底是處於什麼水平,我在這姑且已python的實習生來說,因為自己最近面試python開發,剛獲得了幾個 offer。
python 我是自學的,從今年四月份初複試完,然後6.27號從山東坐高鐵到的上海,然後就是投簡歷,基本每天都要去面試兩家公司,到現在我來上海已經一個多星期了,面試了十幾家公司,雖然公司規模都不太大,可是要求一樣也不少。