亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

程序員面試的注意事項(xiàng)

時間:2022-11-24 16:51:20 注意事項(xiàng) 我要投稿
  • 相關(guān)推薦

程序員面試的注意事項(xiàng)

  程序員面試有哪些注意事項(xiàng)需要牢記?下面就由小編給大家介紹介紹吧,希望對大家有幫助。

程序員面試的注意事項(xiàng)

  Top 1 誠實(shí),不要虛張聲勢

  自信地回答問題,如果你不知道,那就坦誠地說“我不知道,但是我認(rèn)為……”。知之為知之,不知為不知,不要理直氣壯地講述一個錯誤的答案,這會讓面試官懷疑你前面那些正確的答案搞不好也是胡謅的,功虧一簣。雖然這句措辭也不是萬金油,但是卻能顯示你積極思考的能力和永不放棄的態(tài)度。對面試官提出的所有問題都要做一番努力,不要一句“我不知道”就輕易打發(fā)。

  Top 2 做好寫代碼的準(zhǔn)備

  如果要你寫代碼,那就要小心了,千萬別忘記遵循基本規(guī)則。我常聽那些應(yīng)聘人員一臉茫然地說“呀,我忘記語法了……”,我一看,原來是忘記for循環(huán)的語法了。我們不希望你在面試的時候記得所有的東西,但是一些基本的,像循環(huán)、if條件、主方法、異常,這些要是忘記了,太不應(yīng)該了?吹竭@里,如果你一時間也沒法想起這些,不妨復(fù)習(xí)一下。寫代碼的時候要注重空格和縮進(jìn),那些字寫的不好的可要注意了!

  Top 3 做好解釋項(xiàng)目的準(zhǔn)備

  軟件工程師在寫代碼之前就應(yīng)該對業(yè)務(wù)需求了如指掌。所以,你得能解釋項(xiàng)目中一一對應(yīng)的流程分別是什么。寫個三四行代碼就深層次解釋一下,然后聽聽非團(tuán)隊(duì)人員的意見和建議。當(dāng)局者迷,旁觀者清?纯春涂蛻艚涣鞯膬(nèi)部營銷記錄,找找線索?梢韵日覀朋友練習(xí)一下,確保自己能說到點(diǎn)子上。

  一旦你解釋完相關(guān)的業(yè)務(wù)需求,那么接下來面試官通常會問你關(guān)于這個項(xiàng)目的技術(shù)架構(gòu)。所有你還必須準(zhǔn)備架構(gòu)圖,以顯示項(xiàng)目中的各個組件是如何相互作用的。架構(gòu)圖不需要任何特定的UML格式,但是你得確保畫在上面的東西你都能解釋得通。舉個例子,如果你正在做一個可以顯示數(shù)據(jù)是如何從用戶界面到數(shù)據(jù)庫的Web應(yīng)用程序。那么你就得展示涉及的不同layers 、使用的技術(shù),等等。而最重要的是,你應(yīng)該清楚你正在做什么,不要講到后來,亂七八糟,答非所問。

  Top 4 將爭論轉(zhuǎn)換為交談

  即使你知道對方錯了,也不要爭論,試著以“ok,不過我不是很確定這是否正確,我回去再查閱一下”這樣的言語繼續(xù)話題。這能讓雙方都有一個愉快的心情。在面試的時候要認(rèn)真聽對方的話中之意,回答的時候要以自己的經(jīng)驗(yàn)為依據(jù),不要天馬行空。

  Top 5 事先對各種WHY做好準(zhǔn)備

  大公司的面試關(guān)于問“Why?”的肯定很多,搞不好甚至是以“Why?”開頭,以“Why?”結(jié)束,一路“Why?”下去。例如經(jīng)典的Java問題“String和StringBuffer的區(qū)別是什么?”,后面往往還會有“為什么String……?”又或者“如何才能……?”事先做好如何回答這些“How?”和“Why?”問題的準(zhǔn)備。

  Top 6 講述自己最大的成就

  在自己以往的工作中,總會有個你認(rèn)為是最棒的成就。你得學(xué)會將這個成就描繪得“天花亂墜”,讓面試官覺得這是一個超級不平凡的成績。所以準(zhǔn)備一個勵志生動又可信的故事以展示你的能力是如何一步步讓你完成那個艱巨的任務(wù)的。之所以要事先準(zhǔn)備好是因?yàn)閾?dān)心事到臨頭你搞不好會忘東忘西有所遺漏不說,最怕就是語言不連貫,讓面試官無法理解。

  面試的問題

  1、自動釋放池是什么,如何工作?

  當(dāng)您向一個對象發(fā)送一個autorelease消息時,Cocoa就會將該對象的一個引用放入到最新的自動釋放池。它仍然是個正當(dāng)?shù)膶ο螅虼俗詣俞尫?池定義的作用域內(nèi)的其它對象可以向它發(fā)送消息。當(dāng)程序執(zhí)行到作用域結(jié)束的位置時,自動釋放池就會被釋放,池中的所有對象也就被釋放。

  2、說一說static 關(guān)鍵字

 。1)函數(shù)體內(nèi) static 變量的作用范圍為該函數(shù)體,不同于 auto 變量,該變量的內(nèi)存只被分配一次,

  因此其值在下次調(diào)用時仍維持上次的值;

 。2)在模塊內(nèi)的 static 全局變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問;

 。3)在模塊內(nèi)的 static 函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用,這個函數(shù)的使用范圍被限制在聲明

  它的模塊內(nèi);

 。4)在類中的 static 成員變量屬于整個類所擁有,對類的所有對象只有一份拷貝;

 。5)在類中的 static 成員函數(shù)屬于整個類所擁有,這個函數(shù)不接收 this 指針,因而只能訪問類的static 成員變量。

  3、什么事單件實(shí)例

  Foundation 和 Application Kit 框架中的一些類只允許創(chuàng)建單件對象,即這些類在當(dāng)前進(jìn)程中的唯一實(shí)例。舉例來說,NSFileManager 和NSWorkspace 類在使用時都是基于進(jìn)程進(jìn)行單件對象的實(shí)例化。當(dāng)向這些類請求實(shí)例的時候,它們會向您傳遞單一實(shí)例的一個引用,如果該實(shí)例還不存在,則首先進(jìn)行實(shí)例的分配 和初始化。單件對象充當(dāng)控制中心的角色,負(fù)責(zé)指引或協(xié)調(diào)類的各種服務(wù)。如果類在概念上只有一個實(shí)例(比如NSWorkspace),就應(yīng)該產(chǎn)生一個單件實(shí)例,而不是多個實(shí)例;如果將來某一天可能有多個實(shí)例,您可以使用單件實(shí)例機(jī)制,而不是工廠方法或函數(shù)。

  4、說說Objective-C,有哪些優(yōu)點(diǎn)哪些不足

  objc優(yōu)點(diǎn):

  1) Cateogies

  2) Posing

  3) 動態(tài)識別

  4) 指標(biāo)計算

  5)彈性訊息傳遞

  6) 不是一個過度復(fù)雜的 C 衍生語言

  7) Objective-C 與 C++ 可混合編程

  不足:

  1) 不支援命名空間

  2) 不支持運(yùn)算符重載

  3)不支持多重繼承

  4)使用動態(tài)運(yùn)行時類型,所有的方法都是函數(shù)調(diào)用,所以很多編譯時優(yōu)化方法都用不到。(如內(nèi)聯(lián)函數(shù)等),性能低劣。

  5、#import和#include的區(qū)別,@class代表什么?

  @class一般用于頭文件中需要聲明該類的某個實(shí)例變量的時候用到,在m文件中還是需要使用#import,而#import比起#include的好處就是不會引起重復(fù)包含。

  6、線程和進(jìn)程的區(qū)別?

  進(jìn)程和線程都是由操作系統(tǒng)所體會的程序運(yùn)行的基本單元,系統(tǒng)利用該基本單元實(shí)現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。

  進(jìn)程和線程的主要差別在于它們是不同的操作系統(tǒng)資源管理方式。進(jìn)程有獨(dú)立的地址空間,一個進(jìn)程崩潰后,在保護(hù)模式下不會對其它進(jìn)程產(chǎn)生影響,而線程只是一個 進(jìn)程中的不同執(zhí)行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨(dú)的地址空間,一個線程死掉就等于整個進(jìn)程死掉,所以多進(jìn)程的程序要比多線程的程序 健壯,但在進(jìn)程切換時,耗費(fèi)資源較大,效率要差一些。但對于一些要求同時進(jìn)行并且又要共享某些變量的并發(fā)操作,只能用線程,不能用進(jìn)程。

  7、Object-C的內(nèi)存管理?

  1.當(dāng)你使用new,alloc和copy方法創(chuàng)建一個對象時,該對象的保留計數(shù)器值為1.當(dāng)你不再使用該對象時,你要負(fù)責(zé)向該對象發(fā)送一條release或autorelease消息.這樣,該對象將在使用壽命結(jié)束時被銷毀。

  2.當(dāng)你通過任何其他方法獲得一個對象時,則假設(shè)該對象的保留計數(shù)器值為1,而且已經(jīng)被設(shè)置為自動釋放,你不需要執(zhí)行任何操作來確保該對象被清理.如果你打算在一段時間內(nèi)擁有該對象,則需要保留它并確保在操作完成時釋放它。

  3.如果你保留了某個對象,你需要(最終)釋放或自動釋放該對象.必須保持retain方法和release方法的使用次數(shù)相等。

  8、屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那種情況下用?

  readwrite 是可讀可寫特性;需要生成getter方法和setter方法時

  readonly 是只讀特性 只會生成getter方法 不會生成setter方法 ;不希望屬性在類外改變

  assign 是賦值特性,setter方法將傳入?yún)?shù)賦值給實(shí)例變量;僅設(shè)置變量時;

  retain 表示持有特性,setter方法將傳入?yún)?shù)先保留,再賦值,傳入?yún)?shù)的retaincount會+1;

  copy 表示賦值特性,setter方法將傳入對象復(fù)制一份;需要完全一份新的變量時。

  nonatomic 非原子操作,決定編譯器生成的setter getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic

【程序員面試的注意事項(xiàng)】相關(guān)文章:

面試的注意事項(xiàng)11-23

面試的注意事項(xiàng)05-19

程序員面試心得09-28

面試必備面試技巧注意事項(xiàng)11-25

關(guān)于面試的注意事項(xiàng)與面試禮儀11-23

面試注意事項(xiàng)08-04

面試注意事項(xiàng)08-03

外企面試的注意事項(xiàng)11-25

面試后的注意事項(xiàng)12-20

跳槽面試的注意事項(xiàng)11-28