導航:首頁 > 程序命令 > 程序員面試

程序員面試

發布時間:2022-01-15 21:01:04

程序員的面試問題(希望全面點)

很多用這個. 1. 問:怎樣用 Win95 的記事本 (Notepad) 來編輯 java源程序? 答:記得存檔時擴展名要加上".java",文件類型改成:「所有的文件(*.*)」。 2. 問:到底 Java 是如何傳遞參數的?是by value或by reference? 答:All parameters (values of primitive types, and values that are references to objects) are passed by value [JLS sect 8.4.1]。根據以上 Java規格文件的說法, 所有參數應該都是傳值的(by value)。但實際上, 實際經驗卻告訴我們所有 Java 的對象都是傳址的(by reference)。因此我們可以這樣解釋: 基本類型(如int, float, char等)是by value,而所謂「對象」(Object)則是by value of reference to object。 3. 問:String這個類型的class為何定義成final? 答: 主要是為了「效率」 和 「安全性」 的緣故。若 String允許被繼承, 由於它的高度被使用率, 可能會降低程序的性能,所以String被定義成final。 4. 問:finalizers和C++ 的 destructors有何差異? 答:Java內部具有「內存使用回收」 的機制, 雖然它也提供了類似 (C++ 的) destructors的 finalize(),每個對象都可以使用這個方法 method,但必須冒著破壞原先回收機制的危險。所以建議盡量避免使用finalize(),不妨考慮多使用 null 及 dispose() 來釋出資源會好一些。 5. 問:繼承了一個class叫做 Frotz,編譯器卻給我「No constuctor Frotz() in the class」這樣的錯誤提示,為什麼呢? 答:記住每當您定義了一個 class的constructor,除非您一開始就去call 這個constructor,否則 Java 會自動引入superclass原先不含參數的 constructor, 如果superclass的 constructor都是有參數的,那麼問題中的錯誤提示便出現了。 解決的方法很簡單, 找一找 API文件,加上正確的參數就得了。 6. 問:怎樣讓char類型的東西轉換成int類型? 答: char c = 'A'; int i = c; //反過來只要作強制類型轉換就行了 c = (char) I; 7. 問:我的applet原先好好的, 一放到web server就會有問題,為什麼? 答:一般來說,從以下方向試試: 確定class文件的格式沒錯——已經編譯過,也沒有損壞的情形; 確定所有用到的class文件放到web server上,少一個都不行; 確定所有的文件名和class名稱一致,特別檢查大小寫有無差錯; 如果程序中用到package,web server上的目錄就要當心了。譬如您在class中宣告了一個叫COM.foo.util的package,那麼web server的applet codebase目錄底下就非得有 COM/foo/util這個子目錄不可。(注意目錄名稱也有大小寫之分); web server上的文件檔案應該事先設定好。(尤其是search,read和execute許可權) 8. 問:怎樣在 Applet中用某個圖形塗滿整個背景? 答:在背景建立 Panel 或 Canvas, 然後用圖形填滿它。 9. 問:怎樣在 Applet 中建立自己的菜單(MenuBar/Menu)? 答:首先在Applet的init() 方法中建立Frame instance, 然後將Menus, Menubar都加上去即可。 (setMenuBar() 是 Frame下的方法)或者,找到Applet上層的Frame後依法炮製。 Container parent = getParent(); while (! (parent instanceof Frame) ) parent = parent.getParent(); Frame theFrame = (Frame) parent; 注意:第二個方法在Mac或某些browsers上並不可行。 如果您使用的是JDK 1.1,也可以考慮使用popup menu,這樣就不必理會Frame的問題了。 10. 怎樣比較兩個類型為String的字元串? 答:在兩個對象之間使用 "==",會將「兩個對象是否有同一reference」的結果傳回。也就是說, 這等同於「兩個對象是否擁有同一地址 (address)」,或者「兩個對象物件是否為同一對象」。如果您的意思是判斷兩個字元串的內容是否相同,那麼應該使用以下的方法才對: if (s1.equals(s2) ) or if (s1.equalsIgnoreCase(s2) ) or if (s1.startsWith(s2) ) or if (s1.endsWith(s2) ) or if (s1.regionMatches(s1_offset, s2, s2_offset, length) ) or if (s1.compareTo(s2) <0) 11. 怎樣將浮點數(float)相加 ? Float 好像沒有辦法? 答:我猜想您的程式大概寫成這樣: Float One; Float Two; Float Hard = One + Two; 請注意 float 和 Float 是不同的,前者是 Java 基本類型之一, 而後者卻是class。您應該將源代碼改為: float One; float Two; float Hard = One + Two; 或 Float One = new Float(1.0); Float Two = new Float(2.0); Float Hard = new Float(One.floatValue() + Two.floatValue());

㈡ 程序員面試題

第一種推論:

A、假設有1條病狗,病狗的主人會看到其他狗都沒有病,那麼就知道自己的狗有病,所以第一天晚上就會有槍響。因為沒有槍響,說明病狗數大於1。

B、假設有2條病狗,病狗的主人會看到有1條病狗,因為第一天沒有聽到槍響,是病狗數大於1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天也每有槍響,說明病狗數大於2。

由此推理,如果第三天槍響,則有3條病狗。

第二種推論

1 如果為1,第一天那條狗必死,因為狗主人沒看到病狗,但病狗存在。

2 若為2,令病狗主人為a,b。 a看到一條病狗,b也看到一條病狗,但a看到b的病狗沒死故知狗數不為1,而其他人沒病狗,所以自己的狗必為病狗,故開槍;而b的想法與a一樣,故也開槍。

由此,為2時,第一天看後2條狗必死。

3 若為3條,令狗主人為a,b,c。 a第一天看到2條病狗,若a設自己的不是病狗,由推理2,第二天看時,那2條狗沒死,故狗數肯定不是2,而其他人沒病狗,所以自己的狗必為病狗,故開槍;而b和c的想法與a一樣,故也開槍。

由此,為3時,第二天看後3條狗必死。

4 若為4條,令狗主人為a,b,c,d。a第一天看到3條病狗,若a設自己的不是病狗,由推理3,第三天看時,那3條狗沒死,故狗數肯定不是3,而其他人沒病狗,所以自己的狗必為病狗,故開槍;而b和c,d的想法與a一樣,故也開槍。

由此,為4時,第三天看後4條狗必死。

5 餘下即為遞推了,由年n-1推出n。

答案:n為4。第四天看時,狗已死了,但是在第三天死的,故答案是3條。

㈢ 程序員的面試問題

如果是剛畢業,那麼肯定有自我介紹,然後就是你做過什麼樣的項目,還有就是基礎知識,應該筆試是跑不掉的,不過也有的公司沒筆試,總之,要有自信,敢說,針對畢業生,公司看的也就是你的可造就性和可培養性了!

㈣ 如何面試一名程序員

如何面試程序員
一、提問之前的准備
首先,最重要的是,你自己一開始就應該想清楚:
1. 需要新員工完成什麼樣的任務?
2. 怎樣的人能完成這樣的任務?
3. 哪些途徑和方法可以發現這樣的人?
只有明確這些根本性的問題,才能正確高效地完成面試。
二、提問的原則
假定你對上一節的三個問題,已經有了清晰的想法,那麼接下來就可以設計如何提問了。
有一些提問的原則,是你應該遵循的:
每一個面試問題都有明確的目的。你不僅自己了解,還能向其他面試官解釋清楚。
多提一些開放性(Open-ended)的問題,而不是那種用Yes/No就可以回答的問題。這樣做使你有機會與面試者展開討論,並且提出後續的問題,盡可能多地了解對方。
不要問宗教、家庭、健康、個人隱私等方面的問題。
不要問太復雜的問題。因為面試者沒有太多思考時間,所以無法周全地回答,你也就無從判斷他的能力了。
三、考察專業能力
為了確認面試者是勝任的,你可以問一些與職位相關的專業方面的問題。(不過通常來說,一次面試不足以看出一個人的專業能力。)
比如,你的招聘職位是系統管理員,你可以問"如何快速地在50台機器上部署Linux?"(提示:正確答案不是刻錄50張安裝光碟。)
另外,你還應該向面試者了解他的過去,因為過去是未來的最好預測依據。不過,提問的重點不要僅僅是他過去的成果,更要關注在當時的環境中,他是如何決策和實施的。
四、考察綜合素質
因為人是會發展的,所以某種程度上,面試者的綜合素質要比他的專業能力更重要。
所以,具體的技術問題(如何調用API、什麼是設計模式、編程語言的語法等等)可以少問一些,更應該關注面試者的事業心、對工作的熱情、進取心、自律能力、毅力等方面。
下面是一些典型問題:
Why did you get into development?
你為什麼開發軟體?
How many technical books did you read in the past year?
去年你讀了幾本技術書籍?
What was your favorite technical book in the past year? What did you learn from it?
去年你最喜歡的技術書籍是哪本?你從中學到了什麼?
What websites do you read regularly, related to development?
平時你經常訪問哪些編程類網站?
Do you maintain any open-source projects?
你有自己的開源項目嗎?
Do you code in your spare-time?
業余時間你編程嗎?
Do you love programming, or do you do it for the money?
對於你來說,編程是一種愛好,還是一種謀生手段?
Have you accomplished anything important in your career yet? Do you want to?
你的職業生涯之中有什麼重要的成就?它是你主導的嗎?
What would make you feel that you have done something important?
什麼事情會讓你很有成就感?
五、考察理性思維
某些情況下,你可能需要了解面試者的分析判斷能力,看他能否全面地思考問題、客觀地評價自己。
那麼,你可以依次提出這樣三個問題:
What's your favorite programming language? Why?
你最喜歡的編程語言是哪種?為什麼?
If you could add one feature to your favorite language, what would it be? Why?
如果允許你為這種語言加一種功能,你會加什麼功能?為什麼?
If you could remove one feature from it, what would it be? Why?
如果允許你取消一種功能,會是什麼功能?為什麼?
這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。
你還可以把這些問題,套用在其他東西上面,比如操作系統、文字編輯器等等。

㈤ 程序員面試時需要帶哪些東西

1、把自己簡歷上的東西記清楚,尤其是簡歷上有水分的,不要在面試的時候露餡啦;
2、找一些面試方面的資料,就是面試官會問到的技術上和為人處世方面的問題,就是要對面試官問的一些問題要做的心中有數。這些資料可以上網上找,也可以問面試的那家公司的人(如果你認識的話)。
3、還有就是面試的時候,最好謙虛點、有禮貌點,給面試官一個好的印象。但同時,也要有自信,對自己懂的知識,可以稍微誇張點。

㈥ 程序員面試需要准備什麼

眼下的程序員招聘網站始終擺脫不了面試這一不靠譜的環節,唯獨看到一家「瞬聘網」,它做的是程序員無簡歷無面試的招聘模式,不妨去看看。

㈦ 程序員面試常見問題有哪些

你有沒有做過什麼項目,這個問題要回答得簡明扼要,直接簡潔地描述你參與過的項目和在裡面扮演的角色。面試官是想看看你是不是真的參與項目了,你對項目的把控度、你在項目里擔當的角色、對項目類型以及你對項目應用的了解。通過你的回答,有經驗的面試官能看的出你對這個行業的認識。

㈧ 程序員面試要准備些什麼東西

面試前的准備
簡歷
1. 千萬別給自己挖坑
在面試的時候,面試官都會針對簡歷上技術能力、工作經歷、項目經驗等提出一些細節上的問題,所以你寫下的都些東西必須是真實,並且是非常了解。
2. 要有辨識度
通常一個職位可能收到的簡歷比較多,很多時候,你的簡歷甚至根本沒被HR看到。那麼,怎樣讓自己的簡歷脫穎而出呢?首先,簡歷要有「辨識度」,要讓面試官看完這個簡歷,就很想見見這個人。
3. 面試前最好進行一個「模擬面試」
其實自己在製作簡歷的時候,就像寫程序一樣自己是很難發現bug的,因此在面試前最好找朋友、老師或同學幫你來一場「模擬面試」,這樣也許會發現一些意想不到的問題。
4. 針對不同的公司要對簡歷進行微調
比如對方是個做電商。而你恰好做過類似項目,就可以將該部分的項目介紹著重突出以下,比如排列到最前面。
充分准備相關的專業知識
可以在網上收集一些相關的面試題,有時面試官也可能會照著網上的內容來問,所以網上一些比較熱門的題目也可以關注一些,然後對照自己的經驗組織成自己的語言。
項目經驗
項目的研發背景、整體業務流程、開發周期、負責的模塊、技術實現細節、技術亮點等。自己做過的每個項目都要整理清楚。
了解熱門前沿技術
比如你面試的是 iOS 開發崗位,除了 OC 你還能聊聊最新版本的 Swift;比如現在微信小程序開發又火起來了,你也在關注和學習,甚至能解決面試官的一些問題。了解這些熱門的前沿技術絕對會成為你面試時的加分點。

㈨ 程序員面試時需要注意哪些

1 說得太少
尤其是那些開放式的問題,如「請介紹下你自己」或「請講一下你曾經解決過的復雜問題」。面試官會通過你對這些技術和非技術問題的回答來評估你的經驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經驗、成就和技能給企業帶來的價值,那麼你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的准備,學會推銷自己。
2 說得太多
不斷地說,不斷地說,卻並沒有什麼實質性的內容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那麼面試官就會懷疑你在工作時的表現是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細解釋。
解釋也是一門藝術,關鍵是確定重點,如果需要的話再深入到細節。當聊到業務的時候,就應該從業務的角度看問題,不要涉及任何技術術語。學會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那麼這一點也不是問題。
3 回答不出一些必知的基本技術問題
面試不是技術競賽,不是看誰答對的問題多,但是有一些「必須知道」的核心Java和Web基礎知識,你不能不知。例如,對於Java開發人員
1)不知道「==」和equals之間的區別。
2)不知道equals和hashCode方法被隱式調用時的約定。
3)不能解釋曾投入精力過的應用程序的高層體系結構。
4)不知道OO的概念和設計原則。
5)不能很好地處理多線程。
6)不知道如何在HTTP客戶端與伺服器端之間保持狀態。
7)不知道SQL。

4 既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發人員,你應該根據自己的經驗水平,來針對給定的問題和情況編寫代碼。如果碰到一些比較棘手的問題,那麼即使你還沒有解決方案,也應該將你的思路講給面試官聽。當然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應該說明你將如何試著去解決問題的方法。
5 糟糕的禮儀和態度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過於緊張,沒有提問,顯示不出對這份職業的興趣,「我什麼都知道」的高傲態度,貶低你的現在和以前的僱主,遇到技術問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發生爭執,隨波逐流而沒有自己的看法,過於呆板,撒謊,嗓門太大,無法成為良好的傾聽者,等等。
提示:面試官要找的不是技術明星,而是實實在在具備了合適的技術技能、軟技能、端正的態度以及能為企業獲取利益、全面的專業人才。因此,不妨先研究下想要應聘的機構,深入了解其工作規范以調整回答問題時的方向和重點。將每一場面試都當作免費的培訓課程,積極調整心態,不但能達到一個雙贏的局面,還可以減少緊張的情緒,從而獲得更好的表現。這樣即使你並沒有得到那份工作,也可以由此學到點什麼,獲得進步

㈩ 程序員面試該注意什麼

閑聊
面試過程中,背景往往是初始話題,通過閑聊,他們可以得知你對編碼的認知、你的個人能力或領導力、溝通問題、技術經驗等。因此,你可以通過舉出能表明自己以上能力的例子,凸顯出自己熱愛技術、自信陽光的特性,這是基本能給面試官留下不錯的印象。
溝通
涉及到編碼問題的時候,溝通是關鍵。一個在工作時需要幫助卻能和人正確溝通的求職者比那些能輕松解決問題的求職者甚至更好。充分了解面試官出的問題到底是什麼類型,如果你開始編寫代碼,並且面試官並不想多說廢話,切忌高談闊論。讓人感覺你有團隊精神,敢於表達自己的想法,如果是是在解決不了的問題那就不要裝作自己很懂,凡是要先思考再做決定。
擺脫困境
有時候你會陷入僵局,放鬆,盡量巧妙地尋求解決辦法,不要浪費時間在腦袋裡思考,動手操作會更加形象;為解決問題尋找簡單版本,寫一個簡潔低效的解決方案,然後對其進行優化;與面試官多交流方法技巧,展示出自己的思路;要察言觀色,偶爾觀察面試官的神態或許對解決或有幫助;考慮空間和運行時的界限。
寫下你的思路想法
憑空地想很容易自我矛盾,把你的想法寫下來,然後再去考慮細節;調用幫助函數,繼續前進,不要擔心語法問題,為自己預備足夠的空間,用以在代碼行之間添加代碼或筆記;最後寫一個重頭檢查的標志,不要擔心你寫的for循環是否應該有「<」或「<=」。在代碼的最後畫個勾選提醒自己最後再檢查一遍。先按自己的思路走;使用描述性的變數名,標准化很有意義。
完成之後的整理
瀏覽解決方案,當程序運行時記錄下變數保存的值——如果你只是記在腦子里,不會讓你贏得任何加分,這有助於你發現bug和消除面試官的困惑;尋找差一錯誤,測試邊緣情況,措施包括空集合,單項目集合或負數;不要做惹人厭煩的事。
實踐
最後,運行實踐問題是沒有捷徑的。好記性不如爛筆頭,對自己誠實,用筆寫可能一開始會讓你覺得別扭,但是如果你現在就能克服這個難題,那麼當面試的時候,你就不會覺得笨拙和不順手了。准備充分,放輕松,技術在手,終能收獲一席之地。

閱讀全文

與程序員面試相關的資料

熱點內容
程序員不晉升能幹到多少歲 瀏覽:376
谷歌推廣用什麼伺服器 瀏覽:626
和平精英安卓怎麼登蘋果系統 瀏覽:144
除法的心演算法 瀏覽:301
音樂源碼下載 瀏覽:716
編程拖放 瀏覽:41
linux卸載tomcat 瀏覽:875
手機時間如何校正到伺服器 瀏覽:81
創造與魔法瞬移源碼百度 瀏覽:883
反射優化java 瀏覽:876
硬體加密播放盒子 瀏覽:923
xp點擊文件夾選項沒反應 瀏覽:537
蘋果不顯示桌面的app怎麼刪除 瀏覽:864
安卓手機怎麼換國際服 瀏覽:415
神獸領域安卓怎麼下載 瀏覽:250
單片機交通燈ad原理圖 瀏覽:413
多功能解壓磁鐵筆 瀏覽:80
少兒編程火箭升空 瀏覽:401
蘭斯10游戲解壓碼 瀏覽:42
手機proxy伺服器地址 瀏覽:449