歡迎來到 職場詞典網 , 一個優秀的職場知識學習網站!
職位類型:研發類
招聘公司:奇虎360
面試時間:2014校招
一面考的題目比較基礎。
1. const char *p = "Hello World";
char p[] = "Hello World";
分別求長度和所占用空間大小,有啥區別?
提示:求長度都可以用strlen(p),求占內存空間大小第一個不能用sizeof,第二個可以用sizeof
另外:第二個:strlen(p) = 11, sizeof(p) = 12
2. 給定一個正整數n,將其分成m段,每段為n1,n2,...,nm,求怎么劃分使得n1*n2*...*nm最大。
提示:這題和面試官周旋了很長時間,但最后方程式還是未完全寫對。
3. 給一個數組a和長度len,刪除其中的負數并保證數組中原數據相對次序不變
void removeNegative(int *a, size_t len);
提示:難就難在要保證數組中原數據相對次序不變,大家頭腦風暴吧。
4. 進程通信有哪幾種方式?選兩種你最熟悉的方式進行具體講解。兩個進程怎么通過共享內存進行通信?(進程間可以共享棧嗎?)
# 管道( pipe ):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具有親緣關系的進程間使用。進程的親緣關系通常是指父子進程關系。
# 有名管道 (named pipe) : 有名管道也是半雙工的通信方式,但是它允許無親緣關系進程間的通信。
# 信號量( semophore ) : 信號量是一個計數器,可以用來控制多個進程對共享資源的訪問。它常作為一種鎖機制,防止某進程正在訪問共享資源時,其他進程也訪問該資源。因此,主要作為進程間以及同一進程內不同線程之間的同步手段。
# 消息隊列( message queue ) : 消息隊列是由消息的鏈表,存放在內核中并由消息隊列標識符標識。消息隊列克服了信號傳遞信息少、管道只能承載無格式字節流以及緩沖區大小受限等缺點。
# 信號 ( sinal ) : 信號是一種比較復雜的通信方式,用于通知接收進程某個事件已經發生。
# 共享內存( shared memory ) :共享內存就是映射一段能被其他進程所訪問的內存,這段共享內存由一個進程創建,但多個進程都可以訪問。共享內存是最快的 IPC 方式,它是針對其他進程間通信方式運行效率低而專門設計的。它往往與其他通信機制,如信號兩,配合使用,來實現進程間的同步和通信。
# 套接字( socket ) : 套解口也是一種進程間通信機制,與其他通信機制不同的是,它可用于不同及其間的進程通信。
提示:我講了共享內存和管道通信兩種。
5. 擴展:求一個數組中的第k大的數
提示:這是因為筆試題中最后一題是“求一個數組中的第2大數”,這是引申題目,360就喜歡拿你的筆試題說事,這還沒玩,下面還有。
6. 關于筆試題中最后一題是“求一個數組中的第2大數”這題我寫的代碼有哪些缺陷?
提示:相信大家寫出來的代碼與我的不相上下,但是我很多問題沒考慮,被批的有些慘
(1)判斷數組a是否為null,數組長度是否為0和1;
(2)如果數組為3,3,2,1,那么你的代碼求出的第二大的數為3但正確答案為2,怎么修改使其正確。
二面是針對所做過的項目相關問題提問的,這個應該因人而異,對于做過web方面項目的人有幫助。
7. web測試需要測試哪些方面?舉例,比如上傳一個大文件Tomcat會崩潰啥的
8. Java中的設計模式相關問題,寫個單例模式,解釋工廠模式的作用
(1)餓漢式單例類
//餓漢式單例類.在類初始化時,已經自行實例化
public class Singleton1 {
//私有的默認構造子
private Singleton1() {}
//已經自行實例化
private static final Singleton1 single = new Singleton1();
//靜態工廠方法
public static Singleton1 getInstance() {
return single;
}
}
(2)懶漢式單例類
//懶漢式單例類.在第一次調用的時候實例化
public class Singleton2 {
//私有的默認構造子
private Singleton2() {}
//注意,這里沒有final
private static Singleton2 single=null;
//靜態工廠方法
public synchronized static Singleton2 getInstance() {
if (single == null) {
single = new Singleton2();
}
return single;
}
}
主要還是static決定了單例
9. get和post的區別?知道重定向嗎?有哪些分類?
提示:面試官提示臨時重定向和永久重定向
10. 堆、棧和全局區都存放些什么內容?
11. 下面這兩句有啥問題嗎?
class A {
int a = 2;
int b = a 3;
}
提示:我不知道,求面試官解答,面試官說:在Eclipse下有個提示,提示將a作為靜態變量,因為b引用了類中的a而非對象a(可是為什么我的Eclipse下沒警告提示???)
12. 從源路徑中讀取一個文件,寫入到目標路徑文件中。
13. try{}catch{}finally{}機制
提示:在try中遇到運行時異常時(例如除0操作等)或調用System.exit(1)等導致I/O直接中斷,此時不會去運行finally里的語句,異常分類。具體看:http://.cnblogs/lanxuezaipiao/p/3440471
14. struts2與struts1的區別,ssh的作用
15. MapReduce的工作機制,里面的排序算法用的是什么(快速排序?)
16. 寫過多少行代碼?怎么算出來的?
17. 怎么比較自己所拿到的幾個offer
提示:我從下面幾個方面解答了:工作地點、工作環境、職位發展前景、待遇
18. 知道回調函數嗎?舉個回調函數的使用場景
19. new和malloc都是堆分配,malloc后返回一個地址例如為p,如果p 后再free(p),是否會出問題?
提示:會,丟失了釋放的一些具體信息,如釋放內存大小等
下一篇:華為2014移動互聯網產品管理工程師面試經驗 下一篇 【方向鍵 ( → )下一篇】
上一篇:華為數據庫工程師一面經驗 上一篇 【方向鍵 ( ← )上一篇】
快搜