開篇
又到了下一屆學弟找工作的時候啦,最近我簡單的詢問了幾個學弟的情況都不是很樂觀,首先不可否認的時候現在的大環境就業確實是很難的,但是難也是相對而言的,我們要從自身去出發,發現自己的不足,是否是自己的學習閉環出了問題,又或者是我們的學習成果達不到對標的需求的崗位。
學習方法
首先簡單的說下我的學習方法,因爲主要是給學弟們看的,我也就不怕大家笑話,自告奮勇,不要臉的來做下分享。 首先學習的話要是有目標的,朝着目標不斷的迭代遞進,如果對於軟件工程有了解的話,我覺得學習的過程就是一個敏捷開發scrum的一個迭代週期,簡單的說就是行成一個閉環的學習,週期性的review,找到自己的缺陷,feed到下一個週期的學習中。不再多做贅述,因爲我本身也不是很瞭解,而且自己也在不斷的探索中。
iOS基礎知識
iOS的基礎知識的話在面試中也是經常被問到的,我總結出三個方面
- C語言基礎(掌握即可)
- Foundation基礎 (常見的掌握)
- UIKit基礎 (常見的佈局,UI要會)
c語言基礎就不再多說了,因爲我們現在面對的主要是應付面試,找到一個我們理想的工作。
Foundation基礎
Foundation的基礎支撐着整個iOS的開發,從最基本的方法調用,到高級的runtime的應用都是屬於Foundation框架的基礎,這裏我羅列下我所知道的關於Foundation基礎在面試中經常被問到的問題,由於我自身能力有限,而且面試的主要是針對初級iOS開發所以問題含量有限。
- 關於屬性關鍵字的運用 (strong,weak,copy…)
- OC動態性的理解
- runtime的理解
- 內存管理
- block的原理與block循環引用的解決
- 多線程的應用
- Runloop的應用
UIkit基礎
- 常見UI佈局
- 自定義UI
- 常見控件的運用
網絡基礎
- http與htpps區別
- Tcp/IP 相關知識
- 三次握手/四次揮手 目的
- session/cookie的作用
操作系統基礎
- 線程與進程區別
- 銀行家算法
數據結構與算法基礎
- 基本的排序算法
- leetcode經典題目
其他
- 設計模式的理解
上面舉得例子是我認爲重點的,其他部分可以參考網上的面試題目,多多使用牛客,leetcode,來刷面試題,可以找學長進行一些內推操作。
面試的重心放在iOS基礎和數據結構與算法,因爲時間原因和最近沒有面試的經歷,所以暫時想到這些,有不明白的可以及時來問我,我最近也會再補充題目。
最後
希望各位工作順利,前程似錦。