原创 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操作系統,可以使用下面的命令來