商汤社招 iOS工程师社招面经
商汤科技
商汤科技一面
自我介绍
• 数羊,给定一个初始数N,第一次数的数为N,第二次为2N,依次类推,直到kN,那么求当0-9的数全部都出现的时候的k值
• 介绍property的修饰符
• bounds和frame的区别
• 在MRC中如何解决循环引用
• 介绍多线程的实现方式
• 介绍iOS中数据库,描述一下sqlite的表结构
• KVO是什么,使用KVO需要注意哪些问题
• GCD中的循环引用
商汤科技二面
自我介绍
我:接触iOS开发三年,上架的项目有5个...
面试官没说清楚题
然后边讨论题应该怎么设计,边聊思路
• 拿到一个项目,应该如何设计架构
• MVC模式是怎么交互的
• UITableViewCell如何实现代理模式的
• 谈谈KVO模式如何实现
• 三次握手的细节
• 状态码
• 如何设计缓存策略
• 谈谈多线程的底层原理
• 内存管理修饰符的区别
• 介绍一下深复制和浅复制
• 描述一下runtime
• runtime可以做什么事情
• 描述一下runLoop
• runLoop又可以做什么事情
• 介绍一下iOS中的多线程
• GCD有哪些常用的API
• 使用GCD应该注意什么问题
• iOS内存管理方式
• iOS的沙盒
商汤科技三面
自我介绍
项目
• 动机
• 过程
• 扮演角色
• 收获
• 有哪些不足
• 具体每个项目还聊了可行性(其中有创业项目)
技术
• git相关操作
• 多线程底层原理
人生
• 职业规划
• iOS工作想要从事前端UI还是高性能
• 想要从事前端移动端还是愿意从事后台的工作
商汤科技HR面
• 有了解过相关工作内容吗,是否和预期一致
• 对公司了解吗
• 我给你介绍下吧
• 工作城市选择
• 目前有offer吗
• 目标公司的特点