2015最新360校園招聘筆試題目
一、主觀題
1、編程實現strncpy(char dest,char src, stze_t n);
2、編程實現逆波蘭式,函數原型double CalRpn(int oprnum,char Opstr[]),實現計算逆波蘭式的結果。比如中序遍歷為1+23,逆波蘭是式為12+3
3、一段英語翻譯
file descriptor和lock,forks等
二、選擇題
1、RSA、SHA、DES、BASE6X哪個不可逆?
2、指令尋址方式
3、RISC指令系統的特點(從指令長度、指令種類、尋址方式、寄存器數目)
4、磁盤扇區訪問時間
5、采用不同尋址方式的目的
6、指針和引用的區別
7、static類型
8、虛函數繼承
9、排序算法最壞情況時間復雜度和不穩定排序算法
10、二叉樹高度計算
11、進程中的線程堆和棧的關系(共享堆,獨占棧)
12、進程就緒、阻塞、運行示意圖
13、創建進程條件
14、HTTP403表示什么
15、數據庫索引的意義
16、不能用于window進程同步的是哪個:mutex,event,臨界區、信號量
360面試Windows客戶端開發
數據結構、操作系統、C/C++都問到了
1、進程和線程的區別
線程是指進程內的一個執行單元,也是進程內的可調度實體.
與進程的區別:
(1)地址空間:進程內的一個執行單元;進程至少有一個線程;它們共享進程的地址空間;而進程有自己獨立的地址空間;
(2)資源擁有:進程是資源分配和擁有的單位,同一個進程內的線程共享進程的資源
(3)線程是處理器調度的基本單位,但進程不是.
(4)二者均可并發執行.
進程和線程都是由操作系統所體會的程序運行的基本單元,系統利用該基本單元實現系統對應用的并發性。進程和線程的區別在于:
簡而言之,一個程序至少有一個進程,一個進程至少有一個線程.
線程的劃分尺度小于進程,使得多線程程序的并發性高。
另外,進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。
線程在執行過程中與進程還是有區別的。每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。
從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。
進程是具有一定獨立功能的程序關于某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位.
線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.
一個線程可以創建和撤銷另一個線程;同一個進程中的多個線程之間可以并發執行.
2、MFC中的基本類,由Cobject派生的類有哪些(CWindow等)
CDialog,CView,CDocument
常用CObject派生類
CCmdTarget 所有處理用戶請求的類的基類
CWinApp 代表應用程序的核心,建立主線程
CDocument 文檔類 ,儲存應用程序數據集
CWnd 處理一般 Windows消息的圖形用戶界面對象的基類
CFrameWnd 應用程序主窗口框架
CView 視圖類顯示數據并與文檔對象交互
SDI應用中主要類
Document 從 CDocument派生的文檔類,儲存與應用程序相關的數據
View 從CView派生的視圖類,決定了文檔數據的顯示方式,提供用戶界面
Frame window 從 CFrameWnd派生的框架窗口類,也是SDI應用的主框架窗口
Document template 文檔模板,是 CSingelDocTemplate類對象,將文檔、視圖和框架窗口類聯系在一起,創建并管理文檔
Application 從 CWinApp派生的應用程序類,代表應用程序本身,控制應用程序中所有類,并負責初始化和退出清理工作
3、MFC界面如何實現將一個界面分成兩個部分
5、三個道士和三個野人過河,如果野人的數目多于道士的數目,野人就會把道士吃掉,河里面的船一次只能載兩個人,如何實現,使用模式識別的方法
6、操作系統中堆、棧、數據區等作用
7、IPV4和IPV6頭部問題
8、數據結構中圖的最短路徑、最小生成樹
9、發送一個數據包到一個地方(比如新浪),經過的路徑?(記不清了)
10、平衡樹、紅黑樹、B+樹等區別,優缺點
11、全局變量生存期
12、C++在main函數之前聲明一個全局的類的對象,問該對象執行時是在進入main函數之前還是之后,如果是之前,是由什么調用的
13、1000瓶飲料,3個瓶子可以再換一瓶,一共可以喝多少瓶,算法描述?
有個答案這樣寫:x-1000=x/3,問這個答案對不對?