春招路上孤獨的iOSer的心路歷程(面經)
獻給目前為數不多的春招路上孤獨的iOSer:
背景: 雙非渣一本,2017級大三計算機科班,演算法:劍指offer 68題刷了一遍,leetcode 60題。網路、作業系統啥的 跟著書本學習然後Google查了些資料,然後大學期間做過一些有關iOS開發的實踐專案。
前言: 雙非本科菜雞的春招有些坎坷,還記得第一次面試(2019年12月12號),帶有一絲絲緊張的感覺跟位元組跳動的一面面試官聊了56分鐘,當初沒複習啥,某學長的建議早面早知道問題所在,一路聊下來,還算是基礎問題都答出來了,後面問了一個LRU設計,由於沒接觸過LRU快取演算法,要我設計,就一路思考說了連結串列+map,時間複雜度沒達到要求,那個時候也沒想到用雙向連結串列(太菜了QAQ).再給我一道股票演算法題,不加思考的說了n方的思路,要我最佳化,想了幾分鐘程式碼也寫出來了。沒抱太大希望的給我過了。中間由於手機停機了(自己沒發現),hr還加了我微信約二面(被感動!!),17號二面全程被虐(聽說面試官是抖音那邊轉到這個部門的)。。幸好最後演算法題也寫出來了,也讓過了。最後面hr面都過了。第一次面位元組的體驗非常好
。後面過了一個星期多 offer 審批。 hr告訴我他們2020年計劃希望招資歷豐富的人。offer審批掛掉了。也算是很心痛啊。然後轉到位元組的data部門(聽說是絕對核心部門),一二面3個小時下來(有點累),最後二面面試官給我了三個的演算法題。我一個也沒寫出來(後面搜leetcode 演算法題 都是hard難度)....就這樣第二次位元組掛了。。 然後帶著遺憾過年了。。就開始刷演算法題。開始準備春招了。
流程:
位元組
2019年 12-12 一面
自我介紹
程式和執行緒區別,程式間的通訊、記憶體分割槽。
記憶體堆和棧的區別、為什麼堆上面效率高
liunx上有沒有寫過程式通訊的程式碼
Https 加密過程
tcp三次握手
swift struct 和class 區別
swift static與class關鍵字的區別
逃逸閉包與普通閉包區別
iOS 多執行緒GCD async與sync的區別
iOS 3張圖片下載完了之後合併一張圖
設計一個快取機制(底層資料結構是什麼樣子的)LRU
股票演算法題(要求0(N)時間)
提問
2019年 12-17 二面
多執行緒程式碼之行情況 讀程式碼寫結果
nonatomic 和 atomic 區別
atamic 執行緒安全如何實現的
nonatomic 一定是執行緒不安全的麼
swift 陣列切片是什麼
swift extension的理解
翻轉連結串列
講講對這個程式的測試用例
最近公共父節點
提問
2019年 12-20 hr面
圍繞簡歷上的獲獎 還有獎學金成績方面問了些問題,還要一些實習時間問題。
2020年 1-20 1、2面
一面
1 tableview 重用機制 滑動效能調優方法
2圓角效率問題 離屏渲染
3calayer 與uiview 區別 為什麼這麼設計
4swift 訊息機制
5 多執行緒如何保證執行緒安全
6 mvvm與mvc的區別
7 你認為mvvm最大的好處
8 如何比較兩個浮點型別 為什麼要這麼做
9 程式和執行緒的區別 為什麼切換執行緒代價小
10 如何實現程式間的通訊
11 訊號量 管道 共享記憶體 效率比較
12 設計模式你還了解哪些
13 詳細講一下觀察者模式、介面卡模式、橋接模式
14 hppts加密過程詳細講一下
15 抓包原理
16 如何驗證加密過程的證書
17 同步非同步 序列 併發 區別
18 最低公共父結點
二面
自我介紹
swift訊息機制
swift比oc快在哪裡
https加密過程
證書驗證如何進行
tcp如何進行擁塞控制 如何進行滑動視窗的大小變動的 根據什麼
三道演算法題,不太記得了。。
2020年 3-10日 抖音1、2面
一面 75分鐘
自我介紹
專案 懟了45分鐘
app啟動流程最佳化
app包瘦身
設計題:根據文字長短動態設定cell
設計題:上面題目再加一個button button 文字內容長短不一
https加密過程
客服端是怎麼證書驗證
http用了哪些協議
為什麼8g大小的程式可以跑在4g記憶體上面
彙編函式呼叫的引數怎麼傳的
如何提高上傳影片大成功率 設計方案
演算法題 :定義:給定a 計算出a各個位數之和 相加等於b 。現在給定b 求a
二面 45分鐘
自我介紹
專案 15分鐘
載入圖片卡頓是為什麼 有哪些最佳化方案
圖片解碼時機
設計os的複製貼上
假如現在有一個可以需要在三維中寫字並輸出結果的課題 怎麼做這個課題 你的思路
演算法題 數字轉漢字
阿里
2020年 2-17 電話一面
自我介紹
棧和堆的區別
各種排序演算法比較(冒泡、快速排序、歸併排序、桶排序、計數排序)
陣列、連結串列、雜湊表優缺點
uiview與calayer的聯絡與區別 為什麼uiview可以響應事件
tableview的重用機制以及與collectionview的區別
cpu和gpu的區別 離屏渲染
mvvm與mvc
專案亮點 野指標處理
記憶體管理
深複製與淺複製 如何進行類的深複製
網易有道
2-21 一面
一面 70分鐘
1.聊了下目前的情況以及經歷
2.事件傳遞與響應鏈
3.runtime機制聊一下
4.runloop的理解
5.mvc與mvvm的理解
6 gcd與NSopraretion的優缺點
7.tableview的理解重用以及調優
8.非同步載入圖片原理
9.平常除錯怎麼做的
10.gpu與cpu 離屏渲染
11.網路請求庫的封裝
12.記憶體管理 解決迴圈引用又出什麼問題
13.迴圈引用出現的常見情況
14.autoreleas談談
15.timer為什麼在子執行緒中不工作
16.為什麼學iOS
2-25 二面
二面 17分鐘
自我介紹
實習多久、學習過哪些語言
為什麼選擇iOS、學習iOS最大的困難。
mvc和mvvm理解
瞭解哪些資料結構
雜湊表實現原理
iOS記憶體管理方式
瞭解哪些網路協議
http 傳輸層用的哪個協議,版本問題
2-27 網易有道 hr+OC
問了一些比較常規的問題
蘑菇街
3-6 一面 40分鐘
自我介紹
演算法題: 兩個佇列實現棧
分類extension 在oc與swift區別
在什麼時機載入(沒答上來)
oc與swift語言區別
tableview做了哪些最佳化
如何實現多個圖片下載後合成一張圖片
除了gcd group之外 其他方法
訊號量與鎖的區別
mvc和mvvm的區別
為什麼從swift開始學
如何學習iOS的
有什麼要問的?(由於感覺不錯問了下評價)
1.評價
2.為什麼UI只能在主執行緒重新整理?
3-12 二面 40分鐘
演算法題:給定排序陣列和一個值sum,找到兩個值 等於這個sum。
自我介紹
專案相關
tableview最佳化
app啟動流程
kvo實現機制
第三方庫Alaomofire 的核心
除了學習iOS還關注哪些技術
提問:
3-15 hr面 22分鐘
問了很多,都是聊天之類的。
快手
一面(4月2日)
第一題:找錯誤 將下面這段程式碼的所有錯誤找出來並改成
第二題:
程式碼輸出多少?如果用__block修飾i又會輸出多少?為什麼?
第三題:手寫程式碼
1、使用遞迴,計算從1加到100的值
2、使用遞迴,計算從 n 加到 m的值
(n < m)
3、使用遞迴,計算從 n,n+t, n+2t, .... n+ mt 的值
(m >=1)
第四題:設計題
實現一個簡單的影片播放App,使用者可以播放、暫停、或者拖動進度條,也可以在多個影片源之間進行切換。
問題:如何實現這個影片播放功能,使得使用者的操作能夠儘早得到響應,且不會造成異常。
二面(4月2日)
問了很多問題,大概記得的就是:
手寫LRU、股票演算法題
MVVM與MVC的比較
UItableView的效能調優
Auto layout的原理
GCD與NSoperationqueue比較
kingsiher影像庫的非同步載入原理
影像解碼
事件傳遞與響應
閱讀過哪些第三庫原始碼分析一下
由於過了四五天了 二面有些忘記了。
hr面(4月7日)
hr 一些常規問題,然後這個hr小姐姐好像還懂點技術,就追著我的簡歷不放,要我覆盤專案,還要講下技術方面的點。
虎牙
三面+hr面 都是電話面試,比較容易然後就忘記寫記錄了。估計是比較缺人叭,流程很順利
騰訊:
3-24 wxg 一面
上來三道演算法題,然後問了些專案的事情,演算法做得還闊以,後面晚上給掛了,也心情複雜就沒記錄了。
4-12 pcg 一面
由於拿了快手音影片的實習offer 就無所謂了,順便面了下 聊了80分鐘左右,還共享螢幕看我寫程式碼。 後面給過了,,等著複試,4-17日 騰訊提前批結束,流程變灰了,就沒參加了
推薦 :
如果你想一起進階,不妨新增一下交流群 1012951431
面試題資料或者相關學習資料都在群檔案中 進群即可下載!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971523/viewspace-2691516/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端面經 | 騰訊實習生校招面試心路歷程前端面試
- 博主大三春招實習的歷程與面經 | 掘金技術徵文
- 安全崗春招面經總結
- 不知名本科菜雞の春招前端心路歷程(阿里,騰訊,美團) | 掘金技術徵文前端阿里
- 春招兩次騰訊面試都掛二面,分享下我失敗+傻傻的面試經歷面試
- 2019春招前端實習面經前端
- GIS轉碼的秋招歷程與踩坑經歷
- 一位 sealer maintainer 的心路歷程AI
- Kotlin之心路歷程Kotlin
- 三年 React 開發經驗的我,遷移到 Vue 的心路歷程ReactVue
- 2018年滿滿的春招面經 | 掘金技術徵文
- 學習嵌入式的心路歷程分享
- 塗鴉智慧選型 TiKV 的心路歷程
- 工作三年心路歷程
- PicGo的star數破1000的心路歷程PicGo
- 我作為前端工程師的心路歷程前端工程師
- 記一次破解某APP的心路歷程APP
- Python實訓的心路歷程——第5天Python
- Flutter 找到所需元件心路歷程反思Flutter元件
- 從面試連跪到收割offer,回顧我的春招面試歷程(研發崗位)面試
- 【備戰春招/秋招系列】美團面經總結基礎篇 (附詳解答案)
- 從谷歌面試翻車到offer收割的心路歷程谷歌面試
- .net工程師學習vue的心路歷程(一)工程師Vue
- .net工程師學習vue的心路歷程(二)工程師Vue
- .net工程師學習vue的心路歷程(三)工程師Vue
- 《死亡之門》開發者淺談遊戲設計的心路歷程遊戲設計
- Max先生的加拿大移民登陸工作心路歷程!
- 一個小白使用 devstack 部署 openstack 的心路歷程dev
- 位元組跳動前端研發面經-2020春招技術面前端
- 【備戰春招/秋招系列】美團Java面經總結終結篇 (附詳解答案)Java
- 【備戰春招/秋招系列】美團Java面經總結進階篇 (附詳解答案)Java
- [面試]騰訊資料分析秋招四面經歷面試
- 一個C#開發者重溫C++的心路歷程C#C++
- 使用Electron開發一個吸色工具的心路歷程
- 為什麼要擁抱Scrum——我的Scrum心路歷程Scrum
- 一位臺灣軟體工程師的心路歷程軟體工程工程師
- C++未眠夜----我學習C++的心路歷程 (轉)C++
- 【備戰春招/秋招系列】程式設計師的簡歷就該這樣寫程式設計師