iOS客户端面经总结(回馈牛客)HR面试结束等结果ing

iOS面试总结,因为之前集中面试,具体什么公司问了什么分不清了,我就按照知识分类写了~

1. 计算机网络

  1. OSI五层或7层数据模型,每一层的功能和运行的协议
  2. TCP、UDP和IP协议的内容和区别,细节包括3次握手、4次挥手的过程
  3. TCP流量控制等机制
  4. 输入一个URL到显示页面的全过程,经历过哪些阶段用到哪些技术

2. 操作系统

  1. 进程和线程之间的区别
  2. 进程间的通信,线程间的通信
  3. 进程拥有哪些资源,线程拥有哪些资源,哪些是共享的,哪些是独有的
  4. 操作系统中堆和栈的区别
  5. 进程间的同步和互斥,进程的状态
  6. 各种锁:自旋锁和互斥锁等,各自的特点,功能和使用场景
  7. 死锁的解决和产生
  8. 段页式内存管理简单介绍下,各自的优缺点

3. 数据结构


  1. 各种排序算法的原理、时间复杂度、稳定性
  2. 数组、set、map、链表、栈、队列等一系列常用数据结构的特点和使用场景
  3. 然后就是各种面试手撕代码,牛客面试的编译器。。。这个部分大家加油
  • 反转链表
  • 查找二叉树的两个节点的父节点
  • 二叉树的各种遍历:先序、中序、后序、层序
  • 旋转数组,查找数组中数据(预设场景可能有所不同)
  • 别的真记不住了,就感觉数组、链表、数这些考频较高


算法题这里,由于也是我最愁的,所以多说一句,面试代码还是考察的比较基础,不会那么变态难。。。根据我的面试经验来看,只要真的掌握了常用数据结构的常用操作,面试的手撕代码不会很困难。面试官都很nice~主要是考察能力,不是故意刁难想把我们难哭的~加油同志们!

4. iOS方向的面试问题


  1. 循环引用的问题,什么场景下会有循环引用的问题(delegate和block使用不当)
  2. 单个UIViewController的生命周期
  3. 深浅拷贝主要的区别和使用场景
  4. ARC的内存管理主要有哪些特质,知道的全说出来
  5. iOS多线程主要用过哪些,后面会根据回答针对性提问
  6. 事件的产生和传递过程,响应者链知道吗
  7. AutoreleasePool知道什么
  8. @property的修饰符有哪些,分别介绍下功能和使用场景
  9. iOS中用过或见过哪些数据模式
  10. frame和bounds的区别
  11. CALayer和UIView的区别
  12. KVC的底层实现
  13. load函数和initialize函数的区别,使用场景
  14. Runtime和Runloop,这两个都比较底层和难,问的深度和回答的深度有关。


5. 总结

我这脑子,能想起来的就这么多了。。。只是给出大家一个提纲,希望可以把自己的经验分享给有机会看到这个帖子的每一位同伴,希望大家最后都能有一个让自己满意的结果。最后,希望大家不要局限于这个帖子中提到的知识点,知识的累积和技术的增长其实都不是一个短暂的过程,我们都是在不断学习的过程中不断进步,打好每一步的基础,才会在面试中有好的发挥~大家冲啊!!!!

Bye~~~
#面经##校招##iOS工程师#
全部评论
ios 的数据模式具体指的是什么呀
1 回复 分享
发布于 2020-08-26 22:59
还是挺干货的!哈哈哈
点赞 回复 分享
发布于 2020-08-26 09:32

相关推荐

11-02 20:23
济南大学 Java
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
5 27 评论
分享
牛客网
牛客企业服务