成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

面試官:了解Fuzzing Test嗎?

shusen / 1141人閱讀

摘要:產(chǎn)生的崩潰測試用例可能難以分析,因?yàn)槟:郎y試的行為并不能告訴你關(guān)于軟件內(nèi)部運(yùn)行方式的知識。模糊測試向軟件系統(tǒng)提供隨機(jī)輸入。

軟件質(zhì)量保障

專注測試圈,自動(dòng)化測試、測試平臺開發(fā)、測試新技術(shù)、大廠測試崗面經(jīng)分享, 可以幫忙內(nèi)推BATJ等大廠!歡迎加VX溝通交流: ISTE1024

測試同行或多或少聽說過模糊測試,但不知道它是什么?本文將詳細(xì)介紹Fuzzing Test幫助你快速了解它。

什么是 "模糊測試"?

?

Fuzzing 是一種發(fā)現(xiàn)軟件缺陷的方法,它通過向程序提供隨機(jī)輸入來尋找導(dǎo)致程序崩潰的測試場景(原理有點(diǎn)類似Monkey Test)??梢詭椭憧焖倭私獬绦蛘w的健壯性,并幫助你發(fā)現(xiàn)和修復(fù)關(guān)鍵的缺陷。

它是一種黑盒測試技術(shù),不需要訪問源代碼,但它仍然可以用來測試那些有源代碼的軟件。這是因?yàn)樗芨斓匕l(fā)現(xiàn)缺陷,并降低大量代碼評審成本。

模糊測試優(yōu)缺點(diǎn)

Fuzzing在某些業(yè)務(wù)下雖然非常有用,但它畢竟不是銀彈。以下是模糊技術(shù)的一些優(yōu)點(diǎn)和缺點(diǎn)。

優(yōu)點(diǎn)

  • 可以說不費(fèi)“吹灰之力”就能得到結(jié)果--一旦fuzzer啟動(dòng)并運(yùn)行,它就可以在沒有交互的情況下停留數(shù)小時(shí)、數(shù)天或數(shù)月來尋找錯(cuò)誤。

  • 可以發(fā)現(xiàn)人工審計(jì)中遺漏的錯(cuò)誤

  • 能對目標(biāo)軟件的健壯性提供一個(gè)整體性概述

缺點(diǎn)

  • 不會(huì)窮盡所有bug--模糊測試可能會(huì)遺漏那些不會(huì)觸發(fā)整個(gè)程序崩潰的bug,而且對那些只在非常特殊情況下觸發(fā)的bug也難以覆蓋。

  • 產(chǎn)生的崩潰測試用例可能難以分析,因?yàn)槟:郎y試的行為并不能告訴你關(guān)于軟件內(nèi)部運(yùn)行方式的知識。

  • 具有復(fù)雜輸入的程序可能需要更多的工作來產(chǎn)生一個(gè)足夠聰明的模糊測試器,以獲得足夠的代碼覆蓋率。

Smart/Dumb模糊測試

Fuzzers向軟件系統(tǒng)提供隨機(jī)輸入。內(nèi)容形式可能是某種網(wǎng)絡(luò)協(xié)議、某種格式的文件或用戶能直接輸入的數(shù)據(jù)。其輸入方式是完全隨機(jī)的,并不知道預(yù)期的輸入應(yīng)該是什么樣子,也可以是經(jīng)過一些修改后看起來像是有效的輸入。

產(chǎn)生完全隨機(jī)輸入的Fuzzer被稱為 Dumb Fuzzer。少量的工作可以用很少的成本產(chǎn)生結(jié)果--這是模糊測試的一大優(yōu)勢。然而,有時(shí)一個(gè)程序只有在輸入的特定場景才會(huì)執(zhí)行某些處理。例如,一個(gè)程序的輸入需要傳入 "name"字段,而這個(gè)字段有一個(gè)與之相關(guān)的 "name length"。

如果這些字段沒有以足夠有效的形式出現(xiàn)讓程序識別,它可能永遠(yuǎn)不會(huì)讀取這個(gè)名字。如果這些字段以有效的形式存在,但長度值被設(shè)置為不正確的值,程序可能會(huì)讀到包含名字的緩沖區(qū)之外,并引發(fā)崩潰。如果缺乏有效的輸入,這是不可能發(fā)生的。在這些情況下,可以使用 Smart Fuzzer,Smart Fuzzer是基于輸入特定的規(guī)則實(shí)現(xiàn)的,例如協(xié)議定義或文件格式的規(guī)則。它可以構(gòu)建大部分有效的輸入,并且只對該基本格式內(nèi)的輸入進(jìn)行模糊處理。

Fuzzers的類型

廣義上講,F(xiàn)uzzer可以根據(jù)它們創(chuàng)建程序輸入的方式分為兩類--基于變異與基于生成.

基于變異的fuzzer

基于突變的Fuzzer可以說是最容易創(chuàng)建的類型之一。這種技術(shù)適合Dumb Fuzzer,但也可用于智能的Fuzzer。通過突變,有效輸入的樣本被隨機(jī)突變以產(chǎn)生畸形的輸入。

dumb ?mutation Fuzzer可以簡單地選擇一個(gè)有效的輸入樣本,并隨機(jī)地改變它的一部分。因?yàn)檩斎胪ǔH匀慌c有效輸入有足夠的相似性,所以這意味著不需要進(jìn)一步的智能化處理就可以實(shí)現(xiàn)良好的代碼覆蓋。

下面是基于突變的Fuzzer可以使用的兩種技術(shù)。

流量回放

Fuzzer可以采取保存的樣本輸入,并在突變后重新播放。這對文件格式的模糊處理很有效,可以保存一些樣本文件并進(jìn)行模糊處理以提供給目標(biāo)程序。

簡單或無狀態(tài)的網(wǎng)絡(luò)協(xié)議也可以用重放來有效地進(jìn)行模糊處理,因?yàn)镕uzzer不需要提出大量的合法請求來深入到協(xié)議中去。對于更復(fù)雜的協(xié)議,重放可能更困難。這是因?yàn)镕uzzer需要以動(dòng)態(tài)方式響應(yīng)程序,以允許處理繼續(xù)深入?yún)f(xié)議。

代理

你可能聽說過中間人(MITM)是滲透測試者和黑客使用的一種技術(shù),但它也可以用于基于突變的網(wǎng)絡(luò)協(xié)議模糊測試。通過MITM,你置身于客戶端和服務(wù)器的中間,截獲并可能修改它們之間傳遞的信息。通過這種方式,你就像兩者之間的一個(gè)代理。

通過將你的Fuzzer設(shè)置為代理,它可以根據(jù)你對服務(wù)器或客戶端的模糊處理來改變請求或響應(yīng)。同樣,F(xiàn)uzzer可以隨機(jī)地改變一些請求,也可以在你感興趣的協(xié)議的特定層次上智能地鎖定請求?;诖淼哪:郎y試可以讓你利用現(xiàn)有的網(wǎng)絡(luò)程序部署架構(gòu),快速插入模糊測試層,而不需要讓你的fuzzer像客戶端或服務(wù)器本身一樣行動(dòng)。

基于生成的fuzzer

基于生成的Fuzzer實(shí)際上是從零開始生成輸入,而不是突變現(xiàn)有的輸入。它們通常需要一定程度的智能來構(gòu)建至少對程序有一定意義的輸入,盡管生成完全隨機(jī)的數(shù)據(jù)在技術(shù)上也是生成。

生成Fuzzer通常將協(xié)議或文件格式分成幾塊,它們可以按照有效的順序建立起來,并隨機(jī)地對其中一些塊進(jìn)行獨(dú)立模糊。這可以創(chuàng)造出保留其整體結(jié)構(gòu)的輸入,但其中也包含不一致的數(shù)據(jù)。這些塊的顆粒度和構(gòu)建這些塊的智能程度決定了Fuzzer的智能水平。雖然基于突變的模糊處理可以產(chǎn)生與生成模糊處理類似的效果(因?yàn)殡S著時(shí)間的推移,突變將被隨機(jī)應(yīng)用,而不會(huì)完全破壞輸入的結(jié)構(gòu)),但生成輸入可以確保這種情況的發(fā)生。

生成fuzzers也可以更容易地深入到協(xié)議中,因?yàn)樗梢詷?gòu)建有效的輸入序列,對該通信的特定部分進(jìn)行模糊處理。它還允許Fuzzer作為一個(gè)真正的客戶/服務(wù)器,生成正確的、動(dòng)態(tài)的響應(yīng),但這些響應(yīng)不能盲目地重放。

進(jìn)化型fuzzer

進(jìn)化型模糊測試是一種先進(jìn)的技術(shù)。它允許Fuzzer使用來自每個(gè)測試用例的反饋,以了解隨著時(shí)間推移輸入的格式。例如,通過測量每個(gè)測試用例的代碼覆蓋率,F(xiàn)uzzer可以計(jì)算出測試用例的哪些屬性可以鍛煉給定的代碼區(qū)域,并逐漸演化出一套覆蓋大部分程序代碼的測試用例。進(jìn)化型模糊測試通常依賴于與遺傳算法類似的其他技術(shù),并且可能需要某種形式的二進(jìn)制工具來正確操作。

模糊測試測什么?

即使是相對dumb的模糊測試,也要記住你的測試用例實(shí)際上有可能擊中代碼的哪一部分。舉個(gè)簡單的例子,如果你正在摸索一個(gè)使用TCP/IP的應(yīng)用協(xié)議,而你的Fuzzers隨機(jī)突變了一個(gè)原始數(shù)據(jù)包的捕獲,你很可能會(huì)破壞TCP/IP數(shù)據(jù)包本身。因此,你的輸入根本不可能被應(yīng)用程序所處理。再者,如果你正在測試一個(gè)將文本的圖像解析為真實(shí)文本的OCR程序,但你正在突變整個(gè)圖像文件,你最終可能會(huì)更頻繁地測試其圖像解析代碼而不是實(shí)際的OCR代碼。如果你想專門針對該OCR處理,你可能希望保持圖像文件的標(biāo)題有效。

Fuzzer運(yùn)行流程

為了有效地運(yùn)行,F(xiàn)uzzer需要執(zhí)行以下重要任務(wù):

  • 生成測試用例

  • 記錄測試用例或再現(xiàn)用例所需的任何信息

  • 對目標(biāo)程序接口提供測試case作為輸入

  • 檢測崩潰

Fuzzer通常將其中的許多任務(wù)分成獨(dú)立的模塊。例如,有一個(gè)庫可以突變數(shù)據(jù)或根據(jù)定義生成數(shù)據(jù),另一個(gè)庫可以向目標(biāo)程序提供測試用例等等。

生成測試用例

測試用例的生成將取決于是否采用了基于突變或基于生成的模糊處理。無論采用哪種方法,都會(huì)有一些需要隨機(jī)轉(zhuǎn)換的東西,無論是特定類型的字段還是任意的數(shù)據(jù)塊。

這些轉(zhuǎn)換可以是完全隨機(jī)的,但值得注意的是,邊界和極端的情況往往是程序中錯(cuò)誤的來源。因此,你可能希望偏向于這樣的情況。

  • 非常長超長字符串或Null

  • 能支持的最大值和最小值整數(shù)

  • 像-1、0、1和2這樣的值

根據(jù)你要模糊處理的內(nèi)容,可能會(huì)有一些特定的值或字符更容易觸發(fā)bug。比如:

  • Null

  • 分號

  • 格式化字符串值(%n,%s等等)

  • 應(yīng)用特定的關(guān)鍵詞

可重復(fù)性

重現(xiàn)一個(gè)測試用例的最簡單方法是記錄檢測到崩潰時(shí)使用的確切輸入。在某些情況下,還有其他方法能實(shí)現(xiàn)重現(xiàn)性。一種方法是存儲用于測試用例生成的隨機(jī)部分的初始種子,并確保所有后續(xù)的隨機(jī)行為遵循一個(gè)可以追溯到該種子的路徑。通過用相同的種子重新運(yùn)行Fuzzer,行為應(yīng)該是可重復(fù)的。例如,你可以只記錄測試用例編號和初始種子,然后用該種子快速重新執(zhí)行生成,直到達(dá)到給定的測試用例。

當(dāng)目標(biāo)程序可能基于過去的輸入積累了依賴性時(shí),這種技術(shù)就很有用。以前的輸入可能導(dǎo)致程序在其內(nèi)存中初始化各種項(xiàng)目,而這些項(xiàng)目是觸發(fā)錯(cuò)誤所必須的。在這些情況下,簡單地記錄崩潰的測試用例并不足以重現(xiàn)該錯(cuò)誤。

與目標(biāo)程序?qū)?/strong>

與目標(biāo)程序連接以提供模糊輸入通常是簡單的。對于網(wǎng)絡(luò)協(xié)議,它可能涉及在網(wǎng)絡(luò)上發(fā)送測試用例,或響應(yīng)客戶的請求。對于文件格式,它可能意味著用一個(gè)指向測試用例的命令行參數(shù)來執(zhí)行程序。然而,有時(shí)提供的輸入的形式不容易以自動(dòng)化的方式生成,或者編寫程序腳本來執(zhí)行每個(gè)測試用例的開銷很大,證明是非常緩慢的。在這些情況下,創(chuàng)造性的思考可以發(fā)現(xiàn)用正確的數(shù)據(jù)來鍛煉相關(guān)的代碼片斷的方法。

例如,這可以通過在內(nèi)存中人為地設(shè)置程序來執(zhí)行解析功能,而輸入的參數(shù)完全在內(nèi)存中。這可以消除程序在每個(gè)測試用例之前經(jīng)過冗長的加載程序的需要。而且,通過讓測試用例完全在內(nèi)存中生成和提供,而不是通過硬盤驅(qū)動(dòng)器,可以進(jìn)一步提高速度。

崩潰檢測

崩潰檢測是模糊測試的關(guān)鍵。如果你不能準(zhǔn)確地確定一個(gè)程序何時(shí)崩潰,你就不能確定一個(gè)測試用例是否觸發(fā)了一個(gè)錯(cuò)誤。

  • 附加一個(gè)調(diào)試器

這可以為你提供最準(zhǔn)確的結(jié)果,你可以編寫調(diào)試器的腳本,以便在檢測到崩潰時(shí)立即為你提供崩潰跟蹤。然而,附加一個(gè)調(diào)試器會(huì)大大降低程序的速度,并會(huì)造成相當(dāng)大的開銷。在給定的時(shí)間內(nèi),你能產(chǎn)生的測試用例越少,你發(fā)現(xiàn)崩潰的機(jī)會(huì)就越少。

  • 看看目標(biāo)進(jìn)程是否消失了

與其附加一個(gè)調(diào)試器,你可以簡單地看看在執(zhí)行測試用例后,目標(biāo)的進(jìn)程ID是否仍然存在于系統(tǒng)中。如果進(jìn)程消失了,它可能已經(jīng)崩潰了。如果你想了解更多關(guān)于崩潰的信息,你可以在以后用調(diào)試器重新運(yùn)行測試用例。你甚至可以在每次崩潰時(shí)自動(dòng)這樣做,同時(shí)還可以避免在每個(gè)案例中都連接調(diào)試器而導(dǎo)致的速度下降。

超時(shí)

如果程序?qū)δ愕臏y試用例有正常的響應(yīng),你可以設(shè)置一個(gè)超時(shí),超時(shí)后你就認(rèn)為程序已經(jīng)崩潰。這也可以檢測出導(dǎo)致程序無反應(yīng)但不一定終止的錯(cuò)誤。

無論你使用哪種方法,只要程序崩潰或變得無反應(yīng),就應(yīng)該重新啟動(dòng),以便讓模糊測試?yán)^續(xù)進(jìn)行。

模糊測試的質(zhì)量

你可以做一些事情來衡量或提高你的模糊測試的質(zhì)量。雖然這些都是需要記住的有用的東西,但如果你已經(jīng)在一定的時(shí)間范圍內(nèi)得到了很多獨(dú)特的崩潰,你可能不需要再為這些事情費(fèi)心了。

速度

速度可能是模糊測試中最重要的因素之一。你每秒鐘/每分鐘能運(yùn)行多少個(gè)測試用例?合理的數(shù)值當(dāng)然取決于目標(biāo),但你能執(zhí)行的測試用例越多,你就越有可能在給定的時(shí)間段內(nèi)發(fā)現(xiàn)崩潰。模糊測試是隨機(jī)的,所以每一個(gè)測試用例就像一張彩票,你要盡可能多地得到它們。

你可以做很多事情來提高測試用例的速度,比如提高生成或變異例程的效率,并行化測試用例,減少超時(shí),或在不顯示圖形用戶界面的 "無頭 "模式下運(yùn)行程序。如果你想的話,你可以簡單地購買更快的套件。

對崩潰進(jìn)行歸類

找到崩潰只是過程的開始。一旦你找到一個(gè)崩潰的測試用例,你就需要分析它,找出錯(cuò)誤所在,并根據(jù)你的動(dòng)機(jī),修復(fù)它或?yàn)樗帉懸粋€(gè)漏洞。如果你有成千上萬個(gè)崩潰的測試用例,這可能是相當(dāng)令人生畏的。通過對崩潰進(jìn)行分類,你可以根據(jù)哪些崩潰是你最感興趣的來確定它們的優(yōu)先次序。這也可以幫助你識別一個(gè)測試用例何時(shí)觸發(fā)了與另一個(gè)相同的錯(cuò)誤,所以你只保留與獨(dú)特崩潰有關(guān)的案例。

為了做到這一點(diǎn),你需要一些關(guān)于崩潰的自動(dòng)信息,以便你能做出決定。在目標(biāo)機(jī)上運(yùn)行測試用例并連接到調(diào)試器,可以提供崩潰跟蹤,你可以對其進(jìn)行分析,找到諸如異常類型、寄存器值、堆棧內(nèi)容等值。

減少測試用例

由于模糊測試是隨機(jī)改變輸入的,一個(gè)崩潰的測試用例通常會(huì)有多個(gè)與觸發(fā)該錯(cuò)誤無關(guān)的改變。測試用例縮減是將測試用例縮減到觸發(fā)bug所需的有效輸入的最小改動(dòng)集,因此你只需要在分析中關(guān)注輸入的這一部分。

這種減少可以手動(dòng)進(jìn)行,但也可以由Fuzzer自動(dòng)進(jìn)行。當(dāng)遇到一個(gè)崩潰的測試用例時(shí),F(xiàn)uzzer可以重新執(zhí)行該測試用例幾次。每一次,它都會(huì)逐漸減少對輸入的改動(dòng),直到剩下最小的一組改動(dòng),同時(shí)仍然觸發(fā)該錯(cuò)誤。這可以簡化你的分析,并有助于對崩潰的測試用例進(jìn)行分類,因?yàn)槟銜?huì)準(zhǔn)確知道輸入的哪些部分受到影響。

代碼覆蓋率

這是一個(gè)衡量程序的代碼有多少被Fuzzer執(zhí)行的標(biāo)準(zhǔn)。其原理是,你得到的覆蓋率越多,你實(shí)際測試的程序就越多。測量代碼覆蓋率可能很棘手,通常需要二進(jìn)制儀器來跟蹤代碼的哪些部分正在被執(zhí)行。你也可以用不同的方式測量代碼覆蓋率,比如按行、按基本塊、按分支或按代碼路徑。

代碼覆蓋率對于模糊測試來說并不是一個(gè)完美的衡量標(biāo)準(zhǔn),因?yàn)橛锌赡茉趫?zhí)行代碼的同時(shí)并沒有發(fā)現(xiàn)其中的漏洞。而且,經(jīng)常有一些代碼區(qū)域幾乎不會(huì)被執(zhí)行,例如安全錯(cuò)誤檢查,反正我們不太可能真正需要,也不太感興趣。盡管如此,某種形式的代碼覆蓋率測量可以讓我們了解到你的Fuzzer在程序中觸發(fā)了什么。特別是當(dāng)你的模糊測試是完全黑箱的時(shí)候,你可能還不太了解程序的內(nèi)部運(yùn)作。一些可能有助于代碼覆蓋率的工具和技術(shù)包括Pai Mei、Valgrind、DynamoRIO和DTrace。

模糊測試框架

目前市面上有許多框架可以讓你創(chuàng)建Fuzzer,而不必從頭開始造。下面列出了這些框架:

Radamsa

Radamsa被設(shè)計(jì)為易于使用和靈活。它試圖對各種輸入類型進(jìn)行 "公正的工作",并包含一些不同的模糊算法進(jìn)行突變。

Sulley

Sulley提供了一個(gè)全面的生成框架,允許結(jié)構(gòu)化數(shù)據(jù)被表示為基于生成的模糊處理。它還包含幫助記錄測試用例和檢測崩潰的組件。

Peach

Peach框架可以對文件格式和網(wǎng)絡(luò)協(xié)議進(jìn)行智能模糊測試。它可以執(zhí)行基于生成和突變的模糊測試,并包含幫助建立模型和監(jiān)控目標(biāo)的組件。

SPIKE

SPIKE是一個(gè)網(wǎng)絡(luò)協(xié)議Fuzzer。它需要用戶熟悉掌握C語言,并被設(shè)計(jì)為在Linux上運(yùn)行。

Grinder

Grinder是一個(gè)網(wǎng)絡(luò)瀏覽器Fuzzer,它還具有幫助管理大量崩潰的功能。

NodeFuzz

NodeFuzz是一個(gè)基于node.js的網(wǎng)絡(luò)瀏覽器線束,它包括儀器模塊,可以從客戶端獲得更多信息。

AFL

AFL是一個(gè)灰盒式的模糊測試工具,利用編譯在目標(biāo)代碼中的儀器。AFL最初是為Linux中的C和C++程序編寫的,后來被分叉以支持Windows、Java和.Net。

往期推薦

接口測試框架開發(fā)實(shí)踐4:HTTP方法封裝

接口測試框架開發(fā)實(shí)踐3:用例管理模塊

經(jīng)驗(yàn)分享|測試工程師轉(zhuǎn)型測試開發(fā)歷程

接口測試框架開發(fā)實(shí)踐5:配置文件讀取

接口測試框架開發(fā)實(shí)踐2:接口自動(dòng)化測試框架設(shè)計(jì)思路

接口自動(dòng)化測試框架實(shí)踐1:接口測試概述

Pytest系列(7)-數(shù)據(jù)驅(qū)動(dòng)測試DDT

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123260.html

相關(guān)文章

  • 一個(gè) 16年畢業(yè)生所經(jīng)歷的 PHP 面試

    摘要:正確做法是給加索引,還有聯(lián)合索引,并不能避免全表掃描。 前言:有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報(bào)三連 有心的同學(xué)應(yīng)該會(huì)看到我這個(gè)noteBook下面的其它知識,希望對你們有些許幫助。 本文地址 時(shí)間點(diǎn):2017-11 一個(gè)16年畢業(yè)生所經(jīng)歷的php面試 一、什么是面試 二、面試準(zhǔn)備 1. 問:什么時(shí)候開始準(zhǔn)備? 2. 問:怎么準(zhǔn)備? 三、面試...

    dabai 評論0 收藏0
  • 35歲以后依然被公司搶著要?4面字節(jié)跳動(dòng),完虐面試年薪70w,圖形化app開發(fā)工具

    摘要:面試后面試后及時(shí)總結(jié),有可能下一個(gè)面試官會(huì)問你同樣的問題。同時(shí)面試官也對我的未來技術(shù)發(fā)展提出了很多建議??偟膩碚f,四面的氛圍并沒有想象得那么嚴(yán)肅,面試官也說面試得很愉快。 ...

    XGBCCC 評論0 收藏0
  • Java開發(fā) 大廠面試整理

    摘要:用戶態(tài)不能干擾內(nèi)核態(tài)所以指令就有兩種特權(quán)指令和非特權(quán)指令不同的狀態(tài)對應(yīng)不同的指令。非特權(quán)指令所有程序均可直接使用。用戶態(tài)常態(tài)目態(tài)執(zhí)行非特權(quán)指令。 這是我今年從三月份開始,主要的大廠面試經(jīng)過,有些企業(yè)面試的還沒來得及整理,可能有些沒有帶答案就發(fā)出來了,還請各位先思考如果是你怎么回答面試官?這篇文章會(huì)持續(xù)更新,請各位持續(xù)關(guān)注,希望對你有所幫助! 面試清單 平安產(chǎn)險(xiǎn) 飛豬 上汽大通 浩鯨科...

    Scorpion 評論0 收藏0
  • 廣州三本找Java實(shí)習(xí)經(jīng)歷

    摘要:廣州三本大三在讀,在廣州找實(shí)習(xí)。這篇文章其實(shí)主要是記錄一下自己的面試經(jīng)歷,希望大家看完之后能有所了解進(jìn)入中小公司究竟需要什么水平。時(shí)間復(fù)雜度盡量低一些使用快排的,將給出的隨機(jī)數(shù)做基準(zhǔn)值返回的坐標(biāo)就是了。 前言 只有光頭才能變強(qiáng) 這陣子跑去面試Java實(shí)習(xí)生啦~~~我來簡單介紹一下背景吧。 廣州三本大三在讀,在廣州找實(shí)習(xí)。大學(xué)開始接觸編程,一個(gè)非常平庸的人。 在學(xué)習(xí)編程時(shí),跟我類似的人應(yīng)...

    enali 評論0 收藏0
  • 假如我是面試,我會(huì)這樣虐你

    摘要:又是金三銀四的時(shí)候,我希望這份面試題能夠祝你一臂之力自我和項(xiàng)目相關(guān)自我介紹你覺得自己的優(yōu)點(diǎn)是你覺得自己有啥缺點(diǎn)你有哪些你為什么要離開上家公司你上家公司在,我們公司在,離這么遠(yuǎn)為什么要選擇我們這里上家公司的同事和領(lǐng)導(dǎo)是怎么評價(jià)你的介紹下你的上 又是金三銀四的時(shí)候,我希望這份面試題能夠祝你一臂之力! 自我和項(xiàng)目相關(guān) 1、自我介紹 2、你覺得自己的優(yōu)點(diǎn)是?你覺得自己有啥缺點(diǎn)? 3、你有哪些 ...

    Benedict Evans 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<