本文目錄一覽:
Python 有關loop的問題
def ismagic(square):
rows=len(square)
total=sum(square[1])
total3=total4=0
for row in range(rows):
if sum(square[row])!=total:return False
total3+=square[row][row]
total4+=square[rows-row-1][row]
total2=0
for col in range(rows):
total2+=square[col][row]
if total2!=total:return False
if total3!=total : return False
if total4!=total : return False
return True
python loop
1.首先,這個程序里沒有loop.
但我猜你的意思就是在score=-1(或者0?)時候停止程序。
可以在程序最初加上
import sys
然後在
userscore=input(‘Enter the user』s score: ‘)
下行加上 if user score == -1:
print :”Error message…”
sys.exit(1)
2.如果你真的問的是在for loop 或者 while loop中怎麼用條件來結束,
那麼同上,設置if 條件句
if user score == -1:
break
Python後端工程師面試題目有哪些
一.語言
1.推薦一本看過最好的python書籍?
2.談談python的裝飾器,迭代器,yield?
3.標準庫線程安全的隊列是哪一個?不安全的是哪一個?logging是線程安全的嗎?
4.python適合的場景有哪些?當遇到計算密集型任務怎麼辦?
5.python高並發解決方案?我希望聽到twisted-tornado-gevent,能扯到golang,erlang更好
二.操作系統
可以直接認為是linux,畢竟搞後端的多數是和linux打交道。
1.tcp/udp的區別?tcp粘包是怎麼回事,如何處理?udp有粘包嗎?
2.time_wait是什麼情況?出現過多的close_wait可能是什麼原因?
3.epoll,select的區別?邊緣觸發,水平觸發區別?
三.存儲
存儲可能包含rdbms,nosql以及緩存等,我以mysql,redis舉例
mysql相關
1.談談mysql字符集和排序規則?
2.varchar與char的區別是什麼?大小限制?utf8字符集下varchar最多能存多少個字元
3.primary key和unique的區別?
4.外鍵有什麼用,是否該用外鍵?外鍵一定需要索引嗎?
5.myisam與innodb的區別?innodb的兩階段鎖定協議是什麼情況?
6.索引有什麼用,大致原理是什麼?設計索引有什麼注意點?
redis相關
1.什麼場景用redis,為什麼mysql不適合?
2.談談redis的事務?用事務模擬原子+1操作?原子操作還有其它解決方案嗎?
3.redis內存滿了會怎麼樣?
四.安全
web安全相關
1.sql注入是怎麼產生的,如何防止?
2.xss如何預防?htmlescape後能否避免xss?
3.csrf是什麼?django是如何防範的?
密碼技術
1.什麼是分組加密?加密模式有哪些?ecb和cbc模式有什麼區別?為什麼需要iv向量?
2.簡單說說https的過程?
3.對稱加密與非對稱加密區別?
3.如何生成共享秘鑰? 如何防範中間人攻擊?
五.雜
是否關注新技術啊?golang,rust是否了解?numpy,pandas是啥鳥?
是否緊跟時代潮流?逛不逛微博,刷不刷知乎?
可能你覺得我問的好細,但這好多都是平常經常遇到,並需要解決的,細節更能體現一個人。
如果你覺得小kiss,歡迎投簡歷給我yihaibo@longtugame.com,龍圖遊戲運營支持中心數據分析部招人;覺得有點問題,那還等什麼,趕快來和我交流交流。
更新:討論區挺熱鬧,有人說好簡單,有人說好難,其實我覺得這隻適合面試2~3年工作經驗的後端工程師。真的沒有問
很難的題目,只是可能你平時沒有注意。
在這裡我推薦幾本書吧
python參考手冊,絕對讓你更上一層樓
圖解密碼技術,密碼入門不二之選
mysql技術內幕第五版,有點厚當手冊讀讀,要有耐心,高性能mysql也強烈建議讀讀
effective tcp/ip programming
為什麼評論區有這麼大差異?我想是個人經歷不一樣吧,如果是搞web的對操作系統這塊和密碼技術會偏弱,但如果是系統工程師或是遊戲服務端這塊會明顯偏強。
六.後記
最近我也面試了不少童鞋,我發現能達到要求的真的少之又少,很多hr都說Python是最難招聘的崗位,我想是有道理的,這真的很值得我們去深思?
我想有一部分原因是Python這門語言造成的,會寫Python的人很多,但寫的好的人很少,大部分都把Python當做腳本來寫,缺乏面向對 象,模式的思想。想想Java,大家都習慣了介面,實現分離,設計模式在Java中也喊了很多年,尤其是ssh三大框架一出,用著用著就理所當然的認為就 該這麼做,雖然也有點壞處,但對企業級Java開發無疑是一大進步。
反觀Python,尤其是生成器,協程,元類給Python注入了很大的靈活性,想寫的Pythonic有不小難度,但其實Python高級特性就那麼幾個,幹掉了也就沒有了。
當你覺得Python遇到了瓶頸,不妨停下來好好想想。研究研究設計模式,想想重構,了解領域驅動設計,敏捷開發,再回來讀讀以前寫的代碼,當眼界變高了,代碼也就美了。
當然思想的提高不是一朝一夕,模式,原則會經常讓你糾結,糾結就會思索,思考就走出了自己的路,當然條條大路通羅馬。
資料庫等存儲技術是研發工程師邁不過的坎,對關係資料庫以mysql舉例來說,你必須清楚的知道什麼欄位選擇什麼類型,類型位元組大小,限制條件,這 東西也很容易理解,多想想即可,比如set類型,要支持交並等操作,1個位元組只能存8個類別。數據類型搞定了,下面就是索引了,mysql索引種類?主 鍵,唯一索引,普通索引。索引類別,BTree索引,hash索引。索引的優缺點,mysql的索引查找原理,join原理(大部分都是nested loop),以及一些特殊的情況,比如mysql子查詢慢等。其實到這裡研發工程師就差不多,當然你可以繼續深入下去,比如讀寫分離,集群管理,甚至一些 參數調優。
python glob和loop的用法
找到目錄中的文件(或目錄)名,判斷其是不是目錄,如果是目錄再遍歷子目錄。你說的loop應該是循環的意思。
import os
import glob
d = u’d:\\7-zip\\’
def loop(path):
files = glob.glob1(path, ‘*’)
print files
for file in files:
if os.path.isdir(os.path.join(path, file)):
loop(os.path.join(path, file))
loop(d)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/233788.html