腾讯最新iOS面试真题总结(网络、架构、算法与多线程)

本文整理了腾讯 iOS 岗位面试中常见真题,涵盖网络请求、线程与进程、内存管理、设计模式、常见算法等多方面内容。适合腾讯及其它大厂iOS面试准备。


一面题目

  1. 介绍实习项目及分工

    • 项目内容、个人负责的功能模块、所用技术栈等。
  2. 网络相关

    • 用过哪些网络库?ASIHTTP了解吗?
    • 断点续传实现及相关设置。
    • 访问速度差异分析:杭州请求快,深圳请求慢,如何排查?
    • HTTP请求常用方法(GET、POST、PUT),各自使用场景。
    • TCP建立连接过程、断开连接过程,为什么是“四次握手”。
  3. 数据存储

    • 项目中用过哪些存储方式?iOS中常见数据存储方式及适用场景。
  4. MVVM实现绑定机制

  5. Block和通知的区别及适用场景

  6. 算法题

    • 多个数组相关的递进算法题,重点是找出数组中重复数字。
  7. 进程和线程的区别

  8. 程序运行时,操作系统除了分配内存外还做什么?

  9. 进程间通信方式

  10. 如何检测应用卡顿

  11. Crash日志收集机制

    • 如何在无第三方平台情况下收集崩溃日志?第三方平台的工作原理。
  12. Block中使用@property是否会造成循环引用?如何避免?

    • 是否可以用self->_propertyvalueForKey访问?
    • Block中是否可以修改属性值?如何正确操作。

二面题目

  1. Objective-C对象结构

  2. 多态机制

  3. Ping协议是什么?

  4. MTU(最大传输单元)了解多少?

  5. ARC和MRC的本质区别

  6. NSThread、GCD、NSOperation的使用

    • 如何开启线程?线程能取消吗?
  7. 子线程调用Connection为何不回调?

    • 因为未加入RunLoop,执行完即销毁。
  8. MVC与MVVM的区别

  9. 了解哪些设计模式?

  10. 设计通讯录的数据结构支持增删改查

  11. autorelease对象何时释放?

    • 手动添加释放时机(大括号结束),系统自动释放时机(RunLoop循环结束)。
  12. 子线程中的autorelease变量何时释放?需要加autoreleasepool吗?

  13. GCD与NSOperation区别

  14. 死锁的理解及解决经验

  15. ViewController生命周期

  16. init方法里设置背景颜色会生效吗?为什么?

  17. WWDC 2016新特性了解

  18. 源码阅读经验分享

  19. 链表相关算法题

    • 找两个链表的第一个相同节点
    • 字符串旋转判断
    • 找链表倒数第k个节点
    • 将链表中比某值大的节点放左边,比它小的放右边
  20. 二叉树中序遍历(非递归实现)


总结

腾讯iOS面试考察广泛,注重理论基础与实践结合。建议重点准备:

  • 网络请求与协议原理
  • 进程线程与内存管理机制
  • iOS架构设计模式
  • Block及运行时机制
  • 多线程与死锁防范
  • 常见数据结构与算法

欢迎留言交流,分享面试经验与题解,祝你面试顺利通过腾讯大厂!

腾讯最新iOS面试真题总结(网络、架构、算法与多线程)

https://despacito2.github.io/posts/ff34586f/

作者

人间正道

发布于

2024-03-02

更新于

2025-07-08

许可协议

评论