欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Java和Python的算法數(shù)據(jù)結構面試問題

系統(tǒng) 1838 0

有很多計算機科學專業(yè)畢業(yè)生和程序員在Uber和Netflix等公司申請編程,編碼和軟件開發(fā)職位。亞馬遜,微軟和谷歌等大型組織; 和Infosys或Luxsoft等基于服務的公司。但是,當你申請這些公司的工作時,他們中的許多人都不知道會有什么樣的編程面試問題。

在本文中,我將分享一些常見問題的算法和數(shù)據(jù)結構面試問題,這些問題來自不同層次經(jīng)驗的程序員,從剛從大學畢業(yè)的人到具有一到兩年經(jīng)驗的程序員。

編碼訪談主要包括數(shù)據(jù)結構和基于算法的問題以及一些邏輯問題,例如“如何在不使用臨時變量的情況下交換兩個整數(shù)?”

我認為將編碼面試問題劃分到不同的主題領域是有幫助的。我在訪談中經(jīng)常看到的主題領域是數(shù)組,鏈表,字符串,二叉樹,以及來自算法的問題(例如字符串算法,排序算法,如quicksort或radix排序,以及其他雜項),這就是什么你會在這篇文章中找到。

我們無法保證會向您詢問這些編碼或數(shù)據(jù)結構和算法問題,但它們會讓您充分了解在實際編程工作面試中可能遇到的各種問題。

一旦你完成了這些問題,你應該有足夠的信心參加任何面試。

順便說一下,如果你沒有足夠的基本數(shù)據(jù)結構和算法知識,或者你沒有多年觸及它們,那么嘗試這些問題毫無意義。

在這種情況下,你應該采用像算法和數(shù)據(jù)結構第1部分和第2部分這樣的好的課程作者Robert Horvick來刷新你的DS和算法技能。

Java和Python的算法數(shù)據(jù)結構面試問題_第1張圖片

前50個算法和編程面試問題

沒有任何進一步的麻煩,這里是我的編程工作面試中一些最常見的編碼面試問題列表。我還為Java中的大多數(shù)問題共享了解決方案,但如果您是Python開發(fā)人員,則可以檢查Python中的邏輯和實現(xiàn)。你也可以谷歌找到大多數(shù)問題的答案,因為它們很常見。

1.數(shù)組編碼面試問題

數(shù)組是最基本的數(shù)據(jù)結構,它將元素存儲在連續(xù)的內(nèi)存位置。這也是采訪者的一個主要話題,你會在任何編碼訪談中聽到很多關于數(shù)組的問題,例如反轉(zhuǎn)數(shù)組,排序數(shù)組或搜索數(shù)組中的元素。

數(shù)組數(shù)據(jù)結構的主要優(yōu)點是,如果您知道索引,它會提供快速的O(1)搜索,但是從數(shù)組中添加和刪除元素的速度很慢,因為一旦創(chuàng)建了數(shù)組,就無法更改數(shù)組的大小。

要創(chuàng)建更短或更長的數(shù)組,您需要創(chuàng)建一個新數(shù)組并將所有元素從舊復制到新。

解決基于數(shù)組的問題的關鍵是熟悉 數(shù)組數(shù)據(jù)結構以及基本編程結構,如循環(huán),遞歸和基本運算符。

以下是一些流行的基于數(shù)組的編碼面試問題供您練習:

  1. 如何在給定的1到100的整數(shù)數(shù)組中找到缺失的數(shù)字?(解決方案)
  2. 如何在給定的整數(shù)數(shù)組上找到重復的數(shù)字?(解決方案)
  3. 如何在未排序的整數(shù)數(shù)組中找到最大和最小的數(shù)字?(解決方案)
  4. 你如何找到所有對的整數(shù)數(shù)組,其總和等于給定的數(shù)字?(解決方案)
  5. 如果數(shù)組包含多個重復項,如何在數(shù)組中找到重復的數(shù)字?(解決方案)
  6. 如何從Java中的給定數(shù)組中刪除重復項?(解決方案)
  7. 如何使用quicksort算法對整數(shù)數(shù)組進行排序?(解決方案)
  8. 如何從陣列中刪除重復項?(解決方案)
  9. 你如何在Java中反轉(zhuǎn)數(shù)組?(解決方案)
  10. 如何在不使用任何庫的情況下從數(shù)組中刪除重復項?(解決方案)

這些問題不僅可以幫助您提高解決問題的能力,還可以提高您對陣列數(shù)據(jù)結構的了解。

如果您需要基于陣列的更高級的問題,那么您還可以看到編碼面試訓練營:算法+數(shù)據(jù)結構,算法的訓練營風格課程,專門用于面試準備,以獲得谷歌,微軟,蘋果等科技巨頭的工作,F(xiàn)acebook等。

而且,如果您覺得10個問題還不夠,而且您需要更多練習,那么您還可以查看30個陣列問題列表。

2.鏈接列表編程面試問題

甲鏈表是另一個常見的數(shù)據(jù)結構,它補充了陣列。與數(shù)組類似,它也是線性數(shù)據(jù)結構,并以線性方式存儲元素。

但是,與數(shù)組不同,它不會將它們存儲在連續(xù)的位置; 相反,它們分散在內(nèi)存中,并使用節(jié)點相互連接。

鏈表是節(jié)點列表,其中每個節(jié)點包含存儲的值和下一個節(jié)點的地址。

由于這種結構,在鏈表中添加和刪除元素很容易,因為您只需要更改鏈接而不是創(chuàng)建數(shù)組,但搜索很困難,并且通常需要花費O(n)時間來查找元素。單鏈表。

此文章提供了在陣列和鏈表數(shù)據(jù)結構之間的區(qū)別的詳細信息。

它還有各種類似鏈表,可以讓你在一個方向上移動(向前或向后); 雙向鏈表,允許您雙向移動(向前和向后); 最后,圓形鏈表,形成一個圓圈。

為了解決基于鏈表的問題,良好的遞歸知識很重要,因為鏈表是遞歸數(shù)據(jù)結構。

如果從鏈接列表中獲取一個節(jié)點,則剩余的數(shù)據(jù)結構仍然是鏈接列表,因此,許多鏈接列表問題具有比迭代解決方案更簡單的遞歸解決方案。

以下是一些最常見和最受歡迎的鏈接列表面試問題及其解決方案:

  1. 如何在一次通過中找到單鏈表的中間元素?(解決方案)
  2. 如何檢查給定鏈表是否包含循環(huán)?你如何找到循環(huán)的起始節(jié)點?(解決方案)
  3. 你如何扭轉(zhuǎn)鏈表?(解決方案)
  4. 如何在沒有遞歸的情況下反轉(zhuǎn)單鏈表?(解決方案)
  5. 如何在未排序的鏈表中刪除重復節(jié)點?(解決方案)
  6. 你如何找到單鏈表的長度?(解決方案)
  7. 如何在單鏈表中找到最后的第三個節(jié)點?(解決方案)
  8. 如何使用Stack找到兩個鏈表的總和?(解決方案)

這些問題將幫助您提高解決問題的能力,并提高您對鏈表數(shù)據(jù)結構的了解。

如果您在解決這些鏈表編碼問題時遇到問題,那么我建議您通過數(shù)據(jù)結構和算法:深入使用Java課程來刷新您的數(shù)據(jù)結構和算法技能。

您還可以查看30個鏈接列表面試問題列表, 了解更多練習題。

3.字符串編碼面試問題

與數(shù)組和鏈表數(shù)據(jù)結構一起,字符串是編程工作訪談的另一個熱門話題。我從未參加過編碼面試,其中沒有提出基于字符串的問題。

字符串的一個好處是,如果你知道數(shù)組,你可以很容易地解決基于字符串的問題,因為字符串只是一個字符數(shù)組。

因此,通過求解基于數(shù)組的編碼問題所學到的所有技術也可用于解決字符串編程問題。

以下是編程求職面試中常見的字符串編碼問題列表:

  1. 如何從字符串中打印重復的字符?(解決方案)
  2. 你如何檢查兩個字符串是否是彼此的字謎?(解決方案)
  3. 如何從字符串中打印第一個不重復的字符?(解決方案)
  4. 如何使用遞歸來反轉(zhuǎn)給定的字符串?(解決方案)
  5. 如何檢查字符串是否只包含數(shù)字?(解決方案)
  6. 如何在字符串中找到重復的字符?(解決方案)
  7. 你如何計算給定字符串中的元音和輔音?(解決方案)
  8. 如何計算字符串中給定字符的出現(xiàn)次數(shù)?(解決方案)
  9. 你如何找到字符串的所有排列?(解決方案)
  10. 如何在不使用任何庫方法的情況下反轉(zhuǎn)給定句子中的單詞?(解決方案)
  11. 你如何檢查兩個字符串是否相互旋轉(zhuǎn)?(解決方案)
  12. 你如何檢查給定的字符串是否是回文?(解決方案)

這些問題有助于提高您對字符串作為數(shù)據(jù)結構的了解。如果您可以在沒有任何幫助的情況下解決所有這些字符串問題,那么您的狀態(tài)良好

對于更高級的問題,我建議你解決Steven Skiena在算法設計手冊中給出的問題,這是一本有最棘手的算法問題的書。

如果您需要更多練習,這里是另一個20個字符串編碼問題的列表 。

4.二叉樹編碼面試問題

到目前為止,我們只研究了線性數(shù)據(jù)結構,但現(xiàn)實世界中的所有信息都無法以線性方式表示,而這正是樹數(shù)據(jù)結構所幫助的地方。

樹數(shù)據(jù)結構是一種數(shù)據(jù)結構,允許您以分層方式存儲數(shù)據(jù)。根據(jù)您存儲數(shù)據(jù)的方式,有不同類型的樹,例如二叉樹,其中每個節(jié)點最多具有兩個子節(jié)點。

除了它的近親 二叉搜索樹,它也是最流行的樹數(shù)據(jù)結構之一。因此,您會發(fā)現(xiàn)很多基于它們的問題,例如如何遍歷它們,計算節(jié)點,查找深度,以及檢查它們是否平衡。

解決二叉樹問題的一個關鍵點是對理論的強烈了解,例如二叉樹的大小或深度,葉子是什么,節(jié)點是什么,以及對流行的遍歷算法的理解,例如前,后和有序遍歷。

以下是軟件工程師或開發(fā)人員訪談中流行的基于二叉樹的編碼問題列表:

  1. 如何實現(xiàn)二叉搜索樹?(解決方案)
  2. 如何在給定的二叉樹中執(zhí)行前序遍歷?(解決方案)
  3. 如何在沒有遞歸的情況下按預先遍歷給定的二叉樹?(解決方案)
  4. 如何在給定的二叉樹中執(zhí)行有序遍歷?(解決方案)
  5. 如何在沒有遞歸的情況下使用inorder遍歷打印給定二叉樹的所有節(jié)點?(解決方案)
  6. 你如何實現(xiàn)一個后序遍歷算法?(解決方案)
  7. 如何在沒有遞歸的情況下遍歷后序遍歷中的二叉樹?(解決方案)
  8. 如何打印二叉搜索樹的所有葉子?(解決方案)
  9. 如何計算給定二叉樹中的多個葉節(jié)點?(解決方案)
  10. 如何在給定數(shù)組中執(zhí)行二進制搜索?(解決方案)

如果你覺得你對二叉樹編碼的理解不充分并且你不能自己解決這些問題,我建議你回過頭來選擇一個好的數(shù)據(jù)結構和算法課程,如從0到1:Java中的數(shù)據(jù)結構和算法。

如果您需要更多建議,請參閱我的有用數(shù)據(jù)結構算法書籍和課程列表。

5.雜項編碼面試問題

除了基于數(shù)據(jù)結構的問題之外,大多數(shù)編程工作訪談還會詢問算法,設計,位操作和基于邏輯的一般問題,我將在本節(jié)中對其進行描述。

練習這些概念很重要,因為有時在實際的面試中解決這些概念很棘手。

之前練習它們不僅讓你熟悉它們,而且讓你更有信心向面試官解釋解決方案。

  1. 如何實現(xiàn)冒泡排序算法?(解決方案)
  2. 如何實現(xiàn)迭代快速排序算法?(解決方案)
  3. 你如何實現(xiàn)插入排序算法?(解決方案)
  4. 如何實現(xiàn)合并排序算法?(解決方案)
  5. 如何實現(xiàn)桶排序算法?(解決方案)
  6. 你如何實現(xiàn)計數(shù)排序算法?(解決方案)
  7. 如何實現(xiàn)基數(shù)排序算法?(解決方案)
  8. 如何在不使用第三個變量的情況下交換兩個數(shù)字?(解決方案)
  9. 如何檢查兩個矩形是否相互重疊?(解決方案)
  10. 你如何設計自動售貨機?(解決方案)

如果你需要更多這樣的編碼問題,你可以從像Cracking The Code Interview這樣的書籍中獲取幫助,由Gayle Laakmann McDowell提供189+編程問題和解決方案。一本好書,可以在短時間內(nèi)編寫求職面試。

順便說一下,你在實踐中解決的問題越多,你的準備就越好。因此,如果您認為50還不夠而且您需要更多,那么請查看這些額外的50個編程問題,以便進行電話訪談以及這些書籍和課程,以便進行更全面的準備。

現(xiàn)在,您已準備好進行編碼面試

這些是一些最常見的問題,可以幫助您在面試中做得很好。

我也在我的博客上分享了很多這些問題,所以如果你真的很感興趣,你可以隨時去那里搜索它們。

這些常見的編碼,數(shù)據(jù)結構和算法問題是您在任何級別的編程工作中成功訪問任何公司(大或小)時需要了解的問題。

如果您正在尋找2018年的編程或軟件開發(fā)工作,您可以使用此編碼問題列表開始準備。

此列表提供了準備的好主題,也有助于評估您的準備工作,以找出您的優(yōu)勢和劣勢領域。

熟悉數(shù)據(jù)結構和算法對于成功編寫訪談非常重要,而且您應該將注意力集中在大部分時間。

進一步學習:

  • 數(shù)據(jù)結構和算法:使用Java進行深度挖掘
  • 10本書準備技術規(guī)劃/編碼工作面試
  • 每個程序員都應閱讀的10本算法書籍
  • 面向Java開發(fā)人員的五大數(shù)據(jù)結構和算法書籍
  • 從0到1:Java中的數(shù)據(jù)結構和算法
  • 數(shù)據(jù)結構和算法分析 - 工作面試
  • 程序員100多個數(shù)據(jù)結構和算法問題
  • 20程序員的系統(tǒng)設計面試問題
  • 其實做為一個開發(fā)者,有一個學習的氛圍跟一個交流圈子特別重要這里我推薦一個Java交流群664389243,不管你是小白還是大牛歡迎入駐,大家一起交流成長。

更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人免费 | 欧洲成人午夜免费大片 | 亚洲精品国产自在久久出水 | 日本在线亚州精品视频在线 | 91网站在线看 | 久久99成人 | 久久精品一区二区三区四区 | 久久久久久久久久久9精品视频 | 欧美网站在线看 | 亚洲综合视频网 | 亚洲午夜成激人情在线影院 | 91九色免费视频 | 99视频在线观看精品 | 国产欧美一区二区三区在线看 | 久久亚洲国产精品 | 久久精品免费 | 欧美成人免费在线视频 | 亚洲国产欧美在线 | 国产精品综合网 | 久久久久久久久99精品 | 精品久久网 | 六月激情综合 | www.alijizz.info| 欧美成在线视频 | 久久精品在这里 | 国产午夜亚洲精品 | 亚洲第1页 | 亚洲精品欧美综合四区 | 国产二区视频 | 那里有毛片看 | 天堂色网站 | 国产成人精品一区二区仙踪林 | 久久久久久99精品 | 精品中文字幕一区二区 | 免费国产成人高清视频网站 | 99久在线观看 | 一级高清视频www | 欧美日韩在线视频播放 | 久久亚洲国产精品五月天婷 | 日本娇小videos高潮 | 野外性xxxxfrxxxx|