原创 2014阿里實習生面試感想
本來就對a公司很感興趣,但是又覺得自己的水平還不夠,不過還是特別想嘗試下。 來到面試現場,雖然自己想面內核方向的,但看到被分到C++組,C++就C++吧。走到第一位面試官前面坐下,直接出了兩道題,一道排序再加二分查找,另一道刪除字符衝中的
原创 微軟2014機試第二題
Description Consider a string set that each of them consists of {0, 1} onl
原创 linux常用的內存分配接口
void * kmalloc(size_t size, gfp_t flags); 該接口返回至少size字節的物理連續的內存空間。用法和c語言malloc函數一樣。 當然還有類似free的內存釋放函數 void kfree(const
原创 編程之美中有關階層的算法
①給定一個整數,求N!末尾有多少個0思路:假如想把N!算出來之後再對其求末尾0的個數只有在N比較小的時候才能行得通。換種思路,任何一個大於1的正整數
原创 虛擬文件系統VFS的內核數據結構及聯繫
VFS: Linux支持各種各樣的文件系統格式,如ext2、ext3、reiserfs、FAT、NTFS、iso9660等等,不同的磁盤分區、光盤或其它存儲設備都有不同的文件系統格式,然而這些文件系統都可以mount到某個目錄下,使我們看
原创 2014s公司實習生面試
前些天那邊招做有關內核的崗位,投了好多人,隨便去試了下。 面了大概一小時。大致的問題如下: ①進程間的通信方式有哪些,各自是以什麼方式實現的,是否用過這些方式 非常基礎,曾經試驗做過消息隊列的,還是容易回答的 ②對於臨界區有什麼保護方法,
原创 微軟2014機試第一題
Description For this question, your program is required to process an input string containing only ASCII characters bet
原创 2014騰訊測試實習面試題
今天騰訊在學校附近招測試實習,有一同學過去面試了,問了兩道題,一道是給定一個時間,問多久後秒針分針時針重合,另一道是給出一個不重複的字符串比如abcdefg ,在這7個字符裏面選出3個輸出,打印出所有情況。 自己想了下覺得可以用遞歸做,用
原创 判斷鏈表是不是有環
思路:一個指針走的快,一個指針走得慢,假如最後追上則必定有環,假如沒有環則走的快的指針必定會碰到NULL,這時候就說明裏面沒有環,所以可以利用判斷走的快的指針是不是NULL或者它的下一個是不是NULL作爲循環條件。接着就要想有環一定能追到
原创 劍指offer第28題擴展題
輸入一個字符串,輸出該字符串中字符的所有組合。舉個例子,如果輸入abc,它的組合有a、b、c、ab、ac、bc、abc。 總的思路類似前面幾篇博客裏寫的,不過前面的博客裏面ab,ba算不一樣的,這裏其實就是3選1,3選2,3選3,那現
原创 gdb調試器的原理
上次實習生面試被追問gdb問題,現在來總結下。 當運行gdb,接着通過命令行去run一個程序的時候,gdb會執行如下幾個操作: ① 通過fork()系統調用創建一個新的進程,一開始是gdb的進程,現在要f
原创 linux的內建命令和外部命令
今天室友去筆騰訊,回來問了我一道題,linux的ls命令執行了哪些系統調用,我第一反應是ls是內建命令嗎?假如是的話應該會調用fork()和exec(),對於這塊有點模糊,特地總結了下。 Linux命令有內部命令(內建命令
原创 Linux 下統計文件夾中文件的數量
ls -l | grep '^d' | wc -l ls -l :會列出當前目錄下所有文件的信息,包括目錄文件、普通文件等 , 普通文件會以 d打頭 grep '^d' :取出ls -l輸出中所有以d開頭的行 wc -l :
原创 求二進制數中的1的個數
今天在做深入理解計算機系統的LAB1,其中有道題求二進制數中的1的個數 看到這種算法 int bitCount(int x) { n = (n &0x55555555) + ((n >>1) &0x55555555) ;
原创 bochs安裝
最近想照着書和網上的資料寫一個微內核。用到一個模擬x86硬件環境的軟件bochs,下面來分享下安裝過程。 我的操作系統是Ubuntu12.04 如果你使用的也是Ubuntu操作系統,可以使用下面的命令來