面试题

iOS面试问题记录和经验总结

2017-03-16  本文已影响62人  真珠奶茶小土逗

前几天参加了武汉的一家互联网公司的面试,总体感觉一般,最后也没有获得终面资格,这次面试暴露了一些问题,也让我体会到了自己的才疏学浅,所以还是总结一下吧。

首先到了公司并没有见到面试官,直接就是笔试,要求是尽量全写,问题如下:

计算机基础类

  1. 线程有哪几个状态
  2. 状态码200,404,500分别表示什么意思
  3. 你知道的所有排序

Java基础类(Java我是真的不会,前几个问题也记不清楚了……)

  1. 手写冒泡排序算法(任何语言均可)

iOS基础类

  1. 属性的几个修饰词分别代表什么
  2. 使用ARC的好处是什么,简述ARC的基本原理
  3. 数组和指针的区别
  4. 一个C语言的指针问题
  5. 简述一下MVC模式
  6. 画一下iOS的系统架构

数据库基础

  1. 索引的作用是什么,缺点是什么
  2. 写一个sql语句,涉及到排序和选择

个人发展

  1. 最近在读什么技术方面的书
  2. 对未来的打算
  3. 如果入职,打算如何帮助公司更好的发展
  4. 对公司了解吗,使用过公司的产品吗

问题的涉及面还是很广泛的,计算机基础,iOS基础,数据库等等都有涉及,有几个问题我还真的答不上来,下面我写了部分问题的答案,如果有不对的地方欢迎大家提出来,一起学习一起进步:

线程有哪几个状态:创建,就绪,运行,阻塞,死亡。

状态码含义:(参考:HTTP状态码 - 维基百科,自由的百科全书

使用ARC的好处是可以让程序员不用再去手动管理内存,使得内存管理更加高效,ARC的原理很简单:一个对象被引用一次就加1,被放弃一次引用就减1,如果减为0那么该对象就被释放。

数组和指针的区别推荐大家看一下这篇文章:数组和指针的区别

MVC模式:iOS常见面试题

iOS系统架构:iOS系统架构

索引的作用和好处:数据库索引的作用和优点缺点

个人发展这块儿回答就比较轻松了,因为iOS知识更新频率太快,而且我学习的方向主要是swift,所以我一般不怎么看纸质的书,我个人更喜欢看一些比较出名的博客,例如RayWenderlichAppCoda

PS:如果你知道你要去面试的公司的产品的话,最好提前下载下来用一下,说不定面试官就要问你对他们公司产品的看法。

面试

笔试结束了就是面试,讲真面试时间挺短的,可能是面试官问的我都不太了解……首先就是自我介绍,接下来面试官看了我做的项目,然后问了下项目中遇到的问题(这个几乎必问),这些都还好,后面的就有点感觉力不从心了,大概问题如下:
你的这个APP与服务端有交互吗?
你之前尝试过与服务端进行过通信吗?
你熟悉那些线上的数据库?
了解Hybrid模式吗?
是否清楚Hybrid模式中Web和Native如何实现通信?
对公司的产品有什么看法和建议?
你有什么问题吗?

因为之前从来没有在正式项目中与服务端进行过交互,所有的操作都是在本地进行的,数据也是用SQLite保存在了本地,网络编程方面的东西还在学习中,所以这块基本上全崩……还需继续努力学习啊。

总的来说,第一次面试学到的东西很多,也让我清楚地认识到了自己的不足,不得不说,除了基础知识,网络编程现在基本是必备技能,而热门技术也是必须要了解的加分项。

上一篇下一篇

猜你喜欢

热点阅读