最新iOS面试,腾讯5轮面试问题记录,快来考考自己

628 阅读4分钟

前言

不积跬步无以至千里,不积小流无以成江海。学如逆水行舟,不进则退。我是平平无奇游荡于各平台的搬运工。今天给大家整理的是一位面试者腾讯五面的一些问题。,快来看看这些问题你都学会了吗?

第一面,视频面试

问的基础的比较多,因为还涉及到音视频的开发,所以音视频方面的知识点也问了一些

  • 常见的属性修饰符有哪些,使用copy应该注意些什么
  • 深拷贝和浅拷贝区别
  • atomic 真的安全么,加的锁是哪种锁
  • iOS中内存管理是怎么样的
  • 自动释放池原理,本质
  • 常见的内存泄漏有哪些
  • block 出现循环引用的原因
  • 线程和runloop之间的关系是怎么样的
  • GCD 中串行并行队列,同步异步的区别
  • 有遇到过死锁么,怎么产生的
  • runtime查找方法的过程
  • runtime 是怎么实现weak置nil的
  • 关联对象是线程安全的么
  • isKindOf 和 isMemberOf 区别
  • iOS Class结构
  • load 和 initialize 区别
  • 说一下kvo实现的原理,使用kvo需要注意什么,手动触发应该怎么做
  • 有多个分类实现同一个方法,最后会执行哪个
  • iOS 产生卡顿的原因,什么是离屏渲染
  • 沙盒文件目录
  • 说一下从点击屏幕开始到某个按钮触发中响应链传递机制,如果要更改响应范围怎么做
  • 常用的锁有哪些,性能怎么样
  • xcode从开始编译到app出现第一个界面中之间进行了哪些工作(分成xcode编译成功和app启动讲的)
  • 音视频开发的简单流程
  • PCM 数据格式是怎么样构成的
  • 常见的音频压缩方式,优缺点
  • 算法题:链表的反转
  • 有什么要问的么?

第二面,视频面试

  • 项目中哪个功能最能体现自己的技术实力?具体讲一下
  • 对mvvm,mvc的理解,项目中怎么体现的
  • 有用过多线程技术么,在项目中怎么做的
  • iOS 单元测试简单流程
  • 查找算法的实现
  • 对hash算法了解么,iOS中哪些地方用到了hash算法,hash冲突怎么解决

第三面,电话面试

  • 项目中哪个功能最能体现自己的技术实力?具体讲一下
  • 常见的崩溃有哪些,遇到崩溃问题怎么查找解决,遇到无符号化的崩溃怎么处理
  • 数据库读写安全,表结构发生变化,怎么合理更新数据库缓存
  • 设计模式有哪些,在项目中怎么体现的
  • app性能优化(分别从cpu和gpu优化去讲的)
  • 除了oc,有学习别的语言么,一般是怎么学习的
  • 为什么离职,离职原因说一下

第四面,视频面试(不同的面试官)

  • 为什么离职,为什么不考虑转岗
  • 项目中哪个功能最能体现自己的技术实力?具体讲一下
  • 选一个功能实现,讲一下实现思路和方案,遇到问题是怎么解决的
  • 为什么做iOS, 有看过iOS相关的书籍么
  • 讲一下https 数据发送过程
  • 看过iOS相关的源码实现么,realizeClass做了哪些, class_rw_t和class_ro_t 区别
  • 手画一下mvvm结构图,讲一下你的理解
  • 不用临时变量交换两个int类型数(加减法,但要注意边界值溢出问题,有符号 -231~231-1,无符号 0~2^32-1)
  • 设计一个缓存机制需要注意哪些点(lru算法,线程读写安全)
  • 写一下lru算法(双向链表+hash)
  • 有什么要问的么?

第五面,电话面试

  • http1.1和2.0有什么区别,Keep-Alive模式
  • tcp长连接和短连接的区别
  • mvvm,mvp,mvc的区别
  • 面向对象设计的六大设计原则是什么
  • 红黑树有了解么
  • 如何用两个栈实现队列功能
  • 常见的锁有哪些,实现奇偶数交叉打印

总结

金无赤足,人无完人。我们想要变得的强大,就是不断的查漏补缺,发现问题,解决问题,吸收经验,做出改变。做这些不是让我们成为一个完美的人,完美的人是不存在的,做这些而是让我们自己达到我们自己的一个理想状态。学习就是这么一个过程,我们要发现我们的问题,然后去解决。如果你没有资料,就点**领取资料**免费获取吧。最后求一波关注和点赞。

Ps:题集收录于网络,如有侵权,请联系小编删除;