當(dāng)前位置:首頁 > 公眾號(hào)精選 > C語言與CPP編程
[導(dǎo)讀]最近同事內(nèi)推了一位 Linux C/C++ 后端開發(fā)的同學(xué)到我們公司面試,我是一面的面試官,很遺憾這位工作了兩年的同學(xué)面試表現(xiàn)不是很好。

最近同事內(nèi)推了一位 Linux C/C++ 后端開發(fā)的同學(xué)到我們公司面試,我是一面的面試官,很遺憾這位工作了兩年的同學(xué)面試表現(xiàn)不是很好。

我問了如下一些問題:

“Redis 持久化機(jī)制,redis 銷毀方式機(jī)制,MQ 實(shí)現(xiàn)原理,C++ 虛函數(shù),hash 沖突的解決,memcached 一致性哈希,socket 函數(shù)、select/poll/epoll模型,同步互斥,異步非阻塞,回調(diào)的概念,innodb索引原理,單向圖最短路徑,動(dòng)態(tài)規(guī)劃算法。”

為了幫助更多的同學(xué)拿到滿意的 offer,我整理了一下發(fā)出來,那么 Linux C/C++ 崗位一般會(huì)問哪些知識(shí)點(diǎn)呢?

C++ 面試一般考察的內(nèi)容

1. 語言基礎(chǔ)

C++ 虛函數(shù)這是面試初、中級(jí) C++ 職位一個(gè)概率 95% 以上的面試題。一般有以下幾種問法:

1.在有繼承關(guān)系的父子類中,構(gòu)建和析構(gòu)一個(gè)子類對(duì)象時(shí),父子構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序分別是怎樣的?

2.在有繼承關(guān)系的類體系中,父類的構(gòu)造函數(shù)和析構(gòu)函數(shù)一定要申明為 virtual 嗎?如果不申明為 virtual 會(huì)怎樣?

3.什么是 C++ 多態(tài)?C++ 多態(tài)的實(shí)現(xiàn)原理是什么?

4.什么是虛函數(shù)?虛函數(shù)的實(shí)現(xiàn)原理是什么?

5.什么是虛表?虛表的內(nèi)存結(jié)構(gòu)布局如何?虛表的第一項(xiàng)(或第二項(xiàng))是什么?

6.菱形繼承(類 D 同時(shí)繼承 B 和 C,B 和 C又繼承自A)體系下,虛表在各個(gè)類中的布局如何?如果類B和類C同時(shí)有一個(gè)成員變了m,m如何在D對(duì)象的內(nèi)存地址上分布的?是否會(huì)相互覆蓋?

另外,時(shí)至今日,你一定要熟悉 C++11/14/17 常用的語言特性和類庫,這里簡單地列一下:

  • 統(tǒng)一的類成員初始化語法與 std::initializer_list

  • 注解標(biāo)簽(attributes)

  • final/override/=default/=delete 語法

  • auto 關(guān)鍵字

  • Range-based 循環(huán)語法

  • 結(jié)構(gòu)化綁定

  • stl 容器新增的實(shí)用方法

  • std::thread

  • 線程局部存儲(chǔ) thread_local

  • 線程同步原語 std::mutex、std::condition_variable 等

  • 原子操作類

  • 智能指針類

  • std::bind/std::function

C++11/14 網(wǎng)上的資料已經(jīng)很多了,C++17 的資料不多,重頭戲還是 C++11 引入的各種實(shí)用特性,這就給讀者推薦一本我讀過的:

  • 《深入理解 C++11:C++11 新特性解析與應(yīng)用》

  • 《深入應(yīng)用 C++11:代碼優(yōu)化與工程級(jí)應(yīng)用》

  • 《C++17 完全指南》

  • 《Cpp 17 in Detail》

這里網(wǎng)絡(luò)上也有人分享出來,下載鏈接:

鏈接: https://pan.baidu.com/s/1Af_6-bkugcTFljpIoeIk7Q 密碼: mltg

建議購買正版哦。

C++11/14/17 的語法雖然很實(shí)用,但是需要一定的練習(xí)才能掌握,推薦幾個(gè)學(xué)習(xí) C++11/14/17 的開源項(xiàng)目:

1. filezilla

filezilla 是一款開源的 FTP 軟件,其源碼下載地址如下:

https://svn.filezilla-project.org/svn/FileZilla3/trunk

需要使用 svn 工具來下載,安裝好 svn 工具后,在 svn 界面中 checkout 上述地址或者使用如下命令下載:

svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk filezilla

如果使用 svn 圖形化工具,直接使用以下 svn 地址將源碼 checkout 到指定目錄即可:

https://svn.filezilla-project.org/svn/FileZilla3/trunk

如果你不知道怎么下載,可以直接在“高性能服務(wù)器開發(fā)”公眾號(hào)回復(fù)“獲取Filezilla源碼”進(jìn)行下載。

2. uWebSocket 網(wǎng)絡(luò)庫

uWebSocket 是一款開源的 WebSocket 庫,最新版使用了大量 C++17 的語法,美中不足的是這個(gè)庫代碼存在不少 bug,我在項(xiàng)目中使用了它,但修改了其大量的 bug,有興趣的朋友也可以下載下來看一下:

下載地址:

https://github.com/uNetworking/uWebSockets

3. TeamTalk 的 PC 端

TeamTalk 是蘑菇街開源的一款用于企業(yè)內(nèi)部的即時(shí)通信工具,其下載地址是:

https://github.com/balloonwj/TeamTalk/tree/master/win-client

4. 最后是我的開源 Flamingo IM

https://github.com/balloonwj/flamingo balloonwj/flamingo

2. 算法與數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)

說到算法和數(shù)據(jù)結(jié)構(gòu),對(duì)于社招人士和對(duì)于應(yīng)屆生一般是不一樣的,對(duì)于大的互聯(lián)網(wǎng)公司和一般的小的企業(yè)也是不一樣的。下面根據(jù)我當(dāng)面試官面試別人和找工作被別人面試經(jīng)驗(yàn)來談一談。

先說考察的內(nèi)容,除了一些特殊的崗位,常見的算法和數(shù)據(jù)結(jié)構(gòu)面試問題有如下:

1.排序(??嫉呐判虬搭l率考排序?yàn)椋嚎焖倥判?> 冒泡排序 > 歸并排序 > 桶排序)

一般對(duì)于對(duì)算法基礎(chǔ)有要求的公司,如果你是應(yīng)屆生或者工作經(jīng)驗(yàn)在一至三年內(nèi),以上算法如果寫不出來,給面試官的影響會(huì)非常不好,甚至直接被 pass 掉。對(duì)于工作三年以上的社會(huì)人士,如果寫不出來,但是能分析出其算法復(fù)雜度、最好和最壞的情況下的復(fù)雜度,說出算法大致原理,在多數(shù)面試官面前也可以過的。注意,如果你是學(xué)生,寫不出來或者寫的不對(duì),基本上面試過不了。

1.二分查找

二分查找的算法盡量要求寫出來。當(dāng)然,大多數(shù)面試官并不會(huì)直接問你二分查找,而是結(jié)合具體的場景,例如如何求一個(gè)數(shù)的平方根,這個(gè)時(shí)候你要能想到是二分查找。我在2017年年底,面試agora時(shí),面試官問了一個(gè)問題:如何從所有很多的ip地址中快速找個(gè)某個(gè)ip地址。

2.鏈表

無論是應(yīng)屆生還是工作年限不長的社會(huì)人士,璉表常見的操作一定要熟練寫出來,如鏈表的查找、定位、反轉(zhuǎn)、連接等等。還有一些經(jīng)典的問題也經(jīng)常被問到,如兩個(gè)鏈表如何判斷有環(huán)(我在2017年面試餓了么二面、上海黃金交易所一面被問過)。鏈表的問題一般不難,但是鏈表的問題存在非常多的“坑”,如很多人不注意邊界檢查、空鏈表、返回一個(gè)鏈表的函數(shù)應(yīng)該返回鏈表的頭指針等等。

3.隊(duì)列與棧

對(duì)于應(yīng)屆生來說一般這一類問的比較少,但是對(duì)于社會(huì)人士尤其是中高級(jí)崗位開發(fā),會(huì)結(jié)合相關(guān)的問題問的比較多,例如讓面試者利用隊(duì)列寫一個(gè)多線程下的生產(chǎn)者和消費(fèi)者程序,全面考察的多線程的資源同步與競態(tài)問題(下文介紹多線程面試題時(shí)詳細(xì)地介紹)。棧一般對(duì)于基礎(chǔ)要求高的面試,會(huì)結(jié)合函數(shù)調(diào)用實(shí)現(xiàn)來問。即函數(shù)如何實(shí)現(xiàn)的,包括函數(shù)的調(diào)用的幾種常見調(diào)用方式、參數(shù)的入棧順序、內(nèi)存棧在地址從高向低擴(kuò)展、棧幀指針和棧頂指針的位置、函數(shù)內(nèi)局部變量在棧中的內(nèi)存分布、函數(shù)調(diào)用結(jié)束后,調(diào)用者和被調(diào)用者誰和如何清理?xiàng)5鹊取D衬昝嬖嚲〇|一基礎(chǔ)部門,面試官讓寫從0加到100這樣一個(gè)求和算法,然后寫其匯編代碼。

4.哈希表

哈希表是考察最多的數(shù)據(jù)結(jié)構(gòu)之一。常見的問題有哈希沖突的檢測(cè)、讓面試者寫一個(gè)哈希插入函數(shù)等等?;旧弦粓雒嬖囅聛聿豢疾旒t黑樹基本上就會(huì)問哈希表,而且問題可淺可深。我印象比較深刻的是,當(dāng)年面試百度廣告推薦部門時(shí),二面問的一些關(guān)于哈希表的問題。當(dāng)時(shí)面試官時(shí)先問的鏈表,接著問的哈希沖突的解決方案,后來讓寫一個(gè)哈希插入算法,這里需要注意的是,你的算法中插入的元素一定要是通用元素,所以對(duì)于 C++ 或者 Java 語言,一定要使用模板這一類參數(shù)作為哈希插入算法的對(duì)象。然后,就是哈希表中多個(gè)元素沖突時(shí),某個(gè)位置的元素使用鏈表往后穿成一串的方案。最終考察 linux 下 malloc(下面的ptmalloc) 函數(shù)在頻繁調(diào)用造成的內(nèi)存碎片問題,以及開源方案解決方案 tcmalloc 和 jemalloc??傮w下來,面試官是一步步引導(dǎo)你深入。(有興趣的讀者可以自行搜索,網(wǎng)上有很多相關(guān)資料)

5.樹

面試高頻的樹是紅黑樹,也有一部分是B樹(B+樹)。紅黑樹一般的問的深淺不一,大多數(shù)面試官只要能說出紅黑樹的概念、左旋右旋的方式、分析出查找和插入的平均算法復(fù)雜度和最好最壞時(shí)的算法復(fù)雜度,并不要寫面試者寫出具體代碼實(shí)現(xiàn)。一般 C++ 面試問 stl 的map,java 面試問 TreeMap 基本上就等于開始問你紅黑樹了,要有心里準(zhǔn)備。筆者曾經(jīng)面試愛奇藝被問過紅黑樹。B樹一般不會(huì)直接問,問的最多的形式是通過問 MySQL 索引實(shí)現(xiàn)原理(數(shù)據(jù)庫知識(shí)點(diǎn)將在下文中討論)。筆者面試騰訊看點(diǎn)部門二面被問到過。

6.圖

圖的問題就我個(gè)人面試從來沒遇到過,不過據(jù)我某位哥哥所說,他在進(jìn)三星電子之前有一道面試題就是深度優(yōu)先和廣度優(yōu)先問題。

7.其他的一些算法

如 A*尋路、霍夫曼編碼也偶爾會(huì)在某一個(gè)領(lǐng)域的公司的面試中被問到。

3. 編碼基本功

還有一類面試題不好分類,筆者姑且將其當(dāng)作是考察編碼基本功,這類問題既可以考察算法也可以考察你寫代碼基本素養(yǎng),這些素養(yǎng)不僅包括編碼風(fēng)格、計(jì)算機(jī)英語水平、調(diào)試能力等,還包括你對(duì)細(xì)節(jié)的掌握和易錯(cuò)點(diǎn)理解,如有意識(shí)地對(duì)邊界條件的檢查和非法值的過濾。請(qǐng)讀者看以下的代碼執(zhí)行結(jié)果是什么?

for(char i = 0; i < 256; ++i) {  printf("%d\n", i);
} 

下面再列舉幾個(gè)常見的編碼題:

(1)實(shí)現(xiàn)一個(gè) memmov 函數(shù) 這個(gè)題目考查點(diǎn)在于 memmov 函數(shù)與 memcpy 函數(shù)的區(qū)別,這兩者對(duì)于源地址與目標(biāo)地址內(nèi)存有重疊的這一情況的處理方式是不一樣的。

(2)實(shí)現(xiàn) strcpy 或 strncpy 函數(shù),這類函數(shù)寫出來沒啥難度,但是一定要注意邊界條件檢查,還有就是其返回值一定要是目標(biāo)內(nèi)存地址,以支持所謂的鏈?zhǔn)娇截悺?/span>這兩類細(xì)節(jié)沒考慮到基本上算不通過。

即:

strcpy(dest3, strcpy(dest2, strcpy(dest1, src1)));

(3)實(shí)現(xiàn)atoi函數(shù) 這個(gè)函數(shù)的簽名如下:

int atoi(const char* p);

容易疏忽的地方有如下幾點(diǎn):

  • 小數(shù)點(diǎn)問題,如數(shù)字 0.123 和 .123 都是合法的;

  • 正負(fù)號(hào)問題,如 +123 和 -123;

  • 考慮如何識(shí)別第一個(gè)非法字符問題,如 123Z89,則應(yīng)轉(zhuǎn)換成應(yīng)該 123。

4. 多線程開發(fā)基礎(chǔ)

現(xiàn)如今的多核 CPU 早已經(jīng)是司空見慣,而多線程編程早已經(jīng)是“飛入尋常百姓家”。對(duì)于大多數(shù)桌面應(yīng)用(與 Web 開發(fā)相對(duì)),尤其是像后臺(tái)開發(fā)這樣的崗位,且面試者是社會(huì)人員(有一定的工作經(jīng)驗(yàn)),如果面試者不熟悉多線程編程,那么一般會(huì)被直接 pass 掉。

這里說的 “熟悉多線程編程” 到底熟悉到什么程度呢?一般包括:知道何種場合下需要新建新的線程、線程如何創(chuàng)建和等待、線程與進(jìn)程的關(guān)系、線程局部存儲(chǔ)(TLS 或者叫 thread local)、多線程訪問資源產(chǎn)生競態(tài)的原因和解決方案等等、熟練使用所在操作系統(tǒng)平臺(tái)提供的線程同步的各種原語。

對(duì)于 C++ 開發(fā)者,你需要:

  • 對(duì)于 Windows 開發(fā)者,你需要熟練使用 Interlock系列函數(shù)、CriticalSection、Event、Mutex、Semphore等API 函數(shù)和兩個(gè)重要的函數(shù) WaitForSingleObject、WaitForMultipleObjects。

  • 對(duì)于 Linux 開發(fā)者,你需要熟練使用 mutex、semphore、condition_variable、read-write-lock 等操作系統(tǒng)API。

  • 可以使用 C++ 實(shí)現(xiàn)一個(gè)簡單的線程池,當(dāng)然支持優(yōu)先級(jí)、動(dòng)態(tài)創(chuàng)建線程功能就更好了。

5. 數(shù)據(jù)庫

數(shù)據(jù)庫知識(shí)一般在大的互聯(lián)網(wǎng)企業(yè)對(duì)應(yīng)屆生不做硬性要求,對(duì)于小的互聯(lián)網(wǎng)企業(yè)或社會(huì)人士一般有一定的要求。其要求一般包括:

(1)熟悉基本 SQL 操作 包括增刪改查(insert、delete、update、select語句),排序 order,條件查詢(where 子語句),限制查詢結(jié)果數(shù)量(LIMIT語句)等

(2)稍微高級(jí)一點(diǎn)的 SQL 操作(如 Group by,in,join,left join,多表聯(lián)合查詢,別名的使用,select 子語句等)

(3)索引的概念、索引的原理、索引的創(chuàng)建技巧

(4)數(shù)據(jù)庫本身的操作,建庫建表,數(shù)據(jù)的導(dǎo)入導(dǎo)出

(5)數(shù)據(jù)庫用戶權(quán)限控制(權(quán)限機(jī)制)

(6)MySQL的兩種數(shù)據(jù)庫引擎的區(qū)別

(7)SQL 優(yōu)化技巧

以上屬于對(duì)開發(fā)的基本的數(shù)據(jù)庫知識(shí)要求,你可以找一本相關(guān)入門級(jí)的數(shù)據(jù)庫圖書學(xué)習(xí)即可。

高級(jí)開發(fā)除了以上要求還要熟悉高可用 MySQL、主從同步、讀寫分離、分表分庫 等技術(shù),這些技術(shù)的細(xì)節(jié)一定要清楚,它們是你成為技術(shù)專家或者高級(jí)架構(gòu)的必備知識(shí)。

我們?cè)趯?shí)際面試時(shí),在討論高可用服務(wù)服務(wù)方案時(shí),很多面試者也會(huì)和我們討論到這些技術(shù),但是不少面試者只知道這些技術(shù)的大致思想,細(xì)節(jié)往往說不清楚,細(xì)節(jié)不會(huì)就意味著你的高可用方案無法落地,企業(yè)需要可以落地的方案。

這些技術(shù)我首推 《高性能 MySQL》 這本書,這本書高級(jí)開發(fā)者一定要通讀的,另外還有 2 本非常好的圖書也推薦一下:一本是 《MySQL 排錯(cuò)指南》, 讀完這本書以后,你會(huì)對(duì)整個(gè)“數(shù)據(jù)庫世界”充滿了清晰的認(rèn)識(shí);另外一本是 《數(shù)據(jù)庫索引設(shè)計(jì)與優(yōu)化》, 這本書讀起來非常舒服,尤其是對(duì)于喜歡算法和數(shù)據(jù)結(jié)構(gòu)的同學(xué)來說。

網(wǎng)上也有同學(xué)整理分享出來,下載鏈接(喜歡記得買正版哦):

鏈接: https://pan.baidu.com/s/1mCTqrOXkpsRbEpPK-lmrVg  密碼: foqu

6. 網(wǎng)絡(luò)編程

網(wǎng)絡(luò)編程這一塊,對(duì)于應(yīng)屆生或者初級(jí)崗位一般只會(huì)問一些基礎(chǔ)網(wǎng)絡(luò)通信原理(如三次握手和四次揮手)的 socket  基礎(chǔ) API 的使用,客戶端與服務(wù)器端網(wǎng)絡(luò)通信的流程(回答 【客戶端創(chuàng)建 socket -> 連接 server ->收發(fā)數(shù)據(jù);服務(wù)器端創(chuàng)建 socket -> 綁定 IP 和端口號(hào) -> 啟動(dòng)偵聽 ->接受客戶端連接 ->與客戶端通信收發(fā)數(shù)據(jù)】即可)、TCP 與 UDP 的區(qū)別等等。

對(duì)于工作經(jīng)驗(yàn)三年以內(nèi)的社會(huì)人士或者一些中級(jí)面試者一般會(huì)問一些稍微重難點(diǎn)問題,如 select 函數(shù)的用法,非阻塞 connect 函數(shù)的寫法,epoll 的水平和邊緣模式、阻塞socket與非阻塞 socket 的區(qū)別、send/recv 函數(shù)的返回值情形、REUSE_ADDR 選項(xiàng)等等。Windows 平臺(tái)可能還會(huì)問 WSAEventSelect 和 WSAAsyncSelect 函數(shù)的用法、完成端口(IOCP 模型)。

對(duì)于三年以上尤其是“號(hào)稱”自己設(shè)計(jì)過服務(wù)器、看過開源網(wǎng)絡(luò)通信庫代碼的面試者,面試官一般會(huì)深入問一些問題,這類問題要么是實(shí)際項(xiàng)目中常見的難題或者網(wǎng)絡(luò)通信細(xì)節(jié),根據(jù)我的經(jīng)驗(yàn),一般有這樣一些問題:

1.nagle 算法;

2.keepalive 選項(xiàng);

3.Linger 選項(xiàng);

4.對(duì)于某一端出現(xiàn)大量 CLOSE_WAIT 或者 TIME_WAIT 如何解決;

5.通訊協(xié)議如何設(shè)計(jì)或如何解決數(shù)據(jù)包的粘包與分片問題;

6.心跳機(jī)制如何設(shè)計(jì);(可能不會(huì)直接問問題本身,如問如何檢查死鏈)

7.斷線重連機(jī)制如何設(shè)計(jì);

8.對(duì) IO Multiplexing 技術(shù)的理解;

9.收發(fā)數(shù)據(jù)包正確的方式,收發(fā)緩沖區(qū)如何設(shè)計(jì);

10.優(yōu)雅關(guān)閉;

11.定時(shí)器如何設(shè)計(jì);

12.epoll 的實(shí)現(xiàn)原理。

舉兩個(gè)例子,讓讀者感受一下:

B 站面試曾被問的一個(gè)問題:如果 A 機(jī)器與 B 機(jī)器網(wǎng)絡(luò) connect 成功后從未互發(fā)過數(shù)據(jù),此時(shí)其中一機(jī)器突然斷電,則另外一臺(tái)機(jī)器與斷電的機(jī)器之間的網(wǎng)絡(luò)連接處于哪種狀態(tài)?

7. 內(nèi)存數(shù)據(jù)庫&緩存技術(shù)

時(shí)下以 NoSql key-value 為思想的內(nèi)存數(shù)據(jù)庫大行其道,廣泛地用于各種后臺(tái)項(xiàng)目開發(fā)。所以 熟悉一種或幾種內(nèi)存數(shù)據(jù)庫程序已經(jīng)是面試后臺(tái)開發(fā)的基本要求, 而這當(dāng)中以 Redis 為最典型代表,這里以 Redis 為例。

  • 第一層面一般是對(duì) Redis 的基礎(chǔ)用法的考察 如考察 Redis 支持的基礎(chǔ)數(shù)據(jù)類型、Redis的數(shù)據(jù)持久化、事務(wù)等。

  • 第二層面不僅考察 Redis 的基礎(chǔ)用法,還會(huì)深入到 Redis 源碼層面上,如 Redis 的網(wǎng)絡(luò)通信模型、Redis 各種數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)等等。

  • Redis 高可用技術(shù)、cluster、哨兵策略等。

筆者以為,無論是從找工作應(yīng)付面試還是從提高技術(shù)的角度,Redis 是一個(gè)非常值得學(xué)習(xí)的開源軟件,希望廣大讀者有意識(shí)地去了解、學(xué)習(xí)它。

另外一些像分布式、RPC、MQ 等技術(shù)和 C++ 本身關(guān)系不是很緊密,這里就不羅列了。

8. 項(xiàng)目經(jīng)驗(yàn)

除了社會(huì)招聘和一些小型的企業(yè),一般的大型互聯(lián)網(wǎng)公司對(duì)應(yīng)屆生不會(huì)做過多的項(xiàng)目經(jīng)驗(yàn)要求,而是希望他們算法與數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)扎實(shí)、動(dòng)手實(shí)踐能力強(qiáng)即可。對(duì)于一般的小公司,對(duì)于應(yīng)屆生會(huì)要求其至少熟練使用一門編程語言以及相應(yīng)的開發(fā)工具,號(hào)稱熟悉 Linux C++ 開發(fā)的面試者,不熟悉 GDB 調(diào)試基本上不是真正的熟悉 Linux C++ 開發(fā);號(hào)稱熟悉匯編或者反匯編,不熟悉 IDA 或者 OllyDbg,基本上也是名不符實(shí)的;號(hào)稱熟悉 VC++ 開發(fā),連 F8、F9、F10、F11、F12 等快捷鍵不熟悉也是難以經(jīng)得住面試官的提問的。受疫情影響,很多面試都改成了線上面試,當(dāng)你寫算法題時(shí)如果你對(duì)開發(fā)工具不熟悉,面試官基本一下子就能看出來。 這點(diǎn)請(qǐng)大家注意。

這里給一些學(xué)歷不算好,學(xué)校不是非常有名,尤其是二本以下的廣大想進(jìn)入 IT 行業(yè)的同學(xué)一個(gè)建議,在大學(xué)期間除了要學(xué)好計(jì)算機(jī)專業(yè)基礎(chǔ)知識(shí)以外,一定要熟練使用一門編程語言以及相應(yīng)的開發(fā)工具。

關(guān)于項(xiàng)目經(jīng)驗(yàn),許多面試者認(rèn)為一定要是自己參與的項(xiàng)目,其實(shí)也可以來源于你學(xué)習(xí)和閱讀他人源碼或開源軟件的源碼,如果你能理解并掌握這些開源軟件中的思想和技術(shù),在面試的時(shí)候能夠與面試官侃侃而談,面試官也會(huì)非常滿意的。

很多同學(xué)可能糾結(jié)大學(xué)或者研究生期間要不要跟著導(dǎo)師做一些項(xiàng)目。當(dāng)然,如果這些項(xiàng)目是課程要求,那么你必須得參加;如果這些項(xiàng)目是可以選擇性的,尤其是一些僅僅拿著第三方的庫進(jìn)行所謂的包裝和加工,那么建議可以少參加一些。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉