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