經(jīng)典C面試真題精講

出版時(shí)間:2011-10  出版社:清華大學(xué)出版社  作者:李亞鋒  頁數(shù):224  
Tag標(biāo)簽:無  

內(nèi)容概要

C語言是計(jì)算機(jī)編程史上生命力最強(qiáng)、影響力最廣的一種編程語言,迄今為止C語言仍舊是開發(fā)領(lǐng)域中最重要、最受歡迎的編程語言之一。本書以Google、Intel、Microsoft、IBM、華為、中興、百度等上百家國際知名IT企業(yè)的C語言面試、筆試題為研究對象,深入分析這些典型C面試、筆試題的出題意圖及解題方法。本書不僅僅是為了讓讀者了解知名企業(yè)的面試、筆試題目,更重要的是讓讀者明白企業(yè)需要應(yīng)聘人員具備哪些C語言核心技術(shù),以及讓讀者明白在實(shí)際項(xiàng)目開發(fā)中C語言是如何被靈活運(yùn)用的。這是一本非常適合求職人員在求職路上征戰(zhàn)參考的技術(shù)寶典,也是一本值得各大企業(yè)招聘使用的參考手冊。
本書不僅適合高校軟件工程專業(yè)的本科和研究生學(xué)習(xí)使用,也適合在職軟件工程師工作參考之用。

作者簡介

李亞鋒:畢業(yè)于北京大學(xué)軟件與微電子學(xué)院,獲軟件工程碩士學(xué)位。曾先后就職于威盛電子(中國)有限公司、O2Micro北京分公司,任高級(jí)軟件工程師職位。曾參與開發(fā)過Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、手機(jī)SD/MMC卡,LCD,USB等驅(qū)動(dòng)程序。著作有《ARM嵌入式Linux設(shè)備驅(qū)動(dòng)實(shí)例開發(fā)》和《ARM嵌入式Linux系統(tǒng)開發(fā)從入門到精通》。

書籍目錄

第0章 筆試題自測
第1章 靈魂一指針
1.1 指針與字符串
1.1.1 知識(shí)點(diǎn)題型
101 p++
102 打印內(nèi)存地址
103 sprintf0與snprintf
104 指針常量與常量指針
105 字符與字符串
106 指針變量與普通變量
107 指針運(yùn)算
108 “%.10.5s”
1.1.2 綜合題型
109 字符串復(fù)制
110 統(tǒng)計(jì)字符個(gè)數(shù)
1.2 指針與數(shù)組
1.2.1 知識(shí)點(diǎn)題型
111 一維數(shù)組與指針
112 數(shù)組中strlen與sizeof的區(qū)別
113 多維數(shù)組
114 數(shù)組作為參數(shù)傳遞給
……
第2章 數(shù)據(jù)存儲(chǔ)——內(nèi)存
第3章 程序的思想——算法
第4章 程序的基本單位——函數(shù)
第5章 數(shù)據(jù)的傳遞——網(wǎng)絡(luò)
第6章 專用的計(jì)算機(jī)系統(tǒng)——嵌入式
第7章 終結(jié)語
參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:   插圖:   上述代碼和之前的代碼相比稍微比較多,這里可以分成兩大部分來講述:main()主函數(shù)實(shí)現(xiàn)與flooder attack()的SYN洪流攻擊函數(shù)實(shí)現(xiàn)。 首先來分析main()函數(shù)實(shí)現(xiàn)。由于這里要實(shí)現(xiàn)支持多種協(xié)議的SYN包攻擊,所以需要進(jìn)行配置選擇,為了使用方便,這里通過main()函數(shù)的命令行參數(shù)來配置發(fā)送SYN洪流包的選項(xiàng)。具體用法如下: 其中flooder為SYN洪流實(shí)現(xiàn)代碼編譯后的可執(zhí)行文件名稱;protocol為指定協(xié)議選項(xiàng)(如TCP、UDP或ICMP,這里不區(qū)分大小寫);dstaddr為要攻擊的服務(wù)器主機(jī)名或IP地址;pcount為要發(fā)送的SYN包個(gè)數(shù),默認(rèn)為無窮多個(gè)(unsigned int類型范圍之內(nèi)的值);srcaddr為發(fā)送端的IP地址,默認(rèn)為隨機(jī)產(chǎn)生的IP地址(實(shí)際攻擊中一般用隨機(jī)IP地址欺騙服務(wù)器);dstport與srcport分別指定目標(biāo)端口號(hào)和源端口號(hào)。 明白該題目要實(shí)現(xiàn)的軟件用法之后,接著來看main()函數(shù)的實(shí)現(xiàn)。第178~181行,打印一段關(guān)于此軟件相關(guān)的描述性字符串。第182、183行,檢查main()函數(shù)命令行參數(shù)個(gè)數(shù)是否符合設(shè)計(jì)規(guī)定,當(dāng)參數(shù)個(gè)數(shù)少于3個(gè)或大于7個(gè)時(shí)不符合要求,故打印出幫助信息。第184~191行,通過命令行參數(shù)獲取協(xié)議類型,即根據(jù)第1個(gè)參數(shù)的字符串內(nèi)容來判斷是TCP、UDP或ICMP,當(dāng)不是這3種協(xié)議中的任意一個(gè)時(shí),打印幫助信息。這里使用strcasecmp()庫函數(shù)來實(shí)現(xiàn)字符串比較,該函數(shù)與strcmp()函數(shù)的區(qū)別是它不關(guān)心字符的大小寫,比如“UDP”和“udp”對strcasecnlp()函數(shù)來說是一樣的字符串。第192行,調(diào)用srand()函數(shù)為產(chǎn)生偽隨機(jī)數(shù)的產(chǎn)生提供種子,提供種子的目的是讓它在多次使用時(shí)產(chǎn)生的偽隨機(jī)數(shù)不同。雖然random()函數(shù)每次都是產(chǎn)生一個(gè)偽隨機(jī)數(shù),但如果每次種子都相同的話,那么它產(chǎn)生的隨機(jī)數(shù)也就是固定的,所以通過提供不同的種子使它產(chǎn)生不同的隨機(jī)數(shù)。后面的代碼中要使用random()涵數(shù)可以隨機(jī)產(chǎn)生源IP地址、源端口號(hào)、目的端口號(hào),這樣就可以欺騙服務(wù)器它發(fā)送的SYN洪流包來自不同的機(jī)器。第193行,通過命令行的第2個(gè)參數(shù)獲得IP地址,當(dāng)?shù)?個(gè)參數(shù)為服務(wù)器的域名或主機(jī)名時(shí),可以通過9ethostbyname()系統(tǒng)函數(shù)將域名或主機(jī)名轉(zhuǎn)換為IP地址。第194、195行,獲取要發(fā)送SYN包的個(gè)數(shù),如果沒有該參數(shù)那么會(huì)一直發(fā)送包,默認(rèn)最多可以發(fā)送unsigned int的最大值。第196、197行,獲得發(fā)送SYN包的源地址,如果沒有該參數(shù),SYN包地址默認(rèn)為隨機(jī)產(chǎn)生的IP地址。第l98~201行,獲得目的端口和源端口,如果沒有該參數(shù),將會(huì)動(dòng)態(tài)隨機(jī)產(chǎn)生。第203~206行,調(diào)用socket()系統(tǒng)函數(shù)創(chuàng)建一個(gè)原始套接字SOCK RAW,該套接字可以自己封裝IP數(shù)據(jù)包(TCP/UDP/ICMP包等),操作靈活。第208~211行,調(diào)用setsockopt()系統(tǒng)函數(shù)來設(shè)置socket的一些配置選項(xiàng),通過設(shè)置IP HDRINCL項(xiàng)來告訴系統(tǒng)這里開發(fā)人員自己封裝IP頭而不是讓協(xié)議棧自動(dòng)添加,如果不設(shè)置該項(xiàng)的話,協(xié)議棧會(huì)自動(dòng)添加IP頭部信息。

編輯推薦

《經(jīng)典C面試真題精講》不僅適合高校軟件工程專業(yè)的本科和研究生學(xué)習(xí)使用,也適合在職軟件工程師工作參考之用。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    經(jīng)典C面試真題精講 PDF格式下載


用戶評論 (總計(jì)7條)

 
 

  •   很不錯(cuò)的書,剖析面試真題,我想這正是許多求職者想要的
  •   多看下筆試的書 可以提高你平時(shí)不太注意的語言點(diǎn)和細(xì)節(jié)問題 可以提高水平的
  •   東東不錯(cuò),又物美價(jià)廉,以后還來當(dāng)當(dāng)買。
  •   面試還是有一些用的。。。不同的人而已
  •   書的內(nèi)容與描述很符合,唯一一點(diǎn)讓我不滿意的是書皮臟。以前沒有遇到這種情況,希望以后不要再出現(xiàn)這種事情了。
  •   包裝要好
  •   不錯(cuò) 還可以 有很多借鑒的
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7