蔚來智駕-25屆測開實(shí)習(xí)生二面面經(jīng)
1. 詢問基本信息
1. 畢業(yè)時(shí)間,可以實(shí)習(xí)多久,每周可出勤天數(shù)。
2. 之前有實(shí)習(xí)經(jīng)歷嗎?(回答有)
3. 怎么安排學(xué)校和實(shí)習(xí)的?
4. 自我介紹
5. 你之前有過一段測試相關(guān)的實(shí)習(xí)經(jīng)歷,剛才你又說到了你的項(xiàng)目,你選一個(gè)你覺得難度大的介紹一下。(選了項(xiàng)目)
6. 你覺得你這個(gè)項(xiàng)目的難點(diǎn)是什么?具體難在哪?
7. 你為什么要用加鹽加密算法?你覺得有什么好處?
8. 具體解釋一下加鹽加密算法的原理。
9. 加鹽加密算法如何解密?
10. (提到MD5了)你怎么理解MD5是可逆的?
11. 針對這樣一個(gè)系統(tǒng),你怎么對它做測試的?怎么確定這個(gè)系統(tǒng)符合你的預(yù)期?
12. 你怎么衡量你做的單元測試好不好?(回答設(shè)計(jì)一些測試用例,看用例的覆蓋率)
13. 打斷一下,比如說一個(gè)地方你擴(kuò)展了20條或者30條測試用例,但是你擴(kuò)展完以后怎么去衡量你擴(kuò)展的到位了呢?舉個(gè)簡單的例子,比如說你寫了一個(gè)函數(shù)支持累加,你寫了100條這樣的一些case,從1加到100,但其實(shí)它走的是一個(gè)相同的邏輯,并不會對你這個(gè)函數(shù)的測試有很大的意義,你能理解這個(gè)意思吧?所以它可能不是說從數(shù)量上面去評價(jià)單測,當(dāng)然數(shù)量也是一個(gè)維度。
14. (我理解成要用不同的邏輯進(jìn)行測試才行,面試官引導(dǎo):)覆蓋率聽過嗎?在Java的控制臺里面會打印出這些測試結(jié)果的指標(biāo),比如說代碼覆蓋率,但一般只要測試通過就會顯示100%。你覺得對于質(zhì)量保證來說這足夠嗎?為什么?
15. (回答不夠,性能測試還要看吞吐量,幀率,并發(fā)能力等指標(biāo)。)這塊你怎么去驗(yàn)證?
16. PerfDog這個(gè)工具適用于什么語言或者什么方向去做性能分析?
17. 除了這種單元測試,還了解其他的一些測試的手段嗎?比如靜態(tài)代碼掃描或動態(tài)代碼掃描。
18. SonarQube聽說過么?
19. 對C++了解如何?
20. 技術(shù)性探討:C++里可以用vector去聲明向量,比如聲明一個(gè)長度為10或者動態(tài)的向量,但在使用的時(shí)候可能越界訪問從而出現(xiàn)問題?;蛘叱霈F(xiàn)無符號數(shù)越界,整形最大最小值越界。在這種情況下面有什么辦法能夠避免這個(gè)問題出現(xiàn)?
21. (提到了自動探測)自動探測這一類的工具你有了解嗎?
22. 你有去了解過一些大模型相關(guān)的東西嗎?說一下你的理解。
23. 說一下職業(yè)規(guī)劃和你希望的工作是怎樣的。
24. 怎么認(rèn)識測開。
25. 反問
#蔚來##測試開發(fā)##實(shí)習(xí)#
1. 畢業(yè)時(shí)間,可以實(shí)習(xí)多久,每周可出勤天數(shù)。
2. 之前有實(shí)習(xí)經(jīng)歷嗎?(回答有)
3. 怎么安排學(xué)校和實(shí)習(xí)的?
4. 自我介紹
5. 你之前有過一段測試相關(guān)的實(shí)習(xí)經(jīng)歷,剛才你又說到了你的項(xiàng)目,你選一個(gè)你覺得難度大的介紹一下。(選了項(xiàng)目)
6. 你覺得你這個(gè)項(xiàng)目的難點(diǎn)是什么?具體難在哪?
7. 你為什么要用加鹽加密算法?你覺得有什么好處?
8. 具體解釋一下加鹽加密算法的原理。
9. 加鹽加密算法如何解密?
10. (提到MD5了)你怎么理解MD5是可逆的?
11. 針對這樣一個(gè)系統(tǒng),你怎么對它做測試的?怎么確定這個(gè)系統(tǒng)符合你的預(yù)期?
12. 你怎么衡量你做的單元測試好不好?(回答設(shè)計(jì)一些測試用例,看用例的覆蓋率)
13. 打斷一下,比如說一個(gè)地方你擴(kuò)展了20條或者30條測試用例,但是你擴(kuò)展完以后怎么去衡量你擴(kuò)展的到位了呢?舉個(gè)簡單的例子,比如說你寫了一個(gè)函數(shù)支持累加,你寫了100條這樣的一些case,從1加到100,但其實(shí)它走的是一個(gè)相同的邏輯,并不會對你這個(gè)函數(shù)的測試有很大的意義,你能理解這個(gè)意思吧?所以它可能不是說從數(shù)量上面去評價(jià)單測,當(dāng)然數(shù)量也是一個(gè)維度。
14. (我理解成要用不同的邏輯進(jìn)行測試才行,面試官引導(dǎo):)覆蓋率聽過嗎?在Java的控制臺里面會打印出這些測試結(jié)果的指標(biāo),比如說代碼覆蓋率,但一般只要測試通過就會顯示100%。你覺得對于質(zhì)量保證來說這足夠嗎?為什么?
15. (回答不夠,性能測試還要看吞吐量,幀率,并發(fā)能力等指標(biāo)。)這塊你怎么去驗(yàn)證?
16. PerfDog這個(gè)工具適用于什么語言或者什么方向去做性能分析?
17. 除了這種單元測試,還了解其他的一些測試的手段嗎?比如靜態(tài)代碼掃描或動態(tài)代碼掃描。
18. SonarQube聽說過么?
19. 對C++了解如何?
20. 技術(shù)性探討:C++里可以用vector去聲明向量,比如聲明一個(gè)長度為10或者動態(tài)的向量,但在使用的時(shí)候可能越界訪問從而出現(xiàn)問題?;蛘叱霈F(xiàn)無符號數(shù)越界,整形最大最小值越界。在這種情況下面有什么辦法能夠避免這個(gè)問題出現(xiàn)?
21. (提到了自動探測)自動探測這一類的工具你有了解嗎?
22. 你有去了解過一些大模型相關(guān)的東西嗎?說一下你的理解。
23. 說一下職業(yè)規(guī)劃和你希望的工作是怎樣的。
24. 怎么認(rèn)識測開。
25. 反問
#蔚來##測試開發(fā)##實(shí)習(xí)#
全部評論
通俗地說,大模型就像是一個(gè)超級聰明的機(jī)器人大腦,可以處理非常復(fù)雜的任務(wù)和信息。這些模型通過學(xué)習(xí)大量的數(shù)據(jù)和規(guī)則,就像人類學(xué)習(xí)知識一樣,然后可以根據(jù)學(xué)到的知識來回答問題、執(zhí)行任務(wù)或做出決策。
舉個(gè)例子,想象一下你在玩一個(gè)視頻游戲,而游戲中有一個(gè)“智能導(dǎo)師”可以幫助你解決各種問題。這個(gè)“智能導(dǎo)師”就是一個(gè)大型模型。它可以通過觀察你的游戲過程和聽取你的問題,然后給出建議、提供技巧或者解釋游戲規(guī)則。這個(gè)導(dǎo)師變得越來越聰明,是因?yàn)樗梢蕴幚砀嗟男畔⒉⑶覍W(xué)習(xí)到更多的經(jīng)驗(yàn),就像你在玩游戲的過程中積累了更多的經(jīng)驗(yàn)一樣。
SonarQube:
1. **代碼重復(fù)率檢測:** SonarQube可以檢測代碼中的重復(fù)片段,并計(jì)算出代碼重復(fù)率。這對于發(fā)現(xiàn)重復(fù)的邏輯、功能或者模塊非常有用。例如,在一個(gè)項(xiàng)目中,如果有多個(gè)地方都實(shí)現(xiàn)了相似的功能,但是代碼片段卻沒有被重用,那么SonarQube就可以幫助團(tuán)隊(duì)發(fā)現(xiàn)這些重復(fù),并提出將其重構(gòu)為可重用組件的建議,從而提高代碼的可維護(hù)性和可重用性。
2. **安全漏洞檢測:** SonarQube內(nèi)置了許多安全漏洞檢測規(guī)則,可以幫助發(fā)現(xiàn)代碼中的潛在安全風(fēng)險(xiǎn)。例如,如果代碼中存在未經(jīng)驗(yàn)證的用戶輸入、SQL注入漏洞、跨站腳本(XSS)漏洞等,SonarQube就可以及時(shí)發(fā)現(xiàn)并提出修復(fù)建議,以增強(qiáng)代碼的安全性。
3. **代碼復(fù)雜度分析:** SonarQube可以評估代碼的復(fù)雜度,并提供相關(guān)指標(biāo)和建議。高復(fù)雜度的代碼通常更難理解、測試和維護(hù),因此需要特別關(guān)注。例如,如果一個(gè)函數(shù)的復(fù)雜度超過了閾值,SonarQube就可以提醒開發(fā)人員考慮重構(gòu)或者拆分該函數(shù),以提高代碼的可讀性和可維護(hù)性。
4. **規(guī)范性檢查:** SonarQube可以檢查代碼是否符合編碼規(guī)范和最佳實(shí)踐。例如,是否遵循了命名規(guī)范、注釋規(guī)范、代碼風(fēng)格規(guī)范等。這有助于確保團(tuán)隊(duì)成員之間的一致性,并提高代碼的可讀性和可維護(hù)性。
鹽值在密碼存儲中起著重要的作用,主要有以下幾個(gè)原因:
1. **增加密碼安全性:** 鹽值可以確保即使兩個(gè)用戶使用相同的密碼,其最終的加密結(jié)果也會不同。這是因?yàn)槊總€(gè)用戶的密碼都與一個(gè)唯一的鹽值結(jié)合在一起進(jìn)行加密,使得即使密碼相同,加密后的結(jié)果也不同。這增加了密碼的安全性,降低了被破解的風(fēng)險(xiǎn)。
2. **防止彩虹表攻擊:** 彩虹表是一種預(yù)先計(jì)算出的密碼和其對應(yīng)加密結(jié)果的大型表格。攻擊者可以使用彩虹表來快速查找加密后的密碼,從而破解用戶的密碼。使用鹽值可以防止這種攻擊,因?yàn)榧词姑艽a相同,由于每個(gè)用戶都有獨(dú)特的鹽值,加密后的結(jié)果也會不同,使得彩虹表無效。
3. **提高密碼破解的成本:** 鹽值增加了破解密碼的成本。即使攻擊者能夠獲取到加密后的密碼,但由于無法得知鹽值,他們?nèi)匀恍枰獙γ總€(gè)可能的鹽值進(jìn)行嘗試,從而增加了破解密碼的難度和成本。
相關(guān)推薦
04-06 20:57
北京航空航天大學(xué) 單片機(jī) 點(diǎn)贊 評論 收藏
分享
03-25 16:22
南華大學(xué) Java 點(diǎn)贊 評論 收藏
分享