零零總總的麵試題(4)
一 筆試
1.轉義字符
2.6個9通過運算符得到100
9*9+9+9+9/9=100
(9+9/9)*(9+9/9)=100
(999-99)÷9=10099/9*9+9/9=100
99+9-9+9/9=100
99+99/99=100
3.樹的先序遍曆和二叉樹的遍曆
4.一個數,該數二進製表示的時候:1的個數
5.虛函數和非虛函數 在子類父類調用的時候有哪些區別
6.給代碼寫上注釋
7.輸出一個字符串裏麵的包含相同字符的串
8.字符串操作,輸出特定長度的一個連續字串
9.sql語句的書寫,兩張表輸出滿足條件的記錄
10.數據庫的一致性
二 麵試
1.對麵向對象的理解
2.對多態的理解
3.對虛函數的理解
4.虛表裏麵放的是什麼?
5..net的exe文件和c的exe文件有什麼區別以及C++生成的exe文件?
6.java如何生成exe文件
7.如何計算一個表達式的值,用到哪些數據結構。有沒有封裝好的方法!
8.STL
9.你覺得你比本科生的優勢在哪裏?
10.C++和java有哪些區別?
11.然後每一個項目都問了下實現的技術!自己都做了哪些工作!
三 筆試麵試
1、數據庫的模式:模式(概念模式),內模式,外模式(用戶模式);
2、linux:查找命令:find,合並文件命令:cat;查看文件:more,less;
3、虛擬內存什麼時候使用,虛擬內存與物理內存的轉化;
4
public static void main(String[] args) { System.err.println(get()); } public static int get(){ try { throw new Exception(); } catch (Exception e) { return 2; }finally{ return 3; } }輸出什麼:3
5、hash的查找時間複雜度,什麼地方用到hash,hash解決衝突的方式有哪些?
6、ping用到了什麼網絡協議,ping的網絡延遲是怎麼計算的?ICMP
7、strcpy函數為什麼要有char *的返回值?返回void為什麼不可以?
8、字符串拷貝函數有哪些?strcpy和memcpy的區別是什麼?
9、數據結構中的樹有哪些?重點要強調:紅黑樹,Trie,B和B+。
10、Tcp的滑動窗口是什麼,有什麼作用?
11、TimeWait狀態是什麼?
12、TCP三次握手四次揮手。
13、linux的訪問權限的計算方式:r=6,w=2,x=1.為什麼要這樣定義?
14、組播地址有哪些:224.0.0.0---239.255.255.255
15、私有IP地址:10.0.0.0---10.255.255.255/8 172.16.0.0---172.31.255.255/12 192.168.0.0---192.168.255.255/16
16、HTTP為什麼是一種無狀態的協議?
17、5條線最多把一個平麵分為幾部分?
18、4個平麵能把三位空間分為幾部分?
19、f(f1(),f2()),如果要f1()先執行,f2()後執行,這樣的聲明有問題不?
20、什麼時候用到棧?
局部變量,參數,變量名。。。
21、f(int x,int y)被調用的時候,入棧的都有什麼?
22、free()函數的作用?
僅僅是釋放了空間,但是指向空間的指針還是存在的
如下麵的代碼
void do() { char *p=(char *)malloc(100); free(p); if(p) { printf("fuck"); } }
這個fuck是可以打印出來的,這個時候p是個野指針,我們需要做的工作是:p=NULL
23、 怎麼減少malloc / new 申請空間導致的內存碎片問題?
最後更新:2017-04-03 18:52:08