专栏首页陈满iOSiOS面试经验总结(某PA金融科技篇)

iOS面试经验总结(某PA金融科技篇)

面试的时候你可能碰到面试官设的各种坑:不止喜欢问你iOS开发的一些特性和方法,更喜欢喜欢问你这些特性及方法你觉得它是怎么实现的?你觉得苹果公司为什么要这样设计?

也许面试官自己也没自己实现过,毕竟有些东西苹果为什么这样设计,若不是苹果公司的工程师无法知道。

但作为面试者,这个些问题正是拉开差距的最好办法:不一定要你亲手用C去重现苹果的机制,但可以谈谈你的见解和看法。所以,这一块最好有个准备。

1. 用法实践篇

一般,会问你怎么实现某个模块,用过哪些API,介绍下他们的用法。

  • 你以前的项目架构是怎样的?
  • 你是如何数据建模的?
  • 你怎么实现字典转模型的?
  • 你用过哪些动画效果?
  • 你怎么处理图片加载的?
  • 你有怎样用过一些第三方库的?

2. 思考见解篇

但是,还有的喜欢问你OC语法各种高级特性如Runtime动态性,以及你平时经常用的某个方法,如果我让你自己写自己实现,你觉得它是怎么实现的?

  • 除了App应用程序的生命周期,ViewController的生命周期你知道吗?它的生命周期是怎么操作和控制的?你觉得这些操作的方法是怎么实现的?它和App的生命周期的区别你说说看?
  • 你平时copy用的多吗?什么时候会用?关于copy的其它特性你有了解过吗,比如说引用计数和内存管理方面,你能不能说说看?如果我让你自己写个copy的方法,你觉得copy这个方法是怎么实现的?
  • 你有了解过运行时吗?运行时是什么?你觉得运行时的这些特性是怎么实现的?动态性的这些特性在编译和运行分别怎样体现的?你平时编程的时候有怎样利用过运行时的一些特性?
  • 多线程编程你有过了解吗?关于多线程有哪些方法?线程和进程有什么区别?为什么要用多线程?分别最多可以开多少进程和线程?你觉得GCD里面的开启线程的操作是怎么实现的?还有线程切换的操作你觉得是怎么实现的?
  • 内存管理你了解多少?我知道你提到了ARC和strong,retain等等一些东西,但你觉得在ARC之前的MRC是怎么实现内存管理的?ARC又是怎么实现内存管理的?还有,你觉得OC中操作内存的这些方法是怎么实现的?
  • 好的,你刚才提到了FMDB,能介绍你用过它的哪些类?做了些什么事情?在你的项目中是怎么用到它的?你觉得它和CoreData的区别是什么?还能说说其它有关数据模型的一些框架吗?它们是怎么实现数据存储功能的?实现数据存储的时候各自有什么共同点和区别?

3. 后面的话

这些问题是PA一个面试官问过的,听说他是从百度公司跳槽出来的。可能吧,百度系出来的面试官真的喜欢问底层。

关于这些问题的答案,特别是关于自由发挥和独立见解的部分,欢迎读者在自己复习相关知识后,在评论区贴出你的见解。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS开发·runtime+KVC实现多层字典模型转换(多层数据:模型嵌套模型,模型嵌套数组,数组嵌套模型)

    更重要的是,有时候在iOS面试的时候,部分面试官会不仅问你某种场景会用到什么框架,更会问你如果要你来实现这个功能,你有没有解决思路?所以,自己实现字典转模型还是...

    陈满iOS
  • iOS网络请求之上传图片:从示例到源码解析 -- 以上传Face++SDK回调的图片为例(HYNetworking,AFNetworking,XMNetworking)

    本文一开始上传图片以调用HYNetworking的API为例,这个网络框架是以AFNetworking为基础进行的封装。HYNetworking内部实现上传图片...

    陈满iOS
  • iOS框架·Masonry源码深度解析及学习启示:设计模式与链式编程思想

    可见,系统传统的代码布局有点繁琐。为了简化上述传统布局代码,被广泛应用的第三方框架 Masonry 对AutoLayout 进行了封装,Swift版则是 Sna...

    陈满iOS
  • html5打开摄像头

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta content="text/html...

    李海彬
  • CSS_边距填充

    填充:指向一个元素的内部,增加空间,(内边距),与外边距不同,填充会改变元素的大小。随着填充的增加,元素会被撑大。

    bye
  • javascript当中如何用children和firstElementChild做遍历

    如何用children和firstElementChild做遍历 例 1.4 <HTML> <head>     <meta http-equiv="co...

    马克java社区
  • CSS+JS实现tab标签切换

    循环将所有的内容标签隐藏,并将tab标题栏的active样式清除,完了之后设置选中标签的内容显示,并给tab标题栏添加active样式。

    lzugis
  • Bootstrap响应式前端框架笔记十五——面板与井

        Bootstrap中的面板由pannel相关类来创建,一个完整的面板分为面板头部、面板体和面板注脚,并且Bootstrap中默认定义了一些面板风格,示例...

    珲少
  • 【CSS进阶】试试酷炫的 3D 视角

    Sb_Coco
  • 【H5 音乐播放实例】第二节 音乐详情页制作(2)1.2 音乐盒子区域

    剽悍一小兔

扫码关注云+社区

领取腾讯云代金券