博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
腾讯—最新iOS面试题总结
阅读量:6290 次
发布时间:2019-06-22

本文共 1390 字,大约阅读时间需要 4 分钟。

关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。

腾讯

一面

1、介绍一下实习的项目,任务分工,做了哪些工作?介绍实习内容

2、网络相关的:项目里面使用到什么网络库,用过ASIHTTP库吗
3、断点续传怎么实现?需要设置什么?
4、在杭州HTTP请求服务器响应快,可能离服务器距离近,而在深圳访问就很慢很慢,会是什么原因?如果用户投诉,怎么分析这个问题?
5、HTTP请求的哪些方法用过?什么时候选择get、post、put?
6、TCP建立连接的过程,断开连接的过程,为什么是四次握手?
7、项目里面的数据存储都用了哪些?知道iOS里面有哪些数据存储方法?什么时候该用哪些方法存储?
8、MVVM如何实现绑定
9、block和通知的区别,分别适用什么场景
10、算法。连续问了好几个,都是数组,层层递进的,但是我忘了,只记得最后是找出数组
11、中重复的数字
12、进程和线程的区别
13、程序在运行时操作系统除了分配内存空间还有什么
14、进程间通信的方式
15、如何检测应用是否卡顿
16、发布出去的版本,怎么收集crash日志?不使用bugly等第三方平台或者这些第三方平台是怎么收集crash日志的?
17、在block里面使用_property会造成循环引用吗?怎么解决?除了使用self->_property,可以使用valueforkey来访问吗 在block里面可以修改它的值吗setvalueforkey?可以修改它的值,可以用valueforkey来解决,显式的的使用self,block外先持有self的弱引用。

二面

1、OC中对象的结构

2、多态
3、Ping是什么协议
4、知道MTU吗
5、ARC和MRC的本质区别是什么?
6、NSThread,GCD,NSOperation相关的。开启一条线程的方法?线程可以取消吗?
7、子线程中调用connection方法,为什么不回调?因为没有加入runloop,执行完任务就销毁了,所以没有回调。
8、MVC和MVVM的区别
9、了解哪些设计模式
10、存一个通讯录,包括增删改查,用什么数据结构
11、autorelease变量什么时候释放?手动添加的是大括号结束的时候释放,系统自动释放是在12、当前runloop循环结束的时候
13、那子线程中的autorelease变量什么时候释放?
14、子线程里面,需要加autoreleasepool吗
15、GCD和NSOperation的区别?
16、项目里面遇到过死锁吗?怎么解决?数据库访问本来就是线程安全的,不会造成死锁啊。什么是死锁?
17、Viewcontroller的生命周期?
18、在init方法里面,设置背景颜色,会生效吗 会生效。为什么会?
19、WWDC2016公布了哪些新特性?对苹果系列的最新特性有关注吗
20、看过哪些源码,讲讲思路
21、两个链表找第一个相同结点
22、字符串旋转
23、找链表的倒数第k个结点
24、把一个链表比某个值大的放在左边,比它小的放在右边
25、二叉树的中序遍历,非递归

更多:


另外附上一份收集的各大厂面试题(附答案) ! 要的可加iOS高级技术群:624212887,群文件直接获取

各大厂面试题

转载地址:http://tekta.baihongyu.com/

你可能感兴趣的文章
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
Vue------第二天(计算属性、侦听器、绑定Class、绑定Style)
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
Java中AES加密解密以及签名校验
查看>>
定义内部类 继承 AsyncTask 来实现异步网络请求
查看>>
VC中怎么读取.txt文件
查看>>
如何清理mac系统垃圾
查看>>
企业中最佳虚拟机软件应用程序—Parallels Deskto
查看>>
Nginx配置文件详细说明
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>
ItelliJ IDEA开发工具使用—创建一个web项目
查看>>