关于ios:iOS-面试梳理

52次阅读

共计 1936 个字符,预计需要花费 5 分钟才能阅读完成。

本次面试周期为一周,筹备工夫为一周。

本次面试共投递 25 家,约面 11 家,最初大厂只面了 360、字节,理论面了 9 家,收到 4 家 offer。

563513413 可获取相干的面试材料

阐明:16 年毕业,非重点大学,非计算机专业,本科

通过这次面试,对本人的定位又有了更多的认知,因为之前工作教训的起因,音视频这块将会成为我今后的次要方向,下一次心愿能做到一个资深 iOS 音视频工程师,我也会把更多工夫放到这下面。

的确算法能考查一个人的聪慧水平,这段时间齐全被女票碾压,好在算法多做一些,总结法则,也能把人训练的更聪慧,像奥数一样。

倡议大家用 C 写算法题;平时 leetcode 也用 C。

主观面试感触


  • 最右印象较差,面试官不 nice;
  • 360 最佳,很仔细,很喜爱他们的 leader;
  • 其余公司均不错
  • 简直每一家都有算法题,但整体难度不大(大部分是动静布局 + 树的遍历)

360 音视频岗位


主观评估:面的是音视频中台的岗位,本认为 HR 会举荐业务岗,筹备不充沛

一面:

  • 以往直播和相机的业务考查
  • AVFoundation、GPUImage
  • 两道算法题(诘问优化)

二面:

  • AVPlayer 实现原理、数据缓存
  • OpenGL ES 解决流程
  • 硬编、软编
  • 直播整体流程
  • 滤镜实现原理

而后回去让我等告诉,说一周内。

抖音 业务岗


主观评估:吐槽下,猎头给我很多面试题,让我背,后果一个都没遇到;心愿大家遇到一个好的面试官

  • 大数相加
  • 树的遍历(递归,队列两种形式)
  • 事件响应机制(传递链、响应链、手势)

算法写进去了但花了 50 分钟,而后一个小时就过来了,我。。。能力有余,leetcode 还要持续。

天真互动


主观评估:这家尽管是守业公司,有三面,算上 HR 是 4 面,最初一面我感觉面试官程度超高,应该是个大神,被虐,但还是拿到了他家的 offer。

  • xcode 证书校验过程
  • json 转 model 实现
  • 动静库动态库区别
  • 用纯 AVFoundation 框架,向视频中退出一个水印怎么做
  • GPUImag 框架介绍
  • 网络如何优化
  • camke 用法
  • 视频从采集到显示,最终写入文件流程
  • AVPlayer 缓存技术
  • 视频如何 2 倍播放,2 倍速导出
  • charles 原理
  • samplebuffer 与 pixelbuffer 区别
  • CMTime 构造

这个人的问题业余水平不逊于 360。

最右


一面

  • crash 解体怎么解,解体到底层代码
  • AVplayer 遍播遍下载
  • 如何设计一个网络库

二面

  • FBO、H264、GPUImage3、
  • 大图加载、PCM 计算工夫、
  • 如何实现宰割滤镜、
  • 音视频编码

美术宝


主观评估:我感觉是最高效的,简洁

  • kvo
  • block
  • notification
  • runloop
  • 二面有个算法题

两次面试加一起 50 分钟,而后就发 offer,牛。

其余公司


主观评估:大小公司都会有算法,有的用牛客网,有的用 leetcode,纯手撸,无提醒。

  • NSCache 利用场景 与 NSDictionary 区别
  • git 工作流
  • 常见的锁,哪个性能最差,以及起因
  • app 逆向剖析
  • leak 工具应用
  • charles 原理
  • http 与 https 区别
  • 组件化思路
  • 继续集成计划
  • copy、assign 区别
  • 内存对齐
  • sel、_cmd、isa
  • Tagged pointer
  • 剪刀石头布
  • 最长不反复字符串
  • 大量的数字排序
  • leetcode 32
  • leetcode 1237
  • leetcode 828
  • leetcode 283
  • leetcode j67
  • leetcode 116
  • 函数调用机制
  • 音讯转发
  • h5、js

总结


iOS 底层:

  • kvo、
  • runtime、
  • kvc、
  • notification、
  • runloop、
  • 关键字(copy、assign、strong)、
  • block、
  • GCD

其实货色不多,了解底层对于记忆规定,有很大帮忙。倡议源码和《iOS 和 OS X 多线程和内存治理》一起看,以及一些大神的文章

音视频方向:

  • 从 AVFoundation 动手,而后 GPUImage,在而后 OpenGL ES、MetalKit
  • ffmpeg、opencv
  • cc++
  • rtmp、webrtc

其余:

  • 组件化
  • 设计模式与准则
  • 网络
  • 继续集成
  • 团队合作流程

面试没有遇到 Swift 的问题,有点意外,这次面试,大概有一半应用 swift,有一家纯 swift 开发,其余都是混编,或者有业务线是 swift。

倡议大家先找到工作再辞职,除非工作太忙,没工夫。


对于 Swift

swift 我也筹备了,预计明年,swift 相干的问题会暴发进去

  • 泛型束缚
  • 关联类型
  • 类型擦除
  • where 应用
  • codable 如何实现 key 映射
  • AnyIterator
  • sequence
  • indexable
  • collection
  • map、filter、reduce、sorted
  • 如何实现链式编程(snapkit)
  • 函数派发机制(class、struct、extension、protocol)
  • kvo 生效怎么办
  • 内存治理 pwt、vwt
  • 内存,对立类型的变量可选值与非选值内存有什么区别
正文完
 0