面試總結9

國慶後面試了老家那邊一家從事北斗衛星導航方面研究的公司,待遇在當地算是很不錯的,但由於當時手上有了幾家相對平臺較大的公司的offer,從自己長遠的發展考慮最後也只好遺憾的拒絕了。以下是部分被問到的問題分享一下。

1、講述一個你在項目中發現的最有意義的BUG及其原因(如果有的話)?


2、選幾個手機裏你常用的APP或者功能,或者幾個常見的電子產品,指出你認爲需要改進的地方?


3、五年後你不想幹的事是什麼?


4、給出你使用的最熟練的幾個開發工具及輔助工具或系統?


5、有沒有業餘開發什麼小軟件,或發些相關技術文章、評論之類的?


6、你最喜歡去的技術網站有哪些,或者是開發過程中最常去尋求解決方案的網站有哪些?特別是國外的網站。


7、產品出現了故障,有人立馬指出是你負責的模塊存在問題,你怎麼處理?

答:先整體分析是否有可能是自己負責的模塊存在問題,如果是再仔細排查找出問題並迅速解決。

 

8、手頭有10萬多個EXCEL表格,需要全部導入到Mysql數據庫中成爲數據庫中的一個表,你需要多長時間完成,用什麼語言、什麼方法?


9、需要做一個TCP服務器,監聽上百個客戶端,對這些客戶端進行管理、控制、監測以及通信。請問服務器的網絡相關代碼採用什麼設計思路?

答:如果是在Linux環境下可以採用IO多路複用模型中的epoll。多進程模型和多線程模型每個進程/線程只能處理一路IO,在服務器併發數較高的情況下,過多的進程/線程會使得服務器性能下降。而通過多路IO複用,能使得一個進程同時處理多路IO,提升服務器吞吐量。

而IO多路複用中select和epoll相比又有3個缺點:1、連接數受限 2、查找配對速度慢 3數據要由內核拷貝到用戶態。

       實現epoll可以通過3步來完成:1、調用epoll_create()此調用返回一個句柄,之後所有的使用都依靠這個句柄來標識。2、epoll_ctl()系統調用。通過此調用向epoll對象中添加、刪除、修改事件。3、epoll_wait()系統調用。通過此調用收集收集在epoll監控中已經發生的事件。


10、推薦一個好的軟件開發人員必看的3本書?

 

11、如何評價下面這段代碼?

for (col = 0; col < 1000; col ++) {

   for(row = 0; row < 100; row ++) {

      table[row][col] = BlankElement();

}

}

答:

 

12、下面左右兩部分代碼的輸出內容一樣嗎?如果不一樣,請給出理由。

char *getm() {

   char p[]=”Hello World”;

   return p;

}

int main() {

   char *str=NULL;

   str=getm();

   printf(str);

}

char *getm() {

   char *p=”Hello World”;

   return p;

}

int main() {

   char *str=NULL;

   str=getm();

   printf(str);

}

答:輸出結果不一樣。

       左邊代碼輸出不確定或者可能會亂碼,右邊輸出Hello World。char p[]=”Hello World”聲明一個數組,它作爲一個局部變量存放在棧區,函數執行完之後系統自動對其進行清除,所以將一個指針再指向這地址輸出會不確定。而char *p=”Hello World”聲明一個指針指向”Hello World”字符串起始位置,而且該字符串被保存在字符常量區,在程序結束後系統纔會回收這部分內存。P指向這部分內存所以程序能正常顯示改字符串。


13、寫一個字符串反轉的代碼?


14、時針一分鐘轉多少度?

     時鐘一共12個數字,時針轉一圈12小時就360度,所以1小時就是360/12=30度,因爲1小時60分鐘,所以1分鐘就是30/60=0.5度!!!


15、時針分針秒針一天重合幾次?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章