准备 iOS 面试到崩溃

2020-05-26 16:55:21 +08:00
 20151024
现在还没来得及准备 Swift 、算法、Flutter 、RN 这些,这阵子在骑驴找马准备 OC 、iOS 相关的面试题。
杂七杂八的知识点真的非常多,而且由于 iOS 开发的从业者过多、岗位又被小程序蚕食,iOS 的面试向来都是造航母般地问原理、底层、源码(实际工作中很少涉及,比如 KVO 的原理、SDWebImage 源码)。很多都是属于应试背诵范畴的,本人现在工作四年多了,记忆力不比学生那会,即便完全建立在理解的基础上,一些专业的名词表达也是纯记忆。
另外,还要强行给现在的项目镀上特色,强行包装出项目的难点、代表性技术。
唉,需要每天清晨和睡前都要背一遍,不然现在的工作需求一来,停个几天,忘得就差不多了,又要重头再来,想裸辞后全职在家准备面试,又看到现在这么多人失业,所以没那个勇气,难受、心累。
16450 次点击
所在节点    iDev
101 条回复
20151024
2020-05-26 21:22:47 +08:00
@KeyboardManAnAn 因为在这家实在忍不下去了,碰碰运气看能否跳成功
@onevcat 我举的这俩例子确实还好,但 n 个这种问题同时要背,并且收到 offer 前 n 个问题都要背在脑子里,真的累
@jackchao7432 我没说这俩题目难,背这俩我 1 小时搞定,难的是要背了后一直记着直到面试成功,而且还有 n 个题目背了后都要同时记着。我只是跟我以前的自己比较年龄和记忆力。
endlessJ219
2020-05-26 21:34:31 +08:00
现在原生客户端都是大厂做,去大厂肯定是这样的,目前还做 ios 安卓的开发基本上都是 3,4 年以上经验的了,要求越来越高
jackchao7432
2020-05-26 21:41:15 +08:00
@20151024 你说算法背我还能同情你一下,基础什么的还用背吗?平时都不积累的?
20151024
2020-05-26 21:53:48 +08:00
@jackchao7432 口头争论毫无意义,我还是用例子说话,还是上面的例子,kvo 原理,我先贴出标准答案: http://www.cocoachina.com/articles/22453 ;假如面试时问你 kvo 的原理,并且你没背过,你能完整地说出答案?简单地只说出个主要和大概能打动面试官、能 pk 得过完整背出来的竞争者?当然如果你是大牛当我没回复,我只是个普通求职者,跟你不在同个频道。
knowckx
2020-05-26 21:59:52 +08:00
和楼主的感悟一样,现在的面试,很多技术要点都是要记忆性的,知识点多且杂。
lalala328
2020-05-26 22:17:47 +08:00
@onevcat 活捉喵神,hiahia
ooops
2020-05-26 22:20:30 +08:00
没做过 rn/flutter 之类的或者理解不深就不要准备。不如把 OC 搞深搞透,纯背的问两个题就看出来了,换个问法就不会答很减分的。
cornetCat
2020-05-26 23:05:21 +08:00
说实话楼主的基础确实差了一点,平时可能不太看技术文章吧。
类似 kvo 原理、block 原理、runtime 、runloop 、autoreleasepool 实现等等这种技术点这些年(近 5 年)出的文章太多太多了,15 年以前相关的文章确实少,但是这几年深挖技术细节的文章太多了(而且很多写的真的不错,通俗易懂),平时留心一点多看看,组里多组织一些技术分享,其实很容易掌握。
不过正常工作确实用得不多就是了。
20151024
2020-05-26 23:40:29 +08:00
@ooops 感谢建议,是的我是在理解的基础上再背的;
@cornetCat 首先我承认,我确实水平达不到大厂水平。但如果是因为我说的觉得背这几个理论知识点吃力,就得出结论我的基础差,这点我是有点难以接受的,我并不觉得这几个有多高深,只是觉得背它们并长久保存记忆难。可能我正文有点表达不明吧,我说的造航母并不是指它难,而是跟实际开发中应用的技术比起来,像是造航母的技术一样在实际生活中用不上。
jackchao7432
2020-05-26 23:41:31 +08:00
@20151024 唉,算了不跟你争了,兄弟,还是多提升自己吧……
20151024
2020-05-26 23:49:13 +08:00
@cornetCat 另外补充一点,我并不认为这 5 个是 iOS 技术的基础,在我的观点里,它们只是激烈的面试竞争的产物,属于面试题中的基础。在中小厂实际开发中,分别应用这 5 个的几个常见经典方法即可,并不需要知道它们的原理,当然知道了肯定更好,至于知道后的实际帮助有多少,我就不好说了。
txx
2020-05-27 00:01:14 +08:00
@onevcat 二进制对齐优化是什么...动态库挂载又是什么....
cornetCat
2020-05-27 00:03:05 +08:00
@20151024 我个人的经验,知识点不是靠背的,是靠理解,理解之后知识点之间联系起来形成一个系统的框架,这样就算不记得细节,大的脉络是可以记很多年的,当回头需要面试的时候随便看看一些面试题就能串回来。这样反而不怕面,可以引导面试官往其他脉络上走,让他看到你系统化后的知识储备。
背题的追问几个问题就露馅了。
另外,我曾经就为了加深记忆,把看完的技术文章用大白话跟老婆复述一遍,效果挺好的,推荐你可以试试。
jackchao7432
2020-05-27 00:09:12 +08:00
二进制重排-缩小包体积,动态库挂载-热修复
onevcat
2020-05-27 00:09:18 +08:00
@txx 是一些面向 PPT 和 KPI,但是实际上似乎没什么用的魔法!
jackchao7432
2020-05-27 00:11:17 +08:00
@txx 说错了,二进制重排-提升启动速度
20151024
2020-05-27 00:15:58 +08:00
@cornetCat 感谢建议,但我想说,你建议的方法,也是我一开始行动的方法。我还是举 kvo 原理的例子,2 年前那次准备面试时,我已经对 kvo 原理理解利很透彻了、背得也很滚瓜烂熟了,结果入职后被需求缠身,不久后照样忘掉 70%,虽然再看一遍后能在半小时内迅速拾起记忆、马上理解、并且背得滚瓜烂熟,但问题是面试时不会只问一个 kvo 原理,我还要同时应对其它 n 个类似的偏向记忆的面试题,而且这些面试题在实际开发中应用作用不是特别大,就觉得准备面试很累。当然每个人记忆能力和记忆方式都不同吧,记忆方面确实是我的短板,这也导致我生活的习惯是一想到事情就记到某款笔记 app 里,然后每天清晨和晚上看一下 app,知道今天要做什么。
txx
2020-05-27 00:16:40 +08:00
@onevcat 一点了喵大还没睡..可见和大大的差距...
txx
2020-05-27 00:18:00 +08:00
@jackchao7432 为啥动态库挂载可以热修复呢?
vnex
2020-05-27 00:59:55 +08:00
... 我倒是觉得问算法题,倒是比较容易搞定,但是问 SDWebImage 之类的,可能就搞不定了额。。。我 iOS 原生开发是 4 、5 年前有在开发,那时候 runtime 什么的倒是了解,现在已经不记得了。然后最近两年开发 golang,去了解了下 go 的调度、内存回收什么的。。。收到的新的 offer 是前端开发的,估计过两三年 go 的也要忘光了

但是算法,比较通用,面试的难度一般都是问快排、topk,归并,动态规划,比较通用

不过,我可能领域深入的会不够

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX