-
【Python面試題】-iterable(可迭代對象)和iterator(迭代器)的區別?
可迭代對象(list,set,dict)可以重復迭代,只能使用for循環;迭代器只能迭代一次,可以通過next或for進行迭代。 ps:可迭代對象不能使用next函數調用但是可以使用for調用,而迭代器可以使用next,也可以使用for進行調用。 ps:他倆最大的區別就是,可迭代對象可以無限迭代,而迭代器只能迭代一次(是個數據流的形式!)。 判斷迭代器 : isinstance([], Iterator)。 判斷可迭代對象:??isinstance([], Iterable)。 【返回…
-
【Linux面試題】當用戶在瀏覽器當中輸入一個網站,說說計算機對dns解釋經過那些流程?注:本機跟本地dns還沒有緩存。
a.用戶輸入網址到瀏覽器; b.瀏覽器發出DNS請求信息; c.計算機首先查詢本機HOST文件,看是否存在,存在直接返回結果,不存在,繼續下一步; d.計算機按照本地DNS的順序,向合法dns服務器查詢IP結果; e.合法dns返回dns結果給本地dns,本地dns并緩存本結果,直到TTL過期,才再次查詢此結果; f.返回IP結果給瀏覽器; g.瀏覽器根據IP信息,獲取頁面; 【返回原文】
-
【Python面試題】簡單談下GIL:
Global Interpreter Lock(全局解釋器鎖) Python代碼的執行由Python 虛擬機(也叫解釋器主循環,CPython版本)來控制,Python 在設計之初就考慮到要在解釋器的主循環中,同時只有一個線程在執行,即在任意時刻,只有一個線程在解釋器中運行。對Python 虛擬機的訪問由全局解釋器鎖(GIL)來控制,正是這個鎖能保證同一時刻只有一個線程在運行。在多線程環境中,Python 虛擬機按以下方式執行: 設置G…
-
【Linux面試題】Linux文件系統中每個文件用 什么節點來標識?
Linux文件系統使用索引節點來記錄文件信息,作用于Windows的文件分配表類似,索引節點是一個數據結構,它包含了一個文件的文件名,位置,大小,建立或修改時間,訪問權限,所屬關系等文件控制信息,一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引結點數組中的唯一一個元素對應,系統為每個索引結點分配了一個號碼,也就是該結點在數組中的索引號,稱為索引結點號。Linux文件系統將文件索引結點號和文件名同時保存在目錄中,所以目錄只是將文件的名稱和它的索引結點號結合在一起的一張表。目錄中每一對文…
-
【Python面試題】Python是怎樣管理內存的?
Python的內存管理是由私有heap空間管理的。所有的Python對象和數據結構都在一個私有heap中。程序員沒有訪問該heap的權限,只有解釋器才能對它進行操作。為Python的heap空間分配內存是由Python的內存管理模塊進行的,其核心API會提供一些訪問該模塊的方法供程序員使用。Python有自帶的垃圾回收系統,它回收并釋放沒有被使用的內存,讓它們能夠被其他程序使用。 【返回原文】
-
【Python面試題】怎樣獲取字典中所有鍵的列表?
【Python面試題答案】: 使用 keys() 獲取字典中的所有鍵 >>> mydict={'a':1,'b':2,'c':3,'e':5}>>> mydict.keys()dict_keys(['a', 'b', 'c', 'e']) 【返回早報】
-
【Linux面試題】如何排查MySQL鎖事務?
【Linux面試題答案】: SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 【返回早報】
-
【Python面試題】在Python中如何使用多進制數字?
【Python面試題答案】: 我們在Python中,除十進制外還可以使用二進制、八進制和十六進制。二進制數字由0和1組成,我們使用 0b 或 0B 前綴表示二進制數。 >>> int(0b1010)10 使用bin()函數將一個數字轉換為它的二進制形式。 >>> bin(0xf)‘0b1111’ 八進制數由數字 0-7 組成,用前綴 0o 或 0O 表示 8 進制數。 >>> oct(8)‘0o10’ 十六進數由數字 0-15 組成,用前綴 0x 或者 0X 表示 16 進制數。 >>> hex…
-
【Linux面試題】如何實現數據庫結構復制?
【Linux面試題答案】: mysqldump -uroot -p123456 -S /mydata/data/mysql.sock -q --noautocommit --flush-logs --single-transaction --master-data=2 -dstudent >/tmp/student.sql; 【返回早報】
-
【Python面試題】請解釋一下Python中的位運算符?
【Python面試題答案】: 該運算符按二進制位對值進行操作。 與(&),按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 >>> 0b110 & 0b0102 或(|),按位或運算符:只要對應的?個?進位有?個為1時,結果位就為1。 >>> 3|23 異或(^),按位異或運算符:當兩對應的?進位相異時,結果為1 >>> 3^21 取反(~),按位取反運算符:對數據的每個二進制位取反,即把1變為…