记2017年校招
年根了,好长时间没有写博客了,近期比较忙。记录一下秋季参加的一些互联网公司的校园招聘面试题,由于校招面试题对于企业来属于秘密,我在此就不说是哪些公司了,主要是让大家了解校招趋势和难度,自己做一个总结。
时间虽然比较长了,但是题目记得比较准确,主要是每次面试结束后我都马上把题目记到备忘录里面了。目前比较忙,还没时间整理答案,以后如果空闲的话,整理下答案吧。
AD:博主想申请WWDC 2017 Scholarship,翻身打滚求App创意!要求如下:
- 运行在iOS、tvOS、macOS、watchOS上
- 运用到最新的系统特性
- 有创意
- 我一个人能做的出来
有想法的朋友请发邮件到talisk@talisk.cn,博主翻身打滚感激不尽😂
我面试的岗位是iOS开发技术岗,所以本篇文章根据面试内容分为三个部分:iOS技术、算法、其他问题。
iOS技术
- @property有几种特质?这几种特质的的意义?
- @property内存管理特质有哪几种?区别是什么?
- iOS开发中为什么@property都用nonatomic非原子性而不是atomic?
- weak指针的实现原理?
- category和extension的区别?
- 如何向category中添加property?
- 怎么理解Runtime?
- Swift中的String和NSString有什么区别?
- Swift是如何进行内存管理的?
- ARC是如何实现的?
- 方法交换的实现原理?
- NSOperationQueue相比GCD来说,有什么区别?
- GCD都有哪些队列?
- 如何发现iOS应用卡顿?
- iOS应用卡顿的原因是什么?
- 有没有想过为什么iOS的UI操作都要在主线程完成?主线程为什么唯一?
- 谈一谈你对RunLoop的理解
- RunLoop的mode是什么含义,有什么用?
- 设计一个网络图片控件。
- iOS 10新添加了哪些特性?XX这个应用使用到了哪个功能注意到了吗?
算法
- 不借助其他变量,统计一个int的二进制表示法中1的个数。如果是unsigned int呢?
- 判断两个链表是否有交点
- 写一个有序堆插入元素
- 写一个方法返回任意二叉树的高度
- 物品abcde对应重量12345,质量54321,背包承重10,问如何拿物品价值最高?(数是瞎说的,忘记面试官给的数了)
- 讲讲KMP算法
- 一个袋子里七个球,4白3黑,一次性取3个球,求至少两个是白色的概率?
- 有一个天平,和13枚外观相同的钢球,其中1枚与其他12枚重量不同,最多多少次能找出这枚钢球?如果有n个球呢?
- 有一群人至少有一个人戴黑帽子,其他人戴白帽子,每个人都能看到别人的帽子,看不到自己的,认为自己戴黑帽子就在关灯后拍掌,第一次和第二次关灯没掌声,第三次关灯有掌声,请问有多少人戴黑帽子?
其他技术
- 解释一下OSI模型?各层的用途作用?
- TCP协议和UDP协议的区别?
- TCP协议是如何保障数据传输可靠性的?
- MTU是什么值,有什么用?
- cache-control的几个值的意义?
- 你了解哪些淘汰算法?
- 协程、线程、进程的关系、区别?
- 如何避免死锁(银行家算法),原理如何?
- 给出一张资源分配图,判断是否有死锁。
- 数据库第一范式的特点?
- 用过什么NoSQL?用途是什么?
- C和Objective-C的关系、区别?C和C++的关系、区别?Objective-C和Swift的区别?
其他问题
- Mac上有什么提高效率的工具可以推荐?
- 自己开发过什么小玩具?
- Mac是自己买的吗?为什么自学iOS开发?
- 除了会iOS开发之外,还做过什么?
- 你遇到最大的困难是什么?
- 你如何看待加班问题?
- 以后自己的职业生涯是如何规划的?
- 用过xxx(某公司高流量应用)吗?用户体验如何?
AD:最后还是广告😂
我正在维护一个叫TalkCode的技术社区,网址:http://talkcode.cc刚刚上线三天,注册用户已经破百,目前主要讨论iOS开发/Android开发技术。如果大家遇到问题可以到上面提问。
扫描二维码,马上进入talkcode与大家一起talk code!