前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS面试经验总结(某PA金融科技篇)

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

作者头像
陈满iOS
发布2018-09-10 11:23:19
7900
发布2018-09-10 11:23:19
举报
文章被收录于专栏:陈满iOS

面试的时候你可能碰到面试官设的各种坑:不止喜欢问你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一个面试官问过的,听说他是从百度公司跳槽出来的。可能吧,百度系出来的面试官真的喜欢问底层。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.06.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 用法实践篇
  • 2. 思考见解篇
  • 3. 后面的话
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档