回覆列表
  • 1 # 大番薯傑食

    我也碰到過,但我個人覺得這種方式不好。手寫? 大括號就把你寫懵逼,而且通常不能一次寫好,怎麼改啊? 所以我認為,紙上寫實現思路還差不多。

  • 2 # Amber833

    如果面試官,我希望透過多種手段包括考試來考核,但是如果我是面試者,手寫程式碼就意味著我不會來這家公司,就算我寫了,也只是對應聘的尊重而已。

    手寫程式碼是驗證程式碼硬實力的手段之一,但是也體現了公司的文化是很封閉的。而我工作的時候是需要網路的,需要工具的,需要除錯的,我還需要一個開放的工作環境。你可以說大牛隻需要記事本,但是現在用牛耕地的真的不多,再厲害的老牛也比不上機械化的效率,沒必要為了體現自己力氣大而放棄效率,程式設計還有很多方面需要做,需求分析、專案整體規劃、架構設計等等。

    總的來說,我認為面試涉及程式碼一塊的部分可以用“虛擬碼”說一說就好,能講好思路和技術點就可以了。

  • 3 # 小碼農薛堯

    一般企業面試的話,手寫程式碼一般不會寫業務邏輯,一般的都會是寫一些演算法,一些演算法他是考慮你個人技術基礎是否紮實,所以這個我覺得很合理,但是他如果寫的是業務中的某一個功能,我覺得那個是為難你,這個我覺得不提倡。

    一般有些人面試的話是問一些手寫的程式碼,基本上它是以演算法為基礎,基本上問一些排序排序的實現,某個排序冒泡呀,還是快速排序之類的。或者寫一些設計模式,按照自己的想法寫一些設計模式,這樣我覺得是考察一個基本程式設計師的基礎是否紮實,是否瞭解一些程式設計基礎。

    這是自己的個人理解,但是現實中遇到手寫程式碼的次數還是很多的,但是沒有具體的業務邏輯,是某一種演算法,或者是設計模式。

  • 4 # 程式猿剪影

    如果能手寫程式碼,要編譯器幹什麼,乾脆大家寫程式碼的時候直接在紙上寫。這樣的企業不去也罷。同事面試的時候,也需要根據面試者的經驗和能力進行分別對待,不要不管什麼人都是一樣的題,一樣的問題,很有損公司在面試者的地位。

    個人覺得,優秀的人完全可以從幾個問題摸清楚這個人的能力。這沒必要弄一些沒有技術含量的,寫一個單例模式,寫一個排序。一個人的能力不在於這點,要看他分析問題的思路。個人覺得,思路決定一個人的程式設計能力。

    有的人來說,是主要考察個人的演算法。演算法在大專案確實很重要,但是一定要根據自己的實際需求或者企業需求著重對待。別你開發一個茅草屋的專案,你卻拿著人家面試大資料級別p8級別的題考人家。

    總之一句話,我們時刻提升自己的能力尤其是我們做網際網路這個行業的,遇到不適合,不合適的我們找自己合適的就行了,不喜歡手寫程式碼就直接走人就行,既然你想手寫程式碼,那就代表你此刻還是需要這份工作的。

    根據實際情況出發。

  • 5 # IT人劉俊明

    程式設計師在面試過程中被要求透過手寫程式碼來完成一個邏輯的實現是比較常見的做法,不同級別的程式設計師會面臨不同的要求,比如研發級程式設計師通常要面臨演算法的設計和實現過程,而應用級程式設計師則需要面臨功能模組的實現。為了減輕面試者的面試壓力,在手寫程式碼的過程中是可以寫“虛擬碼”的,尤其是關於演算法設計和實現的過程,主要考察的是面試者的設計能力和設計思路。

    通常來說,在面試程式設計師的過程中,有兩種情況可能會面臨手寫程式碼的考察,一種是面試初級程式設計師開發崗位,另一種是面試研發級程式設計師崗位。面試其他崗位的程式設計師,通常會把關注的重點放在專案經驗和知識結構上,考察手寫程式碼的情況並不常見,意義也並不大。

    面試初級程式設計師時,透過手寫程式碼的考察,能夠直觀的呈現出面試者對於程式語言的熟練程度,同時也能透過程式碼結構考察面試者對於程式碼的管理能力和是否有一個良好的程式設計習慣。通常情況下,面試中對於初級程式設計師的手寫程式碼要求並不會很複雜,通常只是完成一個小功能的實現,比如根據已知資料結構完成業務邏輯資料的管理等等。

    面試研發級程式設計師時,透過手寫程式碼能夠考察出程式設計師是否掌握專業的設計能力,最常見的就是透過演算法的設計和實現來解決某個具體的問題,比如最常見的分類問題等。比如面試大資料分析方向的研發級程式設計師時,通常會給出基於機器學習方面的題目。比較常見的做法是給出一個數據分析場景,然後面試者完成演算法的設計(選擇)和實現過程,從而考察面試者的研發能力。

    對於程式設計師來說,透過手寫程式碼的過程能比較直觀的呈現出自己的動手能力和對程式語言及演算法的熟練程度,是一個全面呈現個人能力的好機會。

  • 6 # IT程式設計分享

    手寫程式碼在面試中要求很正常,能夠檢查程式設計師的hands-on能力,在工作中並不是要求大家手寫,在平時大家多認真review自己的程式碼,基本就能夠符合面試要求。

    面試也可以寫虛擬碼。寫虛擬碼的習慣也是很重要的,面試這麼要求大家肯定是有用意的,大家認真對待,不會了也沒關係,不要惱羞成怒進行牴觸。

  • 7 # 大學生程式設計指南

    在軟體行業混了十幾年,參加過很多技術面試,作為面試官也面試了很多面試者,正常的來講技術類的面試主要分為三種,筆試,面試,上機寫程式碼。現在就這幾種面試的方式根據從業的經驗做一些總結。

    筆試

    筆試主要針對應屆生,當然一些規模大的企業面試的流程比較繁瑣,一般第一關都是先讓做筆試,筆試的題目一般比較簡單,大部分針對剛畢業的學生看看基本的理論能夠了解多少,這種筆試的模式倒是難倒了很多人,很多程式設計師因為做一個專業方向做的時間比較長了,很多相關的程式設計知識已經忘記的差不多了,所以見到這種筆試直接放棄,也不能這部分人不能從事軟體開發,起碼不能作為優秀程式設計師的標準對待,所以在平時程式設計過程中要注重基本功的複習,畢竟基礎理論知識是一個程式設計師的必備基本功。

    曾經參加過一個面試,有一個一塊去的老程式設計師,看到還有筆試直接放棄,選擇直接走人了,然後面試接待人員問為啥不去答題,這位直接回答到,年齡大了對這些基礎已經忘的差不多了,所以選擇不做了,說完就離開了面試公司。在現實中很多程式設計師離開百度就不會自己寫程式碼了,大部分的時間從網上搜上一段程式碼修改成自己能用的程式碼模組,離開了網路很多人就不會寫程式碼了。

    面試

    很多軟體公司基本上直接不用筆試,很多人覺得直接聊上幾句話就能識別出一個人能力,答案是肯定的,面試主要從兩個聊入手,一個程式設計基礎細節,一個是專案經驗細節,因為程式設計細節太多,所以基本上幾個細節下來一個人的水平能力如何就能非常清晰的識別出來,所以有些公司乾脆筆試都不用了,起碼一半的公司直接透過面試就能搞定。

    很多剛入行的程式設計師會背誦一些常見的面試理論和麵試題目,這種應付筆試還是有點用,但在面試天馬行空的問題中,這種準備幾乎就是徒勞的。偶然碰上幾個問題,但大部分來講需要有真材實料。

    手寫程式碼也是面試中發生的,有的時候問到一個問題的時候,為了表達更加準確,直接用程式碼在紙上寫出來,這種情況在面試中也是很常見的事情。

    上機寫程式碼

    谷歌招聘技術人員都會直接採用這種模式,這種方式直接就能看出程式碼的直接編寫能力,可以非常直觀的看到程式碼質量以及編寫程式碼的一些習慣,這種方式在國內很多技術公司也在採用,主要這種方式在實際操作過程中,相比前兩種操作難度更大一些。雖然只看程式碼能力有點偏,但可以結合面試這樣就能從總體上考察出一個人的綜合能力,能夠獲取更加客觀的評價。

    在行業內也發生這種事情,發現公司有上機寫程式碼的測試,直接選擇放棄,這也是一類的程式設計師的典型,程式碼都不是發自內心的寫的,大多都是從網上直接摘錄修改的,真要直接在電腦上敲程式碼什麼思路也沒有,典型的基本功不過硬的表現。

    作為一個面試人員,只要去面試就要遵守面試公司的規則,即使真的寫不出來,也沒有必要當面拒絕,發現自己的缺點後續努力去修補,坦然面對自己的不足,不是什麼丟人的事情。

  • 8 # bylii泡麵

    經歷過手寫,面試官並不會把你的手寫程式碼實際的拿到機器上去編譯執行,然後是否報錯,但都會看一下,然後問你解決思路,為什麼你這麼寫,就夠了

  • 9 # 冰玉210659147

    手寫程式碼,我個人是不推薦的。我們小公司也有一套筆試題,是從一個大公司拿來的,因為題出的實在太爛,我又沒時間出題,所以基本上不會看答題的情況。

    但是我會問一下其中幾個加密演算法分類的選擇題,剛好那個題問題在一頁,選項在另一頁。直接問原題,紙上的答案正確,又不能現場答對的,我會按流程面試完,然後直接淘汰。

    筆試題可以出,但是儘量不要出一些自己都看不懂的,我司的筆試題就是這樣。程式設計題也應該以虛擬碼為主。

    增加筆試的環節,目前看來是很有必要的,現在很多的培訓機構會包裝一些沒有從業經驗的人出來,簡歷、面試題都會有準備。一般技術面試官水平通常比較高,而且時間也比較寶貴,用來應付這些人,是很大的一種浪費。

  • 10 # 會點程式碼的大叔

    回答這個問題之前,我先講講自己學習程式設計的經歷:

    02年剛上大學,那時候因為家庭條件的原因無法擁有一臺電腦,所以上大學之後才有機會學習和使用電腦;那時候還叫“微機房”,我們計算機專業有專門的“上機課”。

    大一的時候就有C語言課程,剛接觸程式設計的我對其很感興趣,每天下課去機房敲程式碼?別鬧了,那時候上機一小時好幾塊錢呢,而且機房的機器簡直是“一機難求”(很多同學打遊戲和上網),所以那時候我都是先在本子上把程式碼寫下來,等有機會上機的時候,再一個字母一個字母地敲到電腦裡面,執行除錯。

    等成功了之後,把程式碼儲存到軟盤上(那時候一張軟盤五塊錢,可以存1.44M的東西)。

    說到面試的時候手寫程式碼,我認為是行得通的;我們現在面試的時候,也是要求手寫程式碼的;但是手寫程式碼到什麼程度,我覺得這個是可以商榷的。

    手寫出來的程式碼必須很精確,精確到輸入到電腦裡面,不需要除錯就可以正確執行?我覺得完全沒有這個必要。

    能大概把功能實現,寫出解決問題的思路,我覺得就可以了;要是能寫出來整個程式分幾個方法,講清楚每個方法的功能,如何呼叫組合就更好了;如果能用恰到好處的用到一些設計模式,那更棒棒噠。

    有時候,只要是有方案和思路,就算是寫虛擬碼也是沒有問題的。

  • 11 # 萬國頌哥

    當你真的能透過手寫程式碼來實現面試的問題,那麼證明你是一個有料的程式設計師,程式碼已經熟記在你的心裡。如果你不使用透過編譯器的提示,能實打實完全手寫出來的人,那麼邏輯思維和記憶力非常牛掰的了。這樣的人不用,你要用哪個呢?能背出一篇好文章和能寫出一篇文章的人,你覺得你要用哪一個划算呢?反正我覺得是背出來是一種能力,能寫出來更是一種強能力。活學活用,臨場發揮出來的就是有水平的人。

  • 12 # 積年程式開發老妖精

    行的通啊,怎麼會行不通呢?手寫程式碼考驗的是你的思維能力,看你能不能根據現有的問題或需求透過自己的思考很快的給出妥帖的程式碼實現。這很考驗一個人的思維分析能力。如果你真能手撕程式碼且邏輯上大概能行的通,老妖認為你有大機率能入職這家公司。

  • 中秋節和大豐收的關聯?
  • 聖鬥士中,迪斯馬斯克究竟比馬尼戈特差在哪裡?