首先做自我介紹,然后對自己上一個工作的介紹,以及離職原因,介紹自己的教育經(jīng)歷,問我是否有什么證書,然后等待筆試,最后讓回家等通知
面試官問的面試題:北京南天軟件有限公司JAVA研發(fā)工程師面試題
雙向鏈表的快慢指針?biāo)惴?,寶石花算法,一個字符或數(shù)字是否是最對稱數(shù)字,輸出100-200之間的素數(shù),輸入入一串字符,統(tǒng)計出字母個數(shù),空格個數(shù),數(shù)字個數(shù),其他字符個數(shù)
一面和二面
自我介紹
項目的總體介紹
詢問技術(shù)問題和項目的業(yè)務(wù)問題
出結(jié)果
綜合測評
北京南天軟件有限公司it實施工程師面試題
項目中主要職責(zé),用過哪些技術(shù)
linux的命令和shell腳本的相關(guān)知識
kettle的使用組件
通過看智聯(lián)招聘信息,得知招聘信息,目前還在等待面試,好激動。希望有機會專業(yè)面試過了,希望被錄取。希望有機會專業(yè)面試過了,希望被錄取希望有機會專業(yè)面試過了,希望被錄取希望有機會專業(yè)面試過了,希望被錄取
面試官問的面試題:北京南天軟件有限公司C語言應(yīng)用軟件工程師面試題
1.C++源文件從文本到可執(zhí)行程序的過程
預(yù)處理,產(chǎn)生.ii文件
編譯,產(chǎn)生匯編.s文件
匯編,產(chǎn)生目標(biāo).o/.obj文件
鏈接,產(chǎn)生可執(zhí)行.out/.exe文件
2.#include的順序
若要在a.h中聲明b.h中定義的變量,則在a.c文件中必須先引用b.h文件,再引用a.h文件
3. #include<>和“”的區(qū)別
<>表示標(biāo)準(zhǔn)頭文件,編譯器在預(yù)定義位置查找該文件
“”表示非系統(tǒng)頭文件,查找從源文件所在路徑開始,查找范圍大于<>
4. 進(jìn)程與線程區(qū)別
資源:線程比進(jìn)程節(jié)儉。啟動新的進(jìn)程需要分配獨立的地址空間,建立數(shù)據(jù)表來維護(hù)代碼段、堆棧段和數(shù)據(jù)段。
切換效率:同一進(jìn)程中的不同線程共享地址空間,線程彼此切換的時間遠(yuǎn)小于進(jìn)程切換
通信:線程之間共享數(shù)據(jù)空間,進(jìn)行通信時,一個線程的數(shù)據(jù)可以直接由其他線程共享。而進(jìn)程之間進(jìn)行數(shù)據(jù)傳遞必須使用進(jìn)程間的通信方式進(jìn)行
5.使用線程的優(yōu)點
具有多任務(wù)、并發(fā)性的特點
多CPU系統(tǒng)更加高效
改善程序結(jié)構(gòu),長而復(fù)雜的進(jìn)程可以分為多個線程,成為幾個獨立或半獨立的部分,是的代碼更易理解和修改。
6.malloc()實現(xiàn)方案
實質(zhì):將空閑的內(nèi)存塊鏈接起來的空閑鏈表
調(diào)用malloc()函數(shù)后,順序遍歷空閑鏈表找到滿足大小需要的空閑塊,將多余的部分繼續(xù)鏈入空閑鏈表
調(diào)用free()函數(shù),將用戶釋放的內(nèi)存塊連接到空閑鏈表上
malloc()請求延時,即將相鄰的小空閑塊合并為大的空閑塊
從OS角度,進(jìn)程分配內(nèi)存的兩種方式分別由兩個系統(tǒng)調(diào)用完成:brk和mmap。這兩種方式均分配的是虛擬內(nèi)存,并未分配物理地址。只有在第一次訪問發(fā)生缺頁中斷時,才由OS分配物理內(nèi)存并建立映射關(guān)系。
brk將數(shù)據(jù)段的最高地址指針往高地址推
mmap是在進(jìn)程的虛擬地址空間中(堆棧之間成為文件映射區(qū)域的位置)找空閑的虛擬內(nèi)存
7.有了malloc()和free()為什么還要有new()和delete()
malloc()是C++/C語言的標(biāo)準(zhǔn)庫函數(shù),new/delete是C++的運算符,都可用于申請動態(tài)內(nèi)存和釋放內(nèi)存。
非內(nèi)部數(shù)據(jù)類型的對象而言,光使用malloc/free無法滿足動態(tài)對象的要求。對象在創(chuàng)建的同時要自動執(zhí)行構(gòu)造函數(shù),消亡前要自動執(zhí)行析構(gòu)函數(shù)。Malloc/free是庫函數(shù)不是運算符,不在編譯器控制權(quán)限內(nèi),不能夠把執(zhí)行析構(gòu)函數(shù)和析構(gòu)函數(shù)的任務(wù)交給malloc/free,故創(chuàng)造新的運算符
C++需要能夠完成動態(tài)分配內(nèi)存和初始化工作的運算符new,一個能完成清理和釋放內(nèi)存工作的運算符delete
8. C++內(nèi)存管理方式
棧(Stack):存放局部變量,函數(shù)參數(shù),由編譯器自動分配和釋放。進(jìn)出棧由計算機指令支持,分配有專門的寄存器存儲棧的地址,內(nèi)存空間連續(xù)有限。
堆(Heap):程序員手動分配釋放(new,delete),動態(tài)分配,內(nèi)存空間無限制,因此產(chǎn)生內(nèi)存碎片。OS中有記錄空閑塊的鏈表,收到內(nèi)存請求即遍歷鏈表找到第一個符合的空間進(jìn)行分配,并將節(jié)點從鏈表中移除。在內(nèi)存空間首地址中記錄本次分配的大小,用于delete釋放內(nèi)存空間
全局/靜態(tài)存儲區(qū):全局變量和靜態(tài)變量分配到該區(qū),程序結(jié)束時自動釋放,包括DATA(全局初始化區(qū))段,BSS段(全局未初始化區(qū))。初始化和未初始化的變量放到不同的區(qū)。BSS段在程序執(zhí)行前自動清零,而DATA段在程序執(zhí)行前已經(jīng)為0
文字常量區(qū),存放常量字符串,程序結(jié)束后系統(tǒng)自動釋放
程序代碼區(qū),存放二進(jìn)制代碼
9. hash表實現(xiàn)
散列函數(shù)hash function,最常見的為f(x)=x%tablesize
碰撞問題,即不同元素的散列值相同。解決方法包括線性探測(依次后移),二次探測(用新的散列值再次散列),拉鏈法(直接鏈接在同一個地址上)
10.TCP模型以及協(xié)議
四層模型:
應(yīng)用層:Telnet、FTP和e-mail
傳輸層:TCP和UDP
網(wǎng)絡(luò)層:IP、ICMP和IGMP
鏈路層:設(shè)備驅(qū)動程序以及接口卡
11.進(jìn)程間的同步方法
互斥量(mutex)
條件變量(Condition Variable)
信號量(semaphore)
一般手寫就是PV操作,對應(yīng)的是wait()和signal()
12.const的用途
定義只讀變量即常量
修飾函數(shù)的參數(shù)和函數(shù)的返回值
修飾函數(shù)的定義體,被const修飾表示不修改成員變量的值
13. 指針和引用的區(qū)別
引用是變量的別名,內(nèi)部實現(xiàn)是只讀指針
引用只能在初始化時被賦值,其他時候值不能被改變,指針的值在任何時候都可以被改變
引用不能為NULL,指針可以
引用變量內(nèi)存單元保存的是被引用變量的地址
“sizeof引用”=指向變量的大小,”sizeof指針”=指針本身的大小
引用變量在源代碼中當(dāng)作普通變量使用,而作函數(shù)參數(shù)時,內(nèi)部傳遞的實際上是變量地址
14.Static作用
函數(shù)體內(nèi)static變量作用范圍為函數(shù)體,不同于auto變量,該變量的內(nèi)存只被分配一次,因此下次調(diào)用時仍然維持上次的值
在模塊內(nèi)的static全局變量可以被模塊內(nèi)所有函數(shù)訪問,但不能被模塊外的其他函數(shù)訪問
在模塊內(nèi)的static函數(shù)只可被這一模塊內(nèi)的其他函數(shù)調(diào)用,適用范圍限定在聲明的模塊內(nèi)
在類的static成員變量為整個類所擁有,對類的所有對象只有一份拷貝
在類的static成員函數(shù)為整個類所擁有,這個函數(shù)不接受this指針,因此只能訪問類的static成員變量
15.頭文件中的endif/ifndef/define作用
防止該頭文件被重復(fù)引用
16. TCP和UDP區(qū)別
TCP傳輸控制協(xié)議,提供面向連接、可靠的字節(jié)流服務(wù)??蛻艉头?wù)器彼此交換數(shù)據(jù)前,必須雙方建立一個TCP連接,之后才能傳輸數(shù)據(jù)。且提供超時重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)端到端傳輸。
UDP用戶數(shù)據(jù)報協(xié)議,簡單的面向數(shù)據(jù)報的傳輸層協(xié)議。不可靠,只負(fù)責(zé)把應(yīng)用程序傳給IP層的數(shù)據(jù)包發(fā)送數(shù)據(jù),不保證到達(dá)目的地。由于不需要建立連接,且無超時重發(fā)機制,因此傳輸速度很快。
面試比較簡單了一點簡單基礎(chǔ)題,分為三輪面試
進(jìn)行自我介紹認(rèn)識面試 還有基礎(chǔ)筆試
最后就是等通知
北京南天軟件有限公司JAVA開發(fā)人員面試題
變量/函數(shù)的聲明和定義之間有什么區(qū)別
答案:變量/函數(shù)的聲明僅聲明變量/函數(shù)存在于程序中的某個位置,但未為其分配內(nèi)存。
(共3428條) 騰訊
(共2287條) 百度
(共1566條) 中軟國際
(共147條) 北京思特奇信息技術(shù)股份有限公司
(共20條) 杭州創(chuàng)業(yè)軟件股份有限公司
(共13條) 博彥科技
(共4條) 南京紅寶麗股份有限公司
(共5條) 東明石化
(共8條) 中國電器科學(xué)研究院有限公司
(共5條) 廣東農(nóng)業(yè)銀行
(共4條) 聯(lián)寶電子科技有限公司