0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程面試的9大技巧

h1654155971.7688 ? 來源:21ic電子網 ? 2019-12-09 15:34 ? 次閱讀

作為程序員,在面試過程中都需要經歷一次又一次編程的考驗,這其中有何技巧可言?又該如何通關成功拿到心儀的 offer 呢?

關于編程面試中遇到的困難和算法問題,我們已經討論了很多,但是首先在面試環(huán)境中讓自己保持舒適本身就是一種技巧。 除了提出正確的解決方案之外,在每次編程面試中,你還需要做一些額外的事情。

要求澄清問題。

運行你的算法并用測試用例進行驗證。

主動提供算法的時間復雜度和空間復雜度信息。

很多時候,應聘者會立即全神貫注于編寫代碼,而忽略了做上面的一件或多件事情,這會對他們的面試結果產生負面影響。面試官肯定會發(fā)掘出應聘者編寫正確算法的能力,但他們也會基于溝通能力和驗證能力等其他技能來評估應聘者。要求澄清問題 在開始編寫代碼之前,一個好的應聘者總是會問清楚面試官提出的問題。這有三個主要目的:

它縮小了問題的范圍。例如,也許你會問面試官,“這個數組中的所有整數都是正的嗎?”。如果答案是肯定的,那么你就不必考慮整個負整數空間,這可能使問題更容易解決。

它向面試官表明你正在積極考慮邊緣案例。面試是為了證明你有能力進行批判性和周密的思考,同樣也是為了證明你的原始編碼能力。

它允許你和面試官就問題的理解達成一致。因為有些時候,我給了應聘者一個問題,他們提出的解決方案卻稍有偏差。所以在開始之前,確保你和面試官對你要解決的問題的理解一致。

驗證算法 在面試過程中,僅僅在黑板上寫好代碼并稱之為“完成”是不夠的。一個高質量的應聘者總是會用邊緣案例和例子逐步檢查他們的算法以找出任何錯誤。這是幾乎每個面試官都希望看到的關鍵步驟。 在驗證算法時,盡可能周密。下面是一些提示:

在算法的每個步驟,寫出存儲在任何數據結構或變量中的內容。

如果執(zhí)行for-或while循環(huán),請確保運行算法直到完成,以捕獲任何“off-by-one”錯誤或終止錯誤。

選擇non-trivial的測試用例??赡苁窃撍惴ㄟm用于特定的輸入集,但不適用于更復雜的輸入集。嘗試提出破壞算法的測試用例。

理想情況下,你寫的算法沒有任何缺陷,但現實中更可能發(fā)生的是,你會發(fā)現一些小錯誤。通過修改算法來修復這些錯誤,并再次運行幾個測試用例,將能很好地反映出你的代碼調試能力。 提供算法的時間復雜度和空間復雜度 幾乎每個面試官都會關心算法的時間復雜度和空間復雜度。主動提供這些信息,而不是等待他們詢問,可以向面試官表明你熟悉這些概念,并且可以輕松計算這些信息。 需要牢記的一些事情:

當開始考慮一個問題時,試著想想絕對的最好和最壞情形時的復雜度是什么。例如,要在未排序的列表中查找某個元素,我們知道必須至少查看列表中的每個元素一次,所以這個算法的復雜度至少是O(n)。

試著用“壓力測試”測算一下你的算法的復雜度,尤其是當它依賴于兩個或更多的變量時。例如,如果你的算法執(zhí)行次數是O(n*k):如果k非常小會發(fā)生什么?當k接近n時會發(fā)生什么?有時,你會發(fā)現一個算法對于特定的n和k值是最優(yōu)的,另一個算法對于不同的n和k值是最優(yōu)的。

對于內存限制,如果你確實需要跟蹤數據結構中的所有值,請嘗試解釋。此外,還要認識到一個事實,即不同編碼語言中的某些函數可能會使用額外的內存。一個很好的例子是在Python中進行列表切片,這會創(chuàng)建一個新的列表(可能會產生另一個O(n)內存使用)。

編碼面試是很困難的,精通算法和編碼問題并不能保證總是能夠通過面試。幸運的是,有了這三個技巧,你可以更好地了解如何進行編程面試。祝你好運! 你正在面試編程工作嗎,還是只是喜歡有趣的編程問題?查看我們的時事通訊-Daily Coding Problem,你就能每天在你的收件箱中收到一個關于編程的問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4580

    瀏覽量

    92373
  • 編程
    +關注

    關注

    88

    文章

    3544

    瀏覽量

    93499
  • 代碼
    +關注

    關注

    30

    文章

    4700

    瀏覽量

    68117

原文標題:9 大技巧拯救你的編程面試!

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux應用編程的基本概念

    Linux應用編程涉及到在Linux環(huán)境下開發(fā)和運行應用程序的一系列概念。以下是一些涵蓋Linux應用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?116次閱讀

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業(yè)自動化領域中不可或缺的知識。 一、PLC編程語言概述 PLC編程語言主要包括梯形圖(L
    的頭像 發(fā)表于 10-21 16:56 ?134次閱讀

    工業(yè)機器人的四種編程(示教編程、離線編程、自增強現實編程編程)剖析!

    當前機器人廣泛應用于焊接、裝配、搬運、噴漆及打磨等領域,任務的復雜程度不斷增加,而用戶對產品的質量、效率的追求越來越高。在這種形式下,機器人的編程方式、編程效率和質量顯得越來越重要。降低編程的難度
    的頭像 發(fā)表于 08-30 12:14 ?1040次閱讀
    工業(yè)機器人的四種<b class='flag-5'>編程</b>(示教<b class='flag-5'>編程</b>、離線<b class='flag-5'>編程</b>、自增強現實<b class='flag-5'>編程</b>主<b class='flag-5'>編程</b>)剖析!

    面試嵌入式工作,會被問什么問題?

    面試嵌入式工作時,面試官可能會從多個方面考察應聘者的知識、技能和經驗。以下是一些常見的嵌入式工作面試問題,這些問題涵蓋了基礎知識、專業(yè)技能、項目經驗和個人能力等方面
    的頭像 發(fā)表于 07-17 09:26 ?1602次閱讀
    <b class='flag-5'>面試</b>嵌入式工作,會被問什么問題?

    PLC的編程方式及編程語言

    在工業(yè)自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強大的控制功能和靈活的編程方式而得到了廣泛應用。PLC的編程方式和編程語言是
    的頭像 發(fā)表于 06-27 14:08 ?508次閱讀

    編程電源如何編程

    編程電源如何編程? 可編程電源是一種可以調節(jié)輸出電壓和電流的電源設備,廣泛應用于電子設備測試、研發(fā)和生產等領域。通過編程,用戶可以根據需要設置電源的輸出參數,實現自動化測試和控制。本
    的頭像 發(fā)表于 06-10 15:24 ?1055次閱讀

    數控銑床絕對編程和相對編程指令是

    數控銑床編程是數控加工技術中的重要組成部分,它涉及到數控銑床的控制和操作。在數控銑床編程中,絕對編程和相對編程是兩種常用的編程方式。本文將詳
    的頭像 發(fā)表于 06-07 11:12 ?946次閱讀

    fpga用什么語言編程

    FPGA(現場可編程門陣列)的編程主要使用硬件描述語言(HDL),其中最常用的是Verilog HDL和VHDL。
    的頭像 發(fā)表于 03-14 18:17 ?2440次閱讀

    fpga編程與單片機編程的區(qū)別

    FPGA編程與單片機編程的主要區(qū)別體現在以下幾個方面。
    的頭像 發(fā)表于 03-14 17:16 ?848次閱讀

    MAVLink在應用編程中的編程原理和思路

    嵌入式開發(fā)過程中,UART、 CAN、 USB等通信基本離不開通信協(xié)議。 下面給大家分享一種通信協(xié)議(MAVLink)在應用編程中的編程原理和思路。
    發(fā)表于 03-08 12:45 ?747次閱讀
    MAVLink在應用<b class='flag-5'>編程</b>中的<b class='flag-5'>編程</b>原理和思路

    TCP協(xié)議面試常問知識點總結

    TCP 作為傳輸層的協(xié)議,是一個IT工程師素養(yǎng)的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。
    的頭像 發(fā)表于 12-15 10:38 ?721次閱讀
    TCP協(xié)議<b class='flag-5'>面試</b>常問知識點總結

    海納AI獲數千萬A輪融資,繼續(xù)領跑AI面試測評市場

    數千萬融資加持AI面試賽道 海納AI(Hina.com)近日已完成數千萬元A輪融資,本輪融資由聯想創(chuàng)投獨家投資。這是2023年中國AI面試測評賽道公布的首筆融資,也是最近的AI 2.0大潮中,國內
    的頭像 發(fā)表于 12-01 10:38 ?812次閱讀

    硬件工程師經典面試題詳解

    硬件工程師經典面試題詳解
    的頭像 發(fā)表于 11-20 15:08 ?1297次閱讀
    硬件工程師經典<b class='flag-5'>面試</b>題詳解

    硬件射頻類面試注意事項

    射頻電路有微波和普通的頻率區(qū)別。 微波電路一般會問一些微波電路和實際理論的差距,差距的原因等等。 射頻電路一般會問設計思路是什么,設計的重點是什么等。 技術面之后就是綜合面試了 綜合面試就是場面話,對工作的規(guī)劃,工作地點的選擇,怎么看待行業(yè)等等了。
    的頭像 發(fā)表于 11-20 09:43 ?570次閱讀
    硬件射頻類<b class='flag-5'>面試</b>注意事項

    用Codeblocks編程報錯是什么原因導致的?

    今天用Codeblocks 編程,出現一個錯誤,之前沒有見過,求大神指點,是什么原因導致的。 c:winavrbin..libgccavr4.3.3........avrlibavr5crtm644pa.o:(.init9+0x0)||undefined referenc
    發(fā)表于 10-31 07:43