一個ios程式設計師年後找工作經歷(附上一些面試問題)

文皓啊發表於2018-05-15

年頭辭職換工作的事情在這金三銀四的時候屢見不鮮,我呢,一個ios開發者。3月份辭職後旅遊幾天,四月份第一個禮拜開始投簡歷,只在某鉤投,簡歷樣式是附件簡歷,寫上了三段工作經歷。

今天是周6,在這之前面了三家公司,一家內推,是某大型外包公司,其餘兩家是拉鉤邀請。

週五之前拿到了兩家的offer,另外一家說是下週1 hr 會打電話談些東西。

講下經歷吧。

第一家,也就是外包這家,前前後後面試了5次,拉扯了有兩週左右,原因比較多,比如我是15年畢業,然而大公司向來是不算畢業前的工作經驗的,所以在他們眼裡我其實兩年工作經驗不到,對於我的期望薪資,他們這邊定薪超出了限額。

第二家算是創業公司,母公司在北京,聽說融資已經c輪,這邊是孵化專案,面試很快,中午過去的,然後出公司不久就接到電話。

但其實兩家加班情況都很嚴重,外包這家,因為朋友在裡面,一週加班3次算是輕鬆,通常9點以後走,這家創業公司,995,就是早9晚9,但雙休。

然後講下面試過程吧,外包這家,技術面有三次,但問的不多,可能是真的都太忙吧,時間都在半個小時左右,比較偏向某個方面,會問實現過程。

第二家,面試應該問的是最細緻的,從http底層,一直問到我平時的專案架構方式,整個技術面有兩個小時,但面試官很nice,興起之時還會在白板上書寫,還有問一些ios基礎,為什麼代理要用weak?代理的delegate和dataSource有什麼區別?block和代理的區別?

第三家,是北京那邊電話面的技術,問的都很空泛,第一個問題我記得是你講下Activity,然後我就從Luncher 啟動一直講到生命週期,然後到window這樣。像這種問題,其實說簡單簡單,說難也難,因為這種東西,深入講,可能對於四大元件的任意一個1個小時也是聊不完的,但同時也給你機會,如果你瞭解的多,也方便展示。

然後整理下問到的一些東西:

1、如何令自己所寫的物件具有拷貝功能?

2、說說你理解weak屬性?

3、題目:Swift mutating關鍵字的使用?

4、UIView和CALayer是什麼關係?

5、下面的程式碼輸出什麼?

6、@synthesize 和 @dynamic 分別有什麼作用?

7、動態繫結

8、Category(類別)、 Extension(擴充套件)和繼承的區別

9、為什麼代理要用weak?代理的delegate和dataSource有什麼區別?block和代理的區別?

10、id和NSObject*的區別

11、如何令自己所寫的物件具有拷貝功能?

12、使用系統的某些block api(如UIView的block版本寫動畫時),是否也考慮引用迴圈問題?

13、用@property宣告的NSString(或NSArray,NSDictionary)經常使用copy關鍵字,為什麼?如果改用strong關鍵字,可能造成什麼問題?

14、UIView和 CALayer是什麼關係?

15、static有什麼作用?

底層:

16、main()之前的過程有哪些?

17、KVO基本原理?

18、Swift 下的如何使用 KVC?

19、:Swift有哪些模式匹配?

20、objc在向一個物件傳送訊息時,發生了什麼?

21、靜態庫的原理是什麼?你有沒有自己寫過靜態編譯庫,遇到了哪些問題?

22、runloop是來做什麼的?runloop和執行緒有什麼關係?主執行緒預設開啟了runloop麼?子執行緒呢?

23、不手動指定autoreleasepool的前提下,一個autorealese物件在什麼時刻釋放?(比如在一個vc的viewDidLoad中建立

24、不手動指定autoreleasepool的前提下,一個autorealese物件在什麼時刻釋放?(比如在一個vc的viewDidLoad中建立)

25、OC完整的訊息轉發機制+程式碼實現【暴擊】

26、、以+ scheduledTimerWithTimeInterval...的方式觸發的timer,在滑動頁面上的列表時,timer會暫定回撥,為什麼?如何解決?

27、如何手動觸發一個value的KVO

28、如何對定位和分析專案中影響效能的地方?以及如何進行效能優化?

29、序列並行,非同步同步的區別?

30、執行緒是什麼?程式是什麼?二者有什麼區別和聯絡?

31、RunLoop是什麼?

32、假設有一個字串aabcad,請寫一段程式,去掉字串中不相鄰的重複字串,即上述字串處理之後的輸出結果為:aabcd

@autoclosure(自動閉包)

34、iOS app啟動如何優化?

35、swift面試題:

36、怎樣防止反編譯?

37、UITableView效能優化,超實用

執行緒:

37、 不要阻塞主執行緒

38、談談你對多執行緒開發的理解?ios中有幾種實現多執行緒的方法?

39、程式和執行緒的區別?同步非同步的區別?並行和併發的區別?

40、ViewController生命週期

41、iOS 中的多執行緒

42、記憶體管理的幾條原則時什麼?按照預設法則.那些關鍵字生成的物件

需要手動釋放?在和property結合的時候怎樣有效的避免記憶體洩露?

誰申請,誰釋放

43、dispatch_barrier_async的作用是什麼?

44、如何用GCD同步若干個非同步呼叫?(如根據若干個url非同步載入多張圖片,然後在都下載完成後合成一張整圖)

http:

46、http與https的區別?

47、伺服器能否知道APNS推送後有沒有到達客戶端的方法?

app:

48、1.什麼方式可以看到上架App的標頭檔案?

2.閱讀過哪些框架的原始碼?能說說它的架構方式嗎

49、iOS iAP內購稽核可能失敗的問題

50、IAP內購中虛擬貨幣導致稽核無法通過的問題?

答案:

由於答案太多,我做了一個PDF文件,由於簡書不能上傳檔案,需要答案可以加小編的qq交流群776598941,在裡面獲取文件,也歡迎招聘者,找工作的來,提供一個更大的平臺

  最後祝大家找到心儀工作,有問題在評論區我會回覆。複製程式碼

相關文章