下面是我準(zhǔn)備的面試題,因為都是學(xué)生劣欢,我一般是先從他簡歷和介紹里挖掘下他擅長的再對應(yīng)的問些準(zhǔn)備的題棕诵。
開場
- 詳細(xì)介紹自己做過的最有成就感的一個項目
- 最近在讀什么哪本書裁良?
- 是否有過創(chuàng)業(yè)經(jīng)歷或者有過類似的想法?
- 為什么會參加競賽校套,過程中的收獲是什么价脾?
- 是否參與過開源項目,收獲是什么笛匙?
- 商場里買100元的東西會返80元代金元實際折扣是多少
- 四個人夜間要過一座橋侨把,每人走路速度不一樣,過橋需要時間分別是1妹孙,2秋柄,5,10分鐘〈勒現(xiàn)在只有一只手電筒在過橋時必須帶骇笔,同時只能兩人過,如何安排能夠讓四人最快速度過橋机隙?
- 25匹馬賽跑蜘拉,每次只能跑5匹,最快能賽幾次找出跑得最快的3匹馬有鹿?
- 如果你變成硬幣那么小旭旭,然后被扔進一個攪拌機里,你將如何脫身葱跋?
綜合
- 你技術(shù)上的優(yōu)勢是什么持寄?技術(shù)薄弱點待加強是什么?
- 未來規(guī)劃
- 為什么來滴滴
- 看好蘋果的AppStore模式嗎
- 有看WWDC session嗎娱俺?
計算機基礎(chǔ)
線程
- 線程創(chuàng)建實際的開銷在內(nèi)存方面是有多大稍味?
- 多線程的適用場景,為啥要用多線程呢荠卷?
- 說出幾種鎖模庐,介紹其區(qū)別
編譯器
- 編譯器的實現(xiàn)流程
- GCC和LLVM的區(qū)別
網(wǎng)絡(luò)
- UDP實現(xiàn)可靠傳輸是如何實現(xiàn)的
- 介紹TCP協(xié)議
- IPv4 和 IPv6 的校驗和算法有什么區(qū)別?
- TCP 有一個會添加 MD5 校驗和到包中的擴展油宜。該擴展什么時候起作用掂碱?
- TCP 最小的端口號是多少?
- 描述TCP建立連接的三次握手過程?如果最后一次握手失敗會怎樣處理慎冤?
內(nèi)存
- 內(nèi)存中的棧和堆的區(qū)別是什么疼燥?那些數(shù)據(jù)在棧上,哪些在堆上蚁堤?
- 設(shè)計一種內(nèi)存管理算法醉者。
存儲
- key/value存儲,有什么優(yōu)缺點,什么場景下用
數(shù)據(jù)結(jié)構(gòu)
- 數(shù)組撬即,鏈表立磁,哈希表,二叉樹的區(qū)別搞莺?數(shù)組索引和查找方便息罗。鏈表插入和刪除方便,鏈表一般運用在堆棧(后進先出)和隊列中(先進先出)才沧,哈希表方便查找迈喉,插入和刪除。二叉樹方便查找和排序
- 鏈表的插入是O(1)還是O(n)温圆?是O(1)
- 寫個反轉(zhuǎn)二叉樹的代碼挨摸?遞歸左右子樹交換
- 求二叉樹相距最遠(yuǎn)的兩個葉子節(jié)點?
基礎(chǔ)算法題
- 如何以最快時間找到與給定點最近的點算法
- 寫個 aabbbccaabddeffcc 化為abcdef
- 0(1)時間求棧中最大元素的算法
- 什么是貪婪算法
- 背包容量150岁歉,7個物品得运,每個物品重量價值不同,要求裝入包中物品價值最大锅移。
- n個人預(yù)約網(wǎng)球場熔掺,時間不同,求最少需要多少個網(wǎng)球場非剃。
- 億級數(shù)據(jù)里查找相同的字符以及出現(xiàn)次數(shù)
- 設(shè)計一種算法求出算法復(fù)雜度
- 兩個字符串的最大公共子串
智力題
- 五個強盜搶到100個金幣來分贓置逻,強盜1提出分配方案,為了防止他分配不公备绽,強盜們達(dá)成一致:他的方案必須有所有人(包括1號自己)的半數(shù)以上(注意券坞,必須大于百分之五十)通過才可執(zhí)行。否則肺素,他將被殺死恨锚,再由2號強盜提出分配方案,2號的方案也要所有剩下的人(包括他自己)的半數(shù)以上通過倍靡。否則他也將被殺死猴伶,依次類推。假設(shè)這五個強盜都貪婪成性塌西、殘忍無比他挎、絕頂聰明而又一諾千金,都想自己得到最多雨让,都想看到別人死去而自己活。請問忿等,1號強盜要怎樣分配才能使自己活著而得到的黃金最多栖忠?為什么?
iOS
OC基礎(chǔ)
- static關(guān)鍵字作用
- +load和+initialize的用法
- Notification在多線程時會有什么問題?怎么解決庵寞?有問題狸相,發(fā)送和接收需要在同一個線程中,如果不在需要定義一個通知隊列捐川,當(dāng)post來時看看是否為期望線程脓鹃,不是的話就將其放入隊列,然后發(fā)送signal到期望線程古沥,待收到signal就從隊列移除瘸右。
- 舉幾個會引起block循環(huán)引用的例子。
- SEL和IMP 的區(qū)別岩齿?
- 圖片緩存機制太颤,如果一個cell對應(yīng)圖片下載很慢,這時對cell刪除操作應(yīng)該怎么處理盹沈。
- MVVM是為了解決什么樣的問題
- Core Data處理大量數(shù)據(jù)同步操作
- class的載入過程
- delegate和block是為了解決什么問題設(shè)計的龄章,什么時侯用block什么時侯用delegate
-
define定義變量和const定義有什么區(qū)別
- 如何看待React Native
- ReactiveCocoa是為了解決什么設(shè)計的,什么時侯用
- 自己設(shè)計應(yīng)用網(wǎng)絡(luò)層時會考慮哪些問題乞封?
- 持久層做裙,使用sqlite如何設(shè)計版本遷移方案
iOS優(yōu)化
- App的內(nèi)存和性能優(yōu)化,調(diào)優(yōu)步驟肃晚。
- Tableview的優(yōu)化锚贱。
- NSTimer的問題。
- 如何收集crash陷揪,分析crash惋鸥。
動畫
- 怎么中途停止動畫?
內(nèi)部實現(xiàn)原理
- block的底層實現(xiàn)原理悍缠?
- 通知中心的實現(xiàn)原理卦绣?
- Category為什么可以添加方法,不可以添加實例變量飞蚓?
- iOS的堆內(nèi)存是怎么管理的滤港?
- @property是如何生成一個成員變量和其setter,getter方法的趴拧?
- runloop內(nèi)部是如何實現(xiàn)的
- autoreleasepool是如何實現(xiàn)的
實例實現(xiàn)
- 設(shè)計一個可離線評論溅漾,有網(wǎng)再將數(shù)據(jù)傳到服務(wù)器的API和客戶端實現(xiàn)方案。
- 如何做一個View能夠出現(xiàn)在應(yīng)用所有頁面的最上面著榴。
- 設(shè)計一個排隊系統(tǒng)可以讓每個在隊中的人看到自己隊列所處位置和變化添履,隊伍可能隨時有人加入和退出,當(dāng)有人退出影響到用戶位置排名時需要及時通知反饋到用戶脑又。