最新iOS面试真题大全

如果你想去大公司,如果你是3年左右的iOS开发者,如果你对面试的未知没有十足的信心,如果你期望的薪资在15K+,那么请认真刷完这100道面试题,都是真实公司经历的...你要先自思考,看个人那些方面还不足!

1、自我介绍

2、如何实现一个倒计时功能,类似于蘑菇街中的秒杀。

3、怎么理解es6箭头函数中的this,它和一般函数的this指向有什么区别呢?

4、一个矩形,里面一个樱桃,过樱桃做一条直线,并且没有数据和测量工具,如果做到评分矩形呢?

5、说一下同源策略

6、vue中的路由时如何管理的? 你知道他的实现方式吗?

7、提到了我的博客,问我的博客相关问题。

8、retina屏幕的了解

9、说一说移动端的布局。 flexible。

10、知道原理吗,怎么自己去实现一个flexible。rem布局的实现原理。移动端的点透是什么,有没有了解 11、说一说异步编程的方式有哪些。

12、项目中的设计是怎么回事,说说设计方面。

13、你博客里的轮播图,如果还要优化,你会怎么去优化。

14、你最喜欢的es6中的特性是什么,为什么。

15、为什么选择前端(不是科班,这个问题经常被问。。。)

16、css布局的属性有哪些。

17、有没有遇到过这样的问题:一个有border的div,里面有一个图片,发现图片和下面的border有一定的空隙(baseline)。

18、函数调用的方式有哪些。他们的区别是什么。

19、说一说原型链(这个要非常清楚)。

20、用过什么框架。jquery用过吗?

21、你实习公司的前端leader是谁。

22、给你一个项目,你使用jquery还是vue、react。为什么。(这个问题也是会被经常问到的)

23、说一说异步编程。

24、说一说回调地狱是什么,有什么问题。异常捕获怎么做。

25、说一说promise。一个promise有多个then,如果第一个then出错,后面的还会执行吗,如何捕获异常。如果第一个then出错了,我还想要后面的继续执行,应该怎么做。

26、你在学习js的时候,遇到过哪些js方面的坑、 你觉得js哪些知识会难一些。

27、 MVC 具有什么样的优势,各个模块之间怎么通信,比如点击 Button 后 怎么通知 Model?

28、两个无限长度链表(也就是可能有环) 判断有没有交点

29、UITableView 的相关优化

30、 KVO、Notification、delegate 各自的优缺点,效率还有使用场景

31、如何手动通知 KVO

32、Objective-C 中的 copy 方法

33、 runtime 中,SEL 和 IMP 的区别

34、autoreleasepool 的使用场景和原理

35、RunLoop 的实现原理和数据结构,什么时候会用到

36、block 为什么会有循环引用

37、使用 GCD 如何实现这个需求:A、B、C 三个任务并发,完成后执行任务 D。

38、NSOperation 和 GCD 的区别

39、CoreData 的使用,如何处理多线程问题

40、如何设计图片缓存?

41、有没有自己设计过网络控件?

42、怎么判断某个 cell 是否显示在屏幕上

43、进程和线程的区别

44、TCP 与 UDP 区别

45、TCP 流量控制

46、数组和链表的区别

47、UIView 生命周期

48、如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用?

49、block 循环引用问题

50、ARC 的本质

51、RunLoop 的基本概念,它是怎么休眠的?

52、Autoreleasepool 什么时候释放,在什么场景下使用?

53、如何找到字符串中第一个不重复的字符

54、哈希表如何处理冲突

55、你的成绩怎么样? 为什么不学习原专业?

56、登录状态怎么保持?

57、为什么用本地存储,而不用session,session更加简单啊!

58、http和https的区别是什么?(http、https、http2这些都是经常被问到的)

59、post和get的区别是什么?

60、你会的技术有哪些?

61、你在学校社团是做什么的,你是做什么的?

62、为什么不愿意留在暑期实习的公司?

63、为什么要用Alamofire而不用原生的NSURLSession,Alamofire的优势是什么?

64、如果让你来封装一个网络库,类似于Alamofire或者SDWebImage,你会如何实现?

65、在网络库中,如何针对TableView快速滚动过程中的图片额外渲染进行优化(网络库不能持有TableView)?

66、iOS的系统架构是怎么样的?常用SDK有哪些?

67、了解HTTP协议吗?GET和POST的区别是什么?

68、对安全方面有何了解?如何应对web页面被劫持?了解HTTPS加密解密的过程吗

69、vue和react有什么区别?

70、angular用过吗?

71、说一下同源策略?说一个JSONP?(同源策略和跨域的多种方式还是要很熟练的)

72、304和200的区别是什么。 (状态码也是必须要掌握的,包括各种区别)

73、你所知道的前端优化有哪些内容? (常考的问题,多多总结就好了)

74、linux知道吗? 你所知道的linux命令有哪些?

75、vue中v-if和v-show的区别是什么?(这个实在是记不住了,但是说明了vue不好就是因为api太多)

76、你看过哪些书? (比如计算机的几门专业课、JavaScript高级程序设计、css揭秘、你不知道的JavaScript、深入react技术栈、图解http等等)

77、你会的技术包括哪些

78、为什么不学习原专业,而是要转行。

79、为什么选择了北京而不是西安。

80、项目问题。

81、一个DOM树,其中有两个节点,找出这两个节点公共的父节点? (视频面试)

82、说一下二叉树?

83、如果反转二叉树?

84、简洁、对于不同的类型,如何做出对比?

85、说一下vue和react中的路由实现方式?

86、说一下强缓存和协商缓存? (浏览器的缓存机制也需要很清楚)

87、跨域?

88、说一下设计模式?

89、其中的一个项目,你究竟做了哪些优化?

90、websocket聊天室如果发送失败了,你怎么解决这个问题?如何做到发送图片? 有了文字、图片等不同的数据类型之后,你如何实现数据的存储,如何设计,前端如何获取?

91、websocket聊天室有输入框,那么怎么获取的,对于使用div来模仿textarea,我说使用正则去掉div,那么用户输入的也是div呢? 如果发送失败了呢? 究竟应该是先发送,还是应该先存储到redux中,考虑用户体验(仿照微信)。

92、为什么数据库使用的是mongodb而不是mysql。

93、什么是xss,如何防止xss?

94、边边购项目说一下?登录的整个过程是什么?购物车是怎么存储设计的?如果LocalStorage中数据的值超过了范围,你该如何去处理这个问题?如果商品下架了,那么你如何显示这个商品?登录的过程中,一个用户退出登录,另一个用户登录,那么这个购物车是否还是存在的。说一下边边购项目的多个不同的模块。

95、说一下你说的项目中遇到的问题,然后你是如何解决这个问题的? (这个可以好好准备一下~)

96、websocket的使用,底层是如何处理的。(类似于xhr的。)、

97、websocket在连接的过程中, 会有新包。。balabala 一堆听不懂的词,非常尴尬,,, 我就直接说的不会。

98、手写代码 判断是否是浏览器环境。

99、http和https https的整个过程画一下

100、httPS需要多少时间 比http慢多少 怎么优化

想和我讨论这些面试题的请加qq:2296575155

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值