坐標南京 211 cs專業 工作經驗算上實習1年多,外包公司,員工各種離職,項目越做越難,工資不漲怒而離職。目前陷入找工作的泥潭,記錄一些知識點的不足來督促自己吧。 2018/5/29 zn公司 : 很棒的公司,環境好,員工都是年輕人,大牛很隨和,問了很多題目,回答上來一部分,還答錯了一部分。 1、 ...
坐標南京 211 cs專業
工作經驗算上實習1年多,外包公司,員工各種離職,項目越做越難,工資不漲怒而離職。目前陷入找工作的泥潭,記錄一些知識點的不足來督促自己吧。
2018/5/29 zn公司 : 很棒的公司,環境好,員工都是年輕人,大牛很隨和,問了很多題目,回答上來一部分,還答錯了一部分。
1、多個裝飾器調用時先後關係
def decoratora(func): print 'decorator_a start' def wrapper(): print 'in the wrapper_a' func() return wrapper def decoratorb(func): print 'decorator_b start' def wrapper(): print 'in the wrapper_b' func() return wrapper @decoratora @decoratorb def test(): print 'in the func'
不進行調用test 此時結果:
先調用decoratorB 再調用decoratorA
接著加上 test()
這裡就有點迷糊了。為啥先調用wrapper_a呢,再加一點代碼就看清楚了
def decoratora(func): print 'decorator_a start' def wrapper(): print 'in the wrapper_a' func() print 'go out wrapper_a' return wrapper def decoratorb(func): print 'decorator_b start' def wrapper(): print 'in the wrapper_b' func() print 'go out wrapper_b' return wrapper @decoratora @decoratorb def test(): print 'in the func' test()
https://blog.csdn.net/jyhhhhhhh/article/details/54627850 這裡有帖子說的很清楚了。
2、定時任務
crontab -l 查看 -e 編輯 -r 刪除所有
***** 執行命令
這裡分別指 分 時 日 月 周
其中*表示全部 ,表示和 -表示一個時間段 /n 隔一段時間(n的時間)
crontab真實文件放在 /var/spool/cron 目錄下可以寫一個文件通過crontab命令來調用 不能直接修改文件
3、python2和python3的區別
3.1 print()
3.2 raw_input與input合併為input
3.3可以使用中文作為變數名
4、序列化
這裡是把記憶體的運行數據保存下來 模塊是pickle pickle.dumps 和 pickle.load
josn 也是有這兩個方法用法相同
5、生成器和迭代器區別
迭代器是一個實現了迭代器協議的對象,例如
it=range(2) ite=iter(it) ite.next()
生成器是迭代器的一種,是使用yield語句快速生成的迭代器,把一個普通函數變成生成器,每次執行到yield都會停止,調用next繼續執行。
6、樹的遍歷 前序中序後序
前序遍歷:根節點 左節點 右節點
中序遍歷:左節點 根節點 右節點
後序遍歷:左節點 右節點 根節點
7、字元串找最大相同
這裡的思路是創建一個二維數組來保存相同位置的狀態
#coding:utf-8 def getLongestString(str1,str2): len1=len(str1) len2=len(str2) record=[[0 for i in range(len2+1)] for j in range(len1+1)] print record maxNum=0 #最長匹配長度 p=0 #匹配起始位 for i in range(len1): for j in range(len2): if str1[i]==str2[j]: record[i+1][j+1]=record[i][j]+1 if record[i+1][j+1]>maxNum: maxNum=record[i+1][j+1] p=i return str1[p-maxNum:p],maxNum if __name__ == '__main__': str1='abcefghijk' str2='dasdghijad' res=getLongestString(str1,str2) print resView Code
結果
8、網路結構
問了一個問題,在瀏覽器輸入百度的網址,到顯示百度的頁面為止,數據是怎麼工作的。
首先要明確網路的七層協議:應用層 表示層 傳輸層 會話層 網路層 數據鏈路層 物理層 數據被一層層傳輸,傳到伺服器,然後再返回數據包,瀏覽器進行解析,打開網頁。
1.DNS解析 根據輸入的功能變數名稱進行解析到伺服器的具體地址。這裡瀏覽器會有緩存,如果沒有則發出DNS請求到DNS伺服器。
2.發出TCP請求 這裡的重點是三次握手(具體參數)
3.http請求
4.負載均衡 將自己ip的請求分配到伺服器上
5.瀏覽器渲染
5/30 第二次面次 bjps 地方很偏,找了好久才找到,裡面氛圍很好,唯一就是偏僻。去了之後答了一份題目,然後問了一些基礎的東西
1.如何手動釋放記憶體
import gc gc.collect()
2.search 和match的區別
這裡是re模塊的,match只會匹配RE是不是String的開始位置,search會掃描整個string