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

程序員面試筆試

發布時間:2023-02-14 16:10:27

java面試的時候一般考什麼

Java程序員應聘一般要經過筆試和面試。作為一個技術人員,特別是剛出道的,筆試的成績是比較重要。以下是我經過幾次筆試總結的一些經驗教訓。

一般來說,試題會分為三個部分,Java基礎、資料庫基礎和綜合題。

首先是Java基礎,這個很簡單,也就是考考你對Java語言本身的理解,包括語法,類庫的使用等。有選擇題,也會有寫代碼題。寫代碼的時候認真仔細就是了。基礎題答案一般都比較死,所以盡量不要錯。在這,出一道我遇到的題考考大家,Java編程:把American,Japan,China,France,Brazil按英文字母排序。說說思路就行了:)

其次是資料庫。准確的說,考的不是資料庫,而是SQL語句。一般題型是,給兩三個表,然後讓你根據需求寫SQL。最普通的就是學生表、選課表和成績表。要掌握的就是連接查詢,還有就是一些函數(建表、表操作等就不說了哈)。其實這些都相當簡單,但是往往被新手忽略。我就遭過,因為有半年沒寫過SQL了,連接查詢搞忘完了,有兩次筆試都空起,結果可想而知。這些是必備技術,千萬不能空起啊!

然後是綜合題。之所以說是綜合題,是因為包含的內容比較多,一般都是主觀題。這里,人家是想看看你對Java高級技術以及周邊技術的了解程度和運用能力,說白了,就是考概念和考應用題。這里說的Java高級技術,也就是J2EE架構中的技術,這些不會的話,人家是不得要你的。如果你會一些流行的技術框架,那就更好了。所謂Java周邊技術,包括HTTP,HTML,XML,UML,JavaScript,CSS等,要求一般不是很高,要了解,比如讓你用HTML寫個表單你要會。關於剛才提到的技術或者框架,希望要了解其工作的原理和機制,一般要考,比如讓你說說Struts的MVC。關於應用題,可能出一道網路應用來考。

以上就是我筆試的經驗,一般是這樣,不過我也遇到過變態的。一次筆試,就被徹底甩翻,C/C++、資料庫、Java技術、Shell編程、網路協議、Unix、軟體工程全部上了。

如果筆試做的好,那就成功大半了,不過不要輕視面試哦!

關於面試技巧,網上太多了,我就不多說。作為技術人員,雖說以技術為主,但溝通能力同樣重要,面試時要主動,表達要清楚,要微笑,要誠實,要穩重。

關於價錢,說實話,我們中國的程序員是世界上最好的程序員,我們拿最少的錢,干最多的活。剛出道的程序員,在成都,一般來說,試用不會超過2000,多半是1500左右,做好被資本家剝削的心理准備吧

⑵ 夏普程序員筆試題和面試題答案目

試題1:

void test1()

{

char string[10];

char* str1 = "0123456789";

strcpy( string, str1 );

}

試題2:

void test2()

{

char string[10], str1[10];

int i;

for(i=0; i<10; i++)

{

str1[i] = 'a';

}

strcpy( string, str1 );

}

試題3:

void test3(char* str1)

{

char string[10];

if( strlen( str1 ) <= 10 )

{

strcpy( string, str1 );

}

}

解答:

試題1字元串str1需要11個位元組才能存放下(包括末尾的’\0’),而string只有10個位元組的空間,strcpy會導致數組越界;

對試題2,如果面試者指出字元數組str1不能在數組內結束可以給3分;如果面試者指出strcpy(string, str1)調用使得從str1內存起復制到string內存起所復制的位元組數具有不確定性可以給7分,在此基礎上指出庫函數strcpy工作方式的給10分;

對試題3,if(strlen(str1) <= 10)應改為if(strlen(str1) < 10),因為strlen的結果未統計’\0’所佔用的1個位元組。

考查對基本功的掌握:

(1)字元串以’\0’結尾;

(2)對數組越界把握的敏感度;

(3)庫函數strcpy的工作方式,

(4)對strlen的掌握,它沒有包括字元串末尾的'\0'。

試題4:

void GetMemory( char *p )

{

p = (char *) malloc( 100 );

}

void Test( void )

{

char *str = NULL;

GetMemory( str );

strcpy( str, "hello world" );

printf( str );

}

解答:

試題4傳入中GetMemory( char *p )函數的形參為字元串指針,在函數內部修改形參並不能真正的改變傳入形參的值,執行完

char *str = NULL;

GetMemory( str );

後的str仍然為NULL;

試題5:

char *GetMemory( void )

{

char p[] = "hello world";

return p;

}

void Test( void )

{

char *str = NULL;

str = GetMemory();

printf( str );

}

試題5中

char p[] = "hello world";

return p;

的p[]數組為函數內的局部自動變數,在函數返回後,內存已經被釋放。這是許多程序員常犯的錯誤,其根源在於不理解變數的生存期。

試題6:

void GetMemory( char **p, int num )

{

*p = (char *) malloc( num );

}

void Test( void )

{

char *str = NULL;

GetMemory( &str, 100 );

strcpy( str, "hello" );

printf( str );

}

試題6的GetMemory避免了試題4的問題,傳入GetMemory的參數為字元串指針的指針,但是在GetMemory中執行申請內存及賦值語句

*p = (char *) malloc( num );

後未判斷內存是否申請成功,應加上:

if ( *p == NULL )

{

...//進行申請內存失敗處理

}

試題7:

void Test( void )

{

char *str = (char *) malloc( 100 );

strcpy( str, "hello" );

free( str );

... //省略的其它語句

}

試題7存在與試題6同樣的問題,在執行

char *str = (char *) malloc(100);

後未進行內存是否申請成功的判斷;另外,在free(str)後未置str為空,導致可能變成一個“野”指針,應加上:

str = NULL;

試題6的Test函數中也未對malloc的內存進行釋放。

剖析:

試題4~7考查面試者對內存操作的理解程度,基本功扎實的面試者一般都能正確的回答其中50~60的錯誤。但是要完全解答正確,卻也絕非易事。

對內存操作的考查主要集中在:

(1)指針的理解;

(2)變數的生存期及作用范圍;

(3)良好的動態內存申請和釋放習慣。

再看看下面的一段程序有什麼錯誤:

swap( int* p1,int* p2 )

{

int *p;

*p = *p1;

*p1 = *p2;

*p2 = *p;

}

在swap函數中,p是一個“野”指針,有可能指向系統區,導致程序運行的崩潰。在VC++中DEBUG運行時提示錯誤“Access Violation”。該程序應該改為:

swap( int* p1,int* p2 )

{

int p;

p = *p1;

*p1 = *p2;

*p2 = p;

}

預處理器(Preprocessor)

1. 用預處理指令#define 聲明一個常數,用以表明1年中有多少秒(忽略閏年問題)

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

2. 寫一個“標准”宏MIN,這個宏輸入兩個參數並返回較小的一個。

#define MIN(A,B) ((A) <= (B)?(A) : (B)) 1 2

⑶ 只有程序員面試要考試嗎

不是的
前端面試不一定都需要筆試。
因為像一些比較技術比較牛的前端開發工程師,它是很難接受筆試,面試的,因為筆試的內容一般都是一些基礎方面的內容但是這些內容在實際應用過程中是很少用到的,所以一般筆試是很不容易通過的,但是他的技術能力是非常牛的,所以他是不會接受筆試的,有些公司也不一定需要筆試。

⑷ 程序員面試一般是先筆試還是先面試,如果面試通過了還會有別的嘛

一般是先筆試,然後面試,面試最少會有兩次技術面,一般是3次甚至更多也有,最後如果通過會有hr面,一般沒啥大的性格人品問題就過了,

⑸ java程序員筆試面試都考什麼呀

1)面向對象的基礎知識
2)java寫一段程序,通常是排序或者計算後輸出的
3)關於web開發的基礎知識,比如什麼是jsp,servlet與jsp的區別,session與cookie的區別
4)對常用的開源框架的了解,如struts,spring,hibernate,ibatis等

⑹ 如何看待程序員面試讓上機做編程題,這樣的公司多嗎

從事軟體開發多年,上機寫代碼這種考查模式在國外用的比較多,很多國內的公司也在學習這種方式,這種方式能直接看出寫代碼的能力,但對上機做編程題目這種事情很多成熟的程序員覺得是一種侮辱,有一些程序員看到有筆試直接就選擇走人了,這些東西在面試之前應該有溝通,事情不會變得這么被動,因為對於很多有能力的程序員,能夠請到面試已經非常不容易了,能力越強脾氣越大。

直接上機做編程測試能力的公司不是很多,從事軟體開發十幾年主要經歷了四家公司,面試的時候主要靠面談為主,因為編程行業能力的高低通過交談就能了解差不多,只需要根據簡歷上寫的項目進行細節溝通,如果真的做過幾句話就能看出大概的水平,所以很多公司壓根不搞什麼筆試或者上機寫代碼的事情,編程這個職業主要靠時間的積累,並且在積累中不斷完善自己的知識體系,慢慢提高自己的認知。

一個程序員如何提升自己的能力水平,對於初學者來講首先是學習好一門編程語言,開始學習階段覺得編程語言就是天了,好像是學會了編程語言就能做任何的東西了,隨著編程語法的學習完畢就開始嘗試做一些題目,結果發現距離語法真的非常遙遠,所以有很多的初學者有一種感概明明在課堂什麼都明白了,結果到真正自己實踐的時候什麼都想不起來,這是初學者必然的經歷,編程本身就是一種不斷磨練編程思想的過程,編程語言屬於在輔助類基礎技能,沒有輔助就不會寫代碼,編程設計思想再牛也不可能實現,兩者是相輔相成的作用,編程思想裡麵包含著仙姑經驗的積累。

很多人覺得很奇怪有些公司也不進行面試也不讓上機寫代碼,就是通過不到一個小時的閑聊就能把一個人的水平能力和工資水平給定位下來,通過面試就能檢測出編程思想以及編程基礎,編程基礎類的考察只需要問幾個簡單的語法問題就能做個大概的檢測,編程思想就是完全的編程意識以及編程經驗的積累,所以一些企業在招聘的時候明確寫著就相關開發經驗的人優先,企業招聘的目的就是希望要的人在短時間內能夠上崗直接切入到項目開發中去,整體來看是不是需要上機寫代碼測試完全看每個公司的技術文化了。

有些技術類的公司對於程序員的基本功要求特別嚴格,有個同事在第一家技術公司的時候,部門技術經理特別關注程序員的基本語法,只要是簡單的代碼語法錯誤,就能到部門的黑板通報,開始實施階段很多人上了黑板,後來隨著時間的推移上去的人越來越少了,同事說到自己上了兩次黑板都是因為在使用指針的時候沒有初始化導致,到今天還是記憶尤新,如果在技術生涯的初期能夠經歷過這種企業是一個技術人的幸運了,越是嚴格要求的領導或者公司越是有利於技術人員 的成長,至於在面試的時候要不要上機這個就看每個公司的技術文化了,一般注重代碼基礎的領導會引領這個事情,希望能幫到你。

這是一個正常的流程,我覺得有時候還是有必要的考驗一下面試者的。

以前這種面試實際上是很平常的,但是發展到現在越來越多的人對這樣的面試很反感,大概率的原因是因為很多人更多的是在搬代碼,並且搬的很成功,而真正注意寫代碼的人反而越來越少。
筆試和上機編程好不好?
我覺得挺好的,這樣可以刷下去很多劃水的人,有的人,寫代碼的能力並不強,但是搬代碼的技術一流,隨著技術越來越晚上,一些解決各種bug的網站越來越流行,現在更多的畢業生為了高工資,變成了搬代碼的人,他們能解決問題嗎?能,但是是他們自己的解決的嗎?不是,更多的是他們通過搜索的手段,問度娘,問谷歌,漸漸的形成了一個可以解決問題的方案,雖然問題解決了,但是等遇到一個需要創新開發的時候,他們就完了,基本上沒有了自我的思維。

筆試和上機可以有效的防止這類人進入公司,實際上也是一種不錯的手段。

這樣的公司多不多?
據我所致,目前來講上機編程的公司不是很多,畢竟,每個公司所使用的編程軟體不同,有的公司製作的軟體也比較具有保密性,沒辦法直接考程序員的實際能力,只能通過一些演算法測試,或者是什麼測試,來簡單的排除掉那些搬運的人。

所以上機測試的效果並不是特別好,一般的公司都會選擇用筆試的方式。

我遇到過不少筆試的,上機的從來沒有遇到過。

我一個同事之前換工作的時候倒是遇到過,按他所說,這樣的測試並沒有什麼效果,畢竟測試題出得很淺,太難的問題,基本上短時間內很難解決,也不會有那麼長的面試時間。

其實,在我看來,這個上機面試並沒有那麼大的用途,畢竟測試不到太多的東西,還不如看他自己寫過的代碼來的更快。至於這樣的公司多不多,真沒辦法說,畢竟沒有統計過,根據我的經驗,我覺得不會太多。

筆試的我見過,但是上機的沒有過。

1.筆試可以有
這么說嘛,其實簡單的筆試的話肯定是可以的。因為筆試的話可以讓招聘者知道你大概的能力定位在什麼位置?一些邏輯編程可以測試你的邏輯能力。尤其是在it這個行業,邏輯能力是非常重要的。

如果說你是一個已經有工作經驗的人。其實筆試就沒有那麼重要了。這時候看中的一般差不多就是你曾經的項目經歷。

如果說讓你做一些項目上的,比如說項目架構了這種的,你可以拒絕回答。因為我之前就有聽到過說招聘產品經理,讓他去設計一個產品的。結果這個公司就是通過一直招聘產品經理。然後讓產品經理去設計產品相關的功能,最後再把這些所有求職者的產品相關的思維組合到一起。

雖然說這總公司是很少的,但是也不排除是有隻通過這種方式來滿足產品需要的。

所以解釋的時候可以大概的寫一個思路代碼的流程,但是可以不用全部都寫。

2.上機測試
我覺得這個確切的來說是有一點過分的。像這種上機考試的話,肯定他是需要一個比較完整的項目。但是這種項目誰都不知道是他們公司需要,還是讓他僅僅是為了做測試。所以像這種事情完全可以直接拒絕。

在這里大概說明一下。 找工作是一個雙向的過程 ,如果說是你無法接受這個公司相關的制度,或者說是相關的流程。其實你可以趁早放棄這種公司的,不然的話即使是你筆試面試都過啦,你到公司之後也會因為你自己的價值觀跟企業的文化匹配不到一起。遲早還是要辭職的,所以你要慎重考慮。

其實面試的時候筆試和機試都是it的正常流程,但是在國內被玩爛了,面試和機試過程中,會有公司內遇到的問題做為面試內容的,也許是個人也許是公司,讓你解決這樣那樣的問題,這樣子的都是垃圾

作為一個老程序員,關於程序員面試的話題,非常有意思,特別有的聊。其實在 IT 界面,有兩個不算公開的秘密,也就是兩個不成文的習慣或者規定吧,關於面試的。

讓老程序員做筆試題是一種侮辱
很多程序員,尤其是有經驗的程序員,去面試的時候,尤其是去小公司面試的時候,如果對方給你出了一套筆試題,很多程序員會說: 我轉頭就走,這是對我經驗水平的侮辱 。

你們是不是感覺很吃驚,還有這種道理?確實是,我有一次去一個創業公司面試,對方給我出了一套筆試題,我做完了,面試完回去跟一些同事聊筆試題的事,他們會驚訝的說:你竟然把筆試題做了?你是有經驗的程序員,不應該經過筆試的,直接面試就行,筆試是一種侮辱。那是我才發現,好多程序員都這么認為的。

但是,我感覺這是一種病態思維,你既然去面試,其實筆試也是面試的一種,你去大公司比如 BAT 這樣的公司的時候,也會有筆試,而且層層面試好幾輪,你都能忍,一些小公司給你出筆試題,你竟然受不了?公司用什麼方式來面試你,是公司的選擇和考量,當然了,面試是一種雙向選擇,如果你感覺是侮辱,當然可以選擇不面了,這是雙方面試的權利。

但是,我感覺筆試是一種正常的流程,跟有沒有經驗沒有關系。有經驗了,你筆試你確定能過么?

很多程序員都不會選擇上機測試
還有一種就是面對上機做題的面試,很多程序員都不喜歡,其實我也不喜歡的,大部分程序員好像遇到上機面試的情況,也是選擇扭頭就走。

其實,我感覺上機測試是可以接受的,但是是有條件的,那就是上機做題,可以做演算法題,這種方式我能接受。

有一次我去面試,他讓我上機做題,竟然跟我說用 Android 寫個什麼功能,什麼模塊,簡直了,這種題怎麼做?直接去實現功能模塊,寫其中的一個點,我都不熟悉需求,也不熟悉功能模塊,上來就寫,怎麼做?沒法弄。我直接就走了。

演算法題屬於比較明確的東西,上機做兩道應該是可以接受的。

你問上機做題的這樣面試的公司多嗎?可以明確地告訴你,不多,我工作這么多年,面試了很多公司,只遇到過兩家。

我是負責我們公司技術面試的,機試環節必不可少。題目不會很難主要是考核程序員的感覺,只有有感覺的程序員才能寫好大程序,這很關鍵。

這主要看做什麼了,我最頭疼的是拿一個構架來靠你函數命令。我都是自己寫數學模型和函數。我哪知道這個構架的函數名?

務實啊,說明人要的是能實乾的程序猿,沒什麼奇怪。面試需求很明確,要會乾的。找領導才找會說的。剛畢業面試的時候遇見過這種機試,程序猿這行算是工科,靠技術吃飯,面試動手實戰是正常的。

支持,不然很多水逼,劃水貨太多了

這樣的公司會存在

基於以下4個原因:

1 面試的人很多,不想花過多的時間去篩選。這樣做題,可以快速過濾一些濫竽充數的人

2 通過合理的上機操作,有針對性地找合適的人,匹配的人也能快速完成上機操作

3 標准,對面試者統一對待,以免主觀原因造成誤判

4 面試者的配合度,一般看到機試,有人就會直接退出。(我遇到這種情況,就會直接走)

以上4個原因,都是較為正式的原因,還有一個主要原因就是能力不行,面試官無法正確篩選簡歷,面試官無法從面試中獲取想要的信息並加以判斷。

基於最後一個原因就是我會選擇直接走的原因,面試官能力不行,表示公司對此招聘的用功不足,該公司沒有能力或沒有意願重視此次招聘。即使入職,收到的待遇不會重視,沒有必要把自己的前景壓在一個不會重視你成果的公司上。

⑺ 為什麼程序員越來越排斥面試時做題

說到程序員面試題目的問題,正常來講越是老程序員越是不怎麼喜歡做些面試題目,更多的老程序員由於長期在一個行業呆著,知識的全面性差些,如果不注重涉獵,在做面試題目的時候,有些很簡單的題目都回答不上來,這是程序員的一個通病,有問題已經習慣於從網路尋找問題的答案,所以直接在沒有網路狀態下有些題目做起來感覺相當的吃力,大部分的程序員都會存在類似的感覺,所以很多老程序員去參加面試的時候,發現有筆試的題目,有的直接就走人。

坦白來講筆試的題目,最初設置的初衷是為了設置門檻,檢查下基本功,對於真正的高手,很難通過一兩個題目就能得出一個人水平的高低,畢竟編程不僅僅是掌握個基本功,還要需要編程思想以及框架思想,這種內在東西主要還是靠真正的技術面試辨別。

這就是很多老程序員有點鄙視筆試的一個很重要的原因,畢竟這只是基本功主要還是編程思想做依靠。

不待見筆試的程序員不見得水平不咋樣,主要覺得靠幾個題目很難辨別出真實水平,從內心還是有一絲鄙視的意思。程序員的差距一方面表現在編程思想,還有很大一部分是基本功,基本功扎實了才能敢於做一些事情,不要為自己的年齡找借口,很多程序員覺得自己都工作好多年了出來找個工作還要做什麼筆試題目,從心理上接受不了,很多時候是膽怯的表現,平時他專注於一個領域的研究,把很多基礎的東西都給忘掉了,內心當然有恐懼感,所以高水平的程序員何懼筆試題目。

⑻ 程序員面試時筆試題沒寫好,是不是一定沒戲演算法題寫錯了,是不是一定沒戲了

不一定。不過如果筆試題成績不高的話,一般在安排面試上,可能順序比較靠後一些。一般情況下,第二輪的面試順序是由第一輪的筆試成績,由高到低安排的。有的時候面試時,面試官可能會對筆試時,面試者在某些題目的回答進行提問。

⑼ 程序員社招為什麼沒有筆試

首先,當前IT行業內進行程序員招聘時,筆試通常只針對實習崗位和初級開發崗位的應聘者,而主力開發(研發)崗位招聘人才時通常只會採用面試的方式,根據不同的崗位特點,有的團隊需要兩輪面試,而有的團隊則需要三輪以上的面試。

由於程序員崗位的特殊性,筆試通常很難能夠為程序員提供一個較好的能力考察場景,通常只能簡單考察一下應聘者的知識結構和對於一些基本演算法的掌握情況,而工作能力的考察通常需要面試官與應聘者通過交流(基於開發場景)來進行初步的判斷,所以目前很多技術團隊在招聘時都只採用面試的方案。
對於程序員來說,如果面試初級崗位(含實習崗位和助理開發崗位),通常對於筆試並不會有抵觸情緒,通過筆試也能夠讓用人單位了解自己的知識結構和技術特點,從而安排適合自己的技術崗位和發展方向。目前不少技術團隊在進行人才招聘時,應聘者完成筆試就會馬上安排面試,此時應聘者會帶著自己的筆試成績參加面試,這個過程往往對於提升面試效率和面試體驗都有比較積極的意義。
對於主力程序員來說,如果已經具有了比較豐富的開發經驗,如果再安排筆試環節,程序員會有兩種感覺,其一是該團隊並不急缺人才,其二是面試團隊不夠專業(面試官中沒有技術專家),這兩個感覺都會讓程序員有一定的顧慮。目前一部分技術團隊在進行人才招聘的時候,會給應聘者一定的自主權,可以越過筆試直接參加面試,這既能夠體現出面試團隊的專業性,同時也能夠打消應聘者的一些顧慮。
我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智慧領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。

⑽ 程序員面試筆試多嗎

不多
程序員考試屬於全國計算機技術與軟體專業技術資格考試(簡稱計算機軟體資格考試)中的一個初級考試。考試不設學歷與資歷條件,也不論年齡和專業,考生可根據自己的技術水平選擇合適的級別合適的資格,

閱讀全文

與程序員面試筆試相關的資料

熱點內容
如何用app覆蓋全部曲庫 瀏覽:602
變異布林源碼 瀏覽:684
表格加密設置列印區域 瀏覽:437
卡耐基pdf下載 瀏覽:922
現在最流行的單片機 瀏覽:88
機頂盒刷機源碼 瀏覽:985
編碼pdf下載 瀏覽:944
隔壁同學app怎麼 瀏覽:299
c語言宏命令 瀏覽:542
php卡死源碼 瀏覽:574
time庫中的clock函數python 瀏覽:989
cad視覺移動命令怎麼打開 瀏覽:821
安卓java調用python 瀏覽:395
java標准時間 瀏覽:137
華為伺服器湖北渠道商雲主機 瀏覽:30
韓式面部護理解壓視頻 瀏覽:301
pdf換成jpg圖片 瀏覽:897
dh加密演算法 瀏覽:107
安卓手機如何隱藏微信信息提示 瀏覽:632
nodejs解壓縮 瀏覽:262