最开始春招的时候,一线互联网基本上都投了,可是不少都被刷了,有的是刷了学校,有的是刷了四级,有的是刷了专业,但更多的是刷了能力,毕竟咱们学校计科学院每一年有几我的去BATios
大厂的春招基本上结束,面试结果不理想,由于只想在成都工做,因此面的公司比较少(就写三个最有表明性的公司)。面试
写下一点面试中被问到的一些问题给你们参考,也是对本身的不足进行总结。算法
1.说下线程和进程的区别sql
2.如何保证线程安全设计模式
3.写个算法,输出2~100的素数(而后问你怎么优化,还能够怎么优化,而后还能够怎样优化.....)缓存
4.了解哪些设计模式安全
5.MVC设计模式的思想是什么?在项目中的运用,而后对比MVVM设计模式性能优化
6.堆和栈的区别,工程项目中的哪些数据是储存在堆哪些在栈中网络
7.iOS中的NSCopying协议,copy,MutableCopy的区别数据结构
8.解释属性修饰关键词的做用(weak,strong,copy,readOnly,assgin,nonatomic等)
9.最近看过哪些书?目录结构是怎样的?哪部份内容印象最深?了解过做者吗?
10.你还有什么问题问我?
做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个个人iOS交流群:413038000,无论你是小白仍是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 你们一块儿交流学习成长!
1.写二叉树的先序遍历,而后用非递归写
2.写快排,并分析原理
3.http协议
4.http为何底层是tcp不是udp ?
5.tcp是基于流式传输的,怎么设计协议,进行协议的解析?
6.tcp为何要进行三次握手?不是2次,4次?
7.抓包工具的原理是啥?
8.socket异常断开时,设计一个合理的重连机制。
9.内存管理
10.iOS开发中用过哪些测试性能的工具
11.instruments它为何能检测内存泄漏
12.作过的项目有什么技术难点(我说的难点在面试官看来都不是难点)?
13.在10亿个数中如何快速找到最大的前100个数?
14.你有什么创新能力?
15.你还有什么问题问我?
1.解释属性修饰关键词的做用(weak,strong,copy,readOnly,assgin,nonatomic等)
2.项目中用过哪些设计模式
3.结合响应者链条和设计模式,解释事件怎样传递和处理
4.blcok,NSNotification,delegate,Observer比较
5.block为何会致使循环引用
6.为何想来京东
7.聊人生
(项目:由于实习的公司用的SDK组件化的开发模式,拿出来做品一边演示他一边提问,1-6点都是对于个人SDK项目提问)
1.为何须要组件化?
2.tableView的性能优化
3.SDK的接口设计过程(通常设计为进入业务线提供一个注册方法,在须要的时候使用代理回调。向SDK里传递数据通常用单利模式,开出相应的方法)
4.cocoaPods的实现思路,为何没有使用cocoaPods管理本身的SDK
5.项目中缓存SDK采用的策略(咱们项目主要借鉴了YYCache,采用lru算法,使用sqlite)
6.相对复杂业务交互的处理,采用的设计模式(单利模式配合模板方法模式实现)
7.AFN实现思路,对源码的理解程度
8.项目中如何保证数据的安全性
9.runtime在奇葩需求当中的运用(好比产品要求5和6上面显示不一样的字体大小,能够用runtime的交换方法)
9.快排的原理
10.C语言中strlen和sizeof的区别
11.职业规划(开始聊人生)
偏向项目,主要考察对业务的处理熟练度。(这是我最拿手的,二面差很少聊了1个多小时,没有答不上来问题,走的时候我跟面试官都很开心,晚上回去一看官网状态为未经过,伤心极了)
1.对于面向对象的理解
2.内存管理
3.多线程
4.保证线程安全的方式(加锁和GCD栅栏,队列组相关知识)
5.KVC和KVO的使用和注意事项
6.推送的原理
7.tableViewCell的自适应如何实现,如何保证性能
8.堆和栈的区别
1.SDWebImage的底层实现(我只答到了没有沙盒的时如何实现)
2.简述下runLoop(问了应用程序在不一样条件下各个线程runLoop所处模式)
3.一个页面能够由几个控制器共同管理吗
4.http和socket的区别
5.何时用集合(NSSet)
6.项目上线或者版本迭代,有过被拒吗?是什么缘由?怎么解决?
7.转场动画相关操做
8.绘图相关知识(coreGraphics框架的使用)
9.数据持久化
10.xib和代码适配界面有什么不同
11.项目中遇到的问题,如何解决(我从所作的项目的框架搭建,模块分布,设计类图,开发,自测,上线一直扯)
12.最先何时可以来实习(感受他们很缺人,可是我问了下他们部门都有30多个iOS开发者!!)
1.assgin和weak的区别,代理为何用assgin
2.类方法:load 和 initialize 有什么区别,通常怎么用它们
3.OC语言的动态机制的理解(开始浅谈runtime)
4.设计模式:代理和观察者模式的对比,单利模式的使用注意点
5.如何设计网络请求框架(我按照AFN的理解去解释了一波)
6.响应者链条
7.iPhone自带的AssistiveTouch你如何实现
8.App包的大小受哪些影响
9.关于debug和release
10.view的生命周期
(HR面,基本上是闲扯,想着反正拿到offer也不得去,我问他的问题都比他问个人还要多。。。基本上也记不住了)
1.说出你的三个缺点和优势
2.为何选择同花顺
3.说出你在大学期间干过的最牛逼的一件事
4.对于咱们企业文化的理解(我把我实习公司的企业文化吹嘘了一遍,发现这几点基本上放在任何私企都好使:客户至上,团队合做,诚信正直,务实创新)
总结:技术面很是偏向项目,感受前面两个面试官比较水。
综上所述:秋招的一线互联网公司基本上看中学习能力和刻苦勤奋程度。好比百词斩给出的招聘要求就是精通数据结构和算法,没有实际开发经验的均可以。因此要想去大厂基础是必不可少的,并且必须深刻学习。