'裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇'

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)不要海投

其實在明確崗位職責的前提下,明確自身優勢,幹嘛還要海投呢?我從來沒有海投過簡歷,咱們前面所說的A/B/C/D四類公司,其實大家應該都遇到過。所以,針對他們的要求稍微有選擇地修改簡歷,突出和公司要求更match的點,我覺得是挺必要的,也是大大提升投遞反饋率的一個有效方法。個人認為海投是對自己優勢的不尊重,也是對公司的不尊重,如果你足夠熱愛一家公司,你會拿一份隨便的簡歷去投遞嗎?肯定不會。所以,珍惜每一次機會,重視每一次面試,把每一次投遞,當作是對自身的負責,對面試機會的負責。

4)面經

面經的搜索是一種能力。我們說一家公司的面經,並不是指公司到底會問你什麼題目(當然網上這種信息估計也很少),而是明確一家公司的面試流程,面試傾向,面試會涉及的方向和方面等,瞭解一下是可以的。常見的你可以上脈脈,看準網,知乎等,再有就是像51testing測試論壇等專門有測試分享的地方也可以找到不少信息。

所以你看,知己知彼,才能百戰不殆。

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)不要海投

其實在明確崗位職責的前提下,明確自身優勢,幹嘛還要海投呢?我從來沒有海投過簡歷,咱們前面所說的A/B/C/D四類公司,其實大家應該都遇到過。所以,針對他們的要求稍微有選擇地修改簡歷,突出和公司要求更match的點,我覺得是挺必要的,也是大大提升投遞反饋率的一個有效方法。個人認為海投是對自己優勢的不尊重,也是對公司的不尊重,如果你足夠熱愛一家公司,你會拿一份隨便的簡歷去投遞嗎?肯定不會。所以,珍惜每一次機會,重視每一次面試,把每一次投遞,當作是對自身的負責,對面試機會的負責。

4)面經

面經的搜索是一種能力。我們說一家公司的面經,並不是指公司到底會問你什麼題目(當然網上這種信息估計也很少),而是明確一家公司的面試流程,面試傾向,面試會涉及的方向和方面等,瞭解一下是可以的。常見的你可以上脈脈,看準網,知乎等,再有就是像51testing測試論壇等專門有測試分享的地方也可以找到不少信息。

所以你看,知己知彼,才能百戰不殆。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

2、中篇:面試中

1)算法與數據結構

這點在面試過程中往往是必不可少的,沒有別的技巧,提前多刷leetcode吧。大部分公司面試算法都是從leetcode題目中挑選的,有一些可能是面試官臨時想出來的,但一般都比較簡單,比如簡單字符串操作,數組操作什麼的。做題的時候,選擇你最最最熟悉的那個語言,像我一般用python會比較多,語法簡單,寫出來邏輯也好分析清晰。做題時別緊張,但也要注意下時間,一道題做太久的也有印象負分的。實在答不上來,就實話實說,把思路跟面試官解釋清楚。

一般常見的算法與數據結構的題,涉及的常常有數據結構基本知識,排序算法,搜索算法,鏈表,字符串,數組,哈希,二叉樹等。就我經驗而言,個人認為最難的也就是動態規劃這類了,我記得小米和滴滴終面都問過,但總體問的並不頻繁。一般來說,寫完一份算法題,還會讓你對自己的function寫一些測試用例。

2)計算機基礎知識

這邊比較偏向基礎了,比如http/tcp協議,尤其是http的header/請求方法分類等比較常問;其次是操作系統基本知識,併發的概念,進程線程,互斥鎖等;接下來是數據庫知識,常見的有數據庫查詢語句,關鍵字比如group by的使用,多表聯合查詢(join),以及索引等;還有就是一些linux命令,如果 awk/grep/telnet/find/chmod/vim命令/netstat/查看文件/df/lsof 等等等,命令相關的其實不用去刻意記,因為大部分工作中很常用,水到渠成的事。

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)不要海投

其實在明確崗位職責的前提下,明確自身優勢,幹嘛還要海投呢?我從來沒有海投過簡歷,咱們前面所說的A/B/C/D四類公司,其實大家應該都遇到過。所以,針對他們的要求稍微有選擇地修改簡歷,突出和公司要求更match的點,我覺得是挺必要的,也是大大提升投遞反饋率的一個有效方法。個人認為海投是對自己優勢的不尊重,也是對公司的不尊重,如果你足夠熱愛一家公司,你會拿一份隨便的簡歷去投遞嗎?肯定不會。所以,珍惜每一次機會,重視每一次面試,把每一次投遞,當作是對自身的負責,對面試機會的負責。

4)面經

面經的搜索是一種能力。我們說一家公司的面經,並不是指公司到底會問你什麼題目(當然網上這種信息估計也很少),而是明確一家公司的面試流程,面試傾向,面試會涉及的方向和方面等,瞭解一下是可以的。常見的你可以上脈脈,看準網,知乎等,再有就是像51testing測試論壇等專門有測試分享的地方也可以找到不少信息。

所以你看,知己知彼,才能百戰不殆。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

2、中篇:面試中

1)算法與數據結構

這點在面試過程中往往是必不可少的,沒有別的技巧,提前多刷leetcode吧。大部分公司面試算法都是從leetcode題目中挑選的,有一些可能是面試官臨時想出來的,但一般都比較簡單,比如簡單字符串操作,數組操作什麼的。做題的時候,選擇你最最最熟悉的那個語言,像我一般用python會比較多,語法簡單,寫出來邏輯也好分析清晰。做題時別緊張,但也要注意下時間,一道題做太久的也有印象負分的。實在答不上來,就實話實說,把思路跟面試官解釋清楚。

一般常見的算法與數據結構的題,涉及的常常有數據結構基本知識,排序算法,搜索算法,鏈表,字符串,數組,哈希,二叉樹等。就我經驗而言,個人認為最難的也就是動態規劃這類了,我記得小米和滴滴終面都問過,但總體問的並不頻繁。一般來說,寫完一份算法題,還會讓你對自己的function寫一些測試用例。

2)計算機基礎知識

這邊比較偏向基礎了,比如http/tcp協議,尤其是http的header/請求方法分類等比較常問;其次是操作系統基本知識,併發的概念,進程線程,互斥鎖等;接下來是數據庫知識,常見的有數據庫查詢語句,關鍵字比如group by的使用,多表聯合查詢(join),以及索引等;還有就是一些linux命令,如果 awk/grep/telnet/find/chmod/vim命令/netstat/查看文件/df/lsof 等等等,命令相關的其實不用去刻意記,因為大部分工作中很常用,水到渠成的事。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)測試開發專業問題

每個崗位都有自己的專業性問題,測試開發也不例外。測試開發的專業問題一般有CICD,測試框架搭建起始,新技術使用方法,結合項目談一些細節等。這個需要對簡歷中自己的項目足夠熟悉,對涉及到的系統架構層面的東西也需要熟悉,有的面試官特別喜歡讓你給他講之前的項目架構甚至畫出來。除此之外,作為開發角色,會問一些關於git的知識,git pull/checkout/revert 等相關,這些作為版本控制與管理的基本功,知道也是必須的;還有,我們的迭代週期,灰度上線等一些release相關的管理常識,最好也瞭解下;還有service進程管理相關,比如supervisor等也可以準備下,當然這些在介紹自己的項目時再詳細說也可。

3、尾篇:面試後

我想最後的最後,應該就是對自身的總結了。雖然面試通過後就皆大歡喜了,但我認為還是有必要回顧一下。不能說為以後的跳槽積累經驗吧,至少可以認識到自己的短板在哪裡,而在工作中,這些短板很可能你會再次遇到,不管面試成功還是失敗,都應該對自身有所提升才對。有人說,真正工作時候可能用不到那麼多算法,為什麼還要有那麼多算法題目?在我看來,算法更多的是鍛鍊你的思維,像一些公司還特喜歡考智力題和腦筋急轉彎,可能很多面試者當場不能給出標準的完美的答案,這不重要,你的解題思路,應試表現也會作為重要的參考部分。思維開闊,思路明朗,個人認為在工作時很重要。

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)不要海投

其實在明確崗位職責的前提下,明確自身優勢,幹嘛還要海投呢?我從來沒有海投過簡歷,咱們前面所說的A/B/C/D四類公司,其實大家應該都遇到過。所以,針對他們的要求稍微有選擇地修改簡歷,突出和公司要求更match的點,我覺得是挺必要的,也是大大提升投遞反饋率的一個有效方法。個人認為海投是對自己優勢的不尊重,也是對公司的不尊重,如果你足夠熱愛一家公司,你會拿一份隨便的簡歷去投遞嗎?肯定不會。所以,珍惜每一次機會,重視每一次面試,把每一次投遞,當作是對自身的負責,對面試機會的負責。

4)面經

面經的搜索是一種能力。我們說一家公司的面經,並不是指公司到底會問你什麼題目(當然網上這種信息估計也很少),而是明確一家公司的面試流程,面試傾向,面試會涉及的方向和方面等,瞭解一下是可以的。常見的你可以上脈脈,看準網,知乎等,再有就是像51testing測試論壇等專門有測試分享的地方也可以找到不少信息。

所以你看,知己知彼,才能百戰不殆。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

2、中篇:面試中

1)算法與數據結構

這點在面試過程中往往是必不可少的,沒有別的技巧,提前多刷leetcode吧。大部分公司面試算法都是從leetcode題目中挑選的,有一些可能是面試官臨時想出來的,但一般都比較簡單,比如簡單字符串操作,數組操作什麼的。做題的時候,選擇你最最最熟悉的那個語言,像我一般用python會比較多,語法簡單,寫出來邏輯也好分析清晰。做題時別緊張,但也要注意下時間,一道題做太久的也有印象負分的。實在答不上來,就實話實說,把思路跟面試官解釋清楚。

一般常見的算法與數據結構的題,涉及的常常有數據結構基本知識,排序算法,搜索算法,鏈表,字符串,數組,哈希,二叉樹等。就我經驗而言,個人認為最難的也就是動態規劃這類了,我記得小米和滴滴終面都問過,但總體問的並不頻繁。一般來說,寫完一份算法題,還會讓你對自己的function寫一些測試用例。

2)計算機基礎知識

這邊比較偏向基礎了,比如http/tcp協議,尤其是http的header/請求方法分類等比較常問;其次是操作系統基本知識,併發的概念,進程線程,互斥鎖等;接下來是數據庫知識,常見的有數據庫查詢語句,關鍵字比如group by的使用,多表聯合查詢(join),以及索引等;還有就是一些linux命令,如果 awk/grep/telnet/find/chmod/vim命令/netstat/查看文件/df/lsof 等等等,命令相關的其實不用去刻意記,因為大部分工作中很常用,水到渠成的事。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)測試開發專業問題

每個崗位都有自己的專業性問題,測試開發也不例外。測試開發的專業問題一般有CICD,測試框架搭建起始,新技術使用方法,結合項目談一些細節等。這個需要對簡歷中自己的項目足夠熟悉,對涉及到的系統架構層面的東西也需要熟悉,有的面試官特別喜歡讓你給他講之前的項目架構甚至畫出來。除此之外,作為開發角色,會問一些關於git的知識,git pull/checkout/revert 等相關,這些作為版本控制與管理的基本功,知道也是必須的;還有,我們的迭代週期,灰度上線等一些release相關的管理常識,最好也瞭解下;還有service進程管理相關,比如supervisor等也可以準備下,當然這些在介紹自己的項目時再詳細說也可。

3、尾篇:面試後

我想最後的最後,應該就是對自身的總結了。雖然面試通過後就皆大歡喜了,但我認為還是有必要回顧一下。不能說為以後的跳槽積累經驗吧,至少可以認識到自己的短板在哪裡,而在工作中,這些短板很可能你會再次遇到,不管面試成功還是失敗,都應該對自身有所提升才對。有人說,真正工作時候可能用不到那麼多算法,為什麼還要有那麼多算法題目?在我看來,算法更多的是鍛鍊你的思維,像一些公司還特喜歡考智力題和腦筋急轉彎,可能很多面試者當場不能給出標準的完美的答案,這不重要,你的解題思路,應試表現也會作為重要的參考部分。思維開闊,思路明朗,個人認為在工作時很重要。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

4、萬一的萬一

講一下自己的真實經歷吧。因為即使把上面的都做到了,真正面試時候還是會遇到不太熟悉的突如其來的問題咋辦?記得阿里某事業部的面試,像阿里這種體量的,大概率會涉及大數據高併發之類的東西,說實話其它一般公司的體量都沒辦法跟阿里這樣的比較。那麼問題來了:

面試官:我有一個excel文件,裡面有1億個數字,對這些數字排序,該怎麼辦?

我:首先得看內存能不能裝得下…(有點迷)

面試官:能裝下

我:(內心os: 排序我會寫, 但直接排肯定不行, 量太大隻能化大為小)那就分別排。

面試官:怎麼分別排?

我:(想了一會)可以把這些數據分成到不同的文件,比如一萬個文件,那每個文件大約有一萬個數字,然後我們可以起多線程把這一萬個文件中的數字分別排序,然後…

我:然後我在這個排序池裡,每次放入一個元素,相當於1萬個文件的歸併排序。

細節記不太清了,總之我想表達的是即使遇到了陌生的,也不要慌,代碼寫不出來可以先說思路,大部分情況下,思路清晰了,代碼其實也會寫了。

步入職場,工作是最好的老師,自學能力加持。不要抱有僥倖的心理,認識到自己的短板,真正認真去學一些東西。職場是有自動篩選原則的,就跟大自然一樣。成熟的職場人,是要讓自己有足夠的選擇,而不是讓公司選擇我們。加油。

請關注+私信回覆:“學習”就可以免費拿到軟件測試學習資料

"

每一次跳槽,相信大家都有自己的一套方法論,一套準備和選擇過程。當然面試也是一個雙向選擇,不排除有的時候看"緣分"。不管怎麼說,這幾年來,在面試過大大小小挺多家公司後,也算職場老鳥一枚了,總結了一些經驗,分享給大家。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

1、開篇:面試前

1)明確崗位職責

其實同樣一個崗位,不同的公司的要求是有差異的。比方說,同樣是測試開發工程師,A公司對該崗位的要求主要是偏服務端的測試流程開發,測試架構搭建;B公司可能更多的是偏客戶端方向的;C公司可能也是跟A公司一樣也是服務端,但是更多偏向於性能或大數據方向,所以對候選人可能有額外技能的要求;D公司呢,跟B公司挺類似的,也是客戶端,但是做手遊業務等等等等…

2)明確自身優勢

作為需要寫代碼的崗位,最好也明確下公司主要用什麼語言在做開發,雖然我們說開發語言都是大同小異的,有的公司也不care語言;但自身更熟悉哪種語言,match 程度高肯定是加分的,入職後也可以更好去融入團隊,充分的發揮自身能力。

還有,明確自身的業務方向,也就是說自己之前的優勢在哪,是有AI測試經驗?服務端測開經驗?雲計算相關經驗?遊戲相關?SssS軟件相關經驗?之前做過的項目一定程度上決定了你的長處,這些長處可能是其它候選人不具備的。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)不要海投

其實在明確崗位職責的前提下,明確自身優勢,幹嘛還要海投呢?我從來沒有海投過簡歷,咱們前面所說的A/B/C/D四類公司,其實大家應該都遇到過。所以,針對他們的要求稍微有選擇地修改簡歷,突出和公司要求更match的點,我覺得是挺必要的,也是大大提升投遞反饋率的一個有效方法。個人認為海投是對自己優勢的不尊重,也是對公司的不尊重,如果你足夠熱愛一家公司,你會拿一份隨便的簡歷去投遞嗎?肯定不會。所以,珍惜每一次機會,重視每一次面試,把每一次投遞,當作是對自身的負責,對面試機會的負責。

4)面經

面經的搜索是一種能力。我們說一家公司的面經,並不是指公司到底會問你什麼題目(當然網上這種信息估計也很少),而是明確一家公司的面試流程,面試傾向,面試會涉及的方向和方面等,瞭解一下是可以的。常見的你可以上脈脈,看準網,知乎等,再有就是像51testing測試論壇等專門有測試分享的地方也可以找到不少信息。

所以你看,知己知彼,才能百戰不殆。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

2、中篇:面試中

1)算法與數據結構

這點在面試過程中往往是必不可少的,沒有別的技巧,提前多刷leetcode吧。大部分公司面試算法都是從leetcode題目中挑選的,有一些可能是面試官臨時想出來的,但一般都比較簡單,比如簡單字符串操作,數組操作什麼的。做題的時候,選擇你最最最熟悉的那個語言,像我一般用python會比較多,語法簡單,寫出來邏輯也好分析清晰。做題時別緊張,但也要注意下時間,一道題做太久的也有印象負分的。實在答不上來,就實話實說,把思路跟面試官解釋清楚。

一般常見的算法與數據結構的題,涉及的常常有數據結構基本知識,排序算法,搜索算法,鏈表,字符串,數組,哈希,二叉樹等。就我經驗而言,個人認為最難的也就是動態規劃這類了,我記得小米和滴滴終面都問過,但總體問的並不頻繁。一般來說,寫完一份算法題,還會讓你對自己的function寫一些測試用例。

2)計算機基礎知識

這邊比較偏向基礎了,比如http/tcp協議,尤其是http的header/請求方法分類等比較常問;其次是操作系統基本知識,併發的概念,進程線程,互斥鎖等;接下來是數據庫知識,常見的有數據庫查詢語句,關鍵字比如group by的使用,多表聯合查詢(join),以及索引等;還有就是一些linux命令,如果 awk/grep/telnet/find/chmod/vim命令/netstat/查看文件/df/lsof 等等等,命令相關的其實不用去刻意記,因為大部分工作中很常用,水到渠成的事。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

3)測試開發專業問題

每個崗位都有自己的專業性問題,測試開發也不例外。測試開發的專業問題一般有CICD,測試框架搭建起始,新技術使用方法,結合項目談一些細節等。這個需要對簡歷中自己的項目足夠熟悉,對涉及到的系統架構層面的東西也需要熟悉,有的面試官特別喜歡讓你給他講之前的項目架構甚至畫出來。除此之外,作為開發角色,會問一些關於git的知識,git pull/checkout/revert 等相關,這些作為版本控制與管理的基本功,知道也是必須的;還有,我們的迭代週期,灰度上線等一些release相關的管理常識,最好也瞭解下;還有service進程管理相關,比如supervisor等也可以準備下,當然這些在介紹自己的項目時再詳細說也可。

3、尾篇:面試後

我想最後的最後,應該就是對自身的總結了。雖然面試通過後就皆大歡喜了,但我認為還是有必要回顧一下。不能說為以後的跳槽積累經驗吧,至少可以認識到自己的短板在哪裡,而在工作中,這些短板很可能你會再次遇到,不管面試成功還是失敗,都應該對自身有所提升才對。有人說,真正工作時候可能用不到那麼多算法,為什麼還要有那麼多算法題目?在我看來,算法更多的是鍛鍊你的思維,像一些公司還特喜歡考智力題和腦筋急轉彎,可能很多面試者當場不能給出標準的完美的答案,這不重要,你的解題思路,應試表現也會作為重要的參考部分。思維開闊,思路明朗,個人認為在工作時很重要。

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

4、萬一的萬一

講一下自己的真實經歷吧。因為即使把上面的都做到了,真正面試時候還是會遇到不太熟悉的突如其來的問題咋辦?記得阿里某事業部的面試,像阿里這種體量的,大概率會涉及大數據高併發之類的東西,說實話其它一般公司的體量都沒辦法跟阿里這樣的比較。那麼問題來了:

面試官:我有一個excel文件,裡面有1億個數字,對這些數字排序,該怎麼辦?

我:首先得看內存能不能裝得下…(有點迷)

面試官:能裝下

我:(內心os: 排序我會寫, 但直接排肯定不行, 量太大隻能化大為小)那就分別排。

面試官:怎麼分別排?

我:(想了一會)可以把這些數據分成到不同的文件,比如一萬個文件,那每個文件大約有一萬個數字,然後我們可以起多線程把這一萬個文件中的數字分別排序,然後…

我:然後我在這個排序池裡,每次放入一個元素,相當於1萬個文件的歸併排序。

細節記不太清了,總之我想表達的是即使遇到了陌生的,也不要慌,代碼寫不出來可以先說思路,大部分情況下,思路清晰了,代碼其實也會寫了。

步入職場,工作是最好的老師,自學能力加持。不要抱有僥倖的心理,認識到自己的短板,真正認真去學一些東西。職場是有自動篩選原則的,就跟大自然一樣。成熟的職場人,是要讓自己有足夠的選擇,而不是讓公司選擇我們。加油。

請關注+私信回覆:“學習”就可以免費拿到軟件測試學習資料

裸辭,我要面試測試開發的崗位了!跳槽經驗分享篇

"

相關推薦

推薦中...