第一次面试别人是怎样的体会

2017-02-27 13:58:13 +08:00
 ArthurHe

不安的开始

自从去年后半年以来, iOS 开发相关工作就被唱衰。很多人抱怨裸辞后找不到工作,可谓是哀鸿遍野。看到了太多这样的帖子,身边也有相识的人遭遇了公司解散,失业后迟迟找不到工作的窘境。这也直接导致了我内心的忐忑和不安,不禁要问, iOS 从业者的未来在哪里?我又该何去何从呢?这样的疑问,这样的不安,一直伴随着我。在结合别人的现实的遭遇后,分析了一下造成现阶段初级,中级 iOS 从业者找工作难的原因:

  • 市场过度饱和,培训机构追求自身利益,在 iOS 开发人员相对稀缺阶段,培训了大量的从业人员,扰乱了市场正常的供需关系,导致从业人员供大于需;
  • 鱼龙混杂的从业者,很多开发者并不是科班出身,只是听说 iOS 开发者的薪资待遇高,才决定去培训机构学习,经过四五个月左右的强制灌输和培训机构的包装后,摇身一变成了具有两年开发经验的 iOS 开发者,其本身不具备计算机专业相关的基础知识;
  • 资本市场资金的收紧,导致流向互联网领域的热钱迅速减少,相比前几年互联网行业的创业潮,很多创业者张口闭口我们是颠覆者,一定会替代某某某,只要嘴炮一番就能忽悠到投资人的钱,今年的资本市场回归了理性。那些没有清晰盈利模式的初创公司迅速倒闭,相关中小互联网公司的用人需求在萎缩;
  • 市场需求的理性回归,很多培训班出身,或者工作年限不足三年,或者是一年工作经验用了三年的初中级开发者满足不了市场上很多公司对于中高级开发者相关的技术要求,于是,被市场无情的淘汰;
  • 行业内薪资待遇的降低, iOS 开发已经结束了早期因从业者稀少而造成的市场红利时期,进入到了一个稳步发展的相对稳定时期。因此,薪资待遇回归到了一个正常的水准。那些早期享受到这种红利的开发者,一时间接受不了薪资待遇的降低;
  • 技术层面方面, iOS 开发依托苹果提供的平台,该平台的封闭性决定了开发者所接触的技术面比较狭窄,脱离了苹果,不能完全胜任其他技术工作;

我所遇到的一个例子

带着这些不安,对于已经结束的 16 年,我做了一份[总结]( http://xibhe.com/2017/01/15/再见! 2016/),也包括 17 年的一些计划。或许是心志不坚,或许是颓废太久,这种不安仍旧存在,直到上周面试了一个来公司应聘 iOS 开发的应聘者......

周五下午,人事和我说能不能帮忙面试一下,本来是另一个项目组需要的人,但恰巧他们的负责人不在,就让我去面了。第一次面试别人还是有些紧张,好像自己第一次被别人面试一样紧张。但左等右等还是等不到人事通知我去面试,后来大概半小时后被人事告知那个来面试的人已经走了,据她说面试题只做了一半,人就走了,可能是被我们的面试题吓走了。但面试题我也看过,是四十道很基础的面试题呀!表示不解啊!本以为这次安排的面试就这样结束了,后来人事通知还有一个已经写完了面试题,在沙发区等着,于是我就开始了这次面试之旅。

短暂的两分钟的沉默,我简单看了一下他的简历,上面工作经验写着三年。心里便盘算着从哪些知识点入手可以探出对方是不是真的有三年工作经验。先是让对方做了一个简单的自我介绍,然后开始对着简历问一些问题,简历上写了四个项目,每个项目所用到的技术都是一些大众化的技术,比如,网络请求库 AFNetworking ,图片加载库 SDWebImage ,数据库 FMDB ,刷新库 MJRefresh ,适配库 Masonry 等各种三方库的使用。于是我便问了以下的问题:

  • NSOperation 与 GCD 的区别
  • GCD 中如何避免死锁和数据竞争
  • Block 的使用及如何避免循环引用
  • 使用过哪些设计模式
  • 单例,什么是单例,单例的作用
  • 内存管理
  • 网络请求库的使用
  • JS 与原生应用是如何交互的
  • 了解过 RunTime 吗
  • 通知是异步还是同步
  • 该如何对 tableView 进行优化,实现滑动的流畅性,以及如何避免 tableView 代理方法中冗长的代码
  • SDWebImage 的运行机制
  • App 中的多用户逻辑
  • 如何实现一个可以循环滚动的轮播图(类似于京东,淘宝首页顶部效果)
  • 给你一个新项目你会怎么做
  • 是否能看一下你的技术博客或是 GitHub 上的开源项目

对方对上述问题的回答模棱两可,十分的模糊。其中涉及到 GCD 那块的问题,只说了用过, GCD 的如何避免数据竞争和死锁,以及它与 NSOperation 的区别只是把什么是 NSOperation 用名词解释了一下,而对于 Block 的循环引用问题,支支吾吾想了半天回答的文不对题。设计模式是典型的 MVC ,倒是提到了 MVVM ,但这里也只是简单的提到,就没有什么下文了。单例的使用,边想边说,整了半天也没有将声明单例的具体方法说明白。内存管理这块,据他说,学 iOS 开发时 MRC 已经没人用了,他就直接用的 ARC 。 JS 与原生应用交互这块说没有用过。那么 RunTime 呢?说是底层的东西没有怎么了解过。 tableView 的优化方面,说是用的原生 API 的代理方法,这个还需要优化吗? SDWebImage 的运行机制,把它的使用方法说了一遍。 App 中的多用户逻辑,说是服务器的事,客户端不需要考虑。轮播图功能的实现,说的是使用 NSTimer 。给你一个新项目你会怎么做,说的是先花一周进行需求分析,再新建工程,使用 CocoaPods 把那些要用到的三方库引入到工程中。问完了这些问题,我还是抱有一丝幻想的,心想也许是太过紧张了,再看看他做的项目吧!

看了下对方手机上他参与开发的项目,是一些与美食推荐相关的项目,有一个已经停止维护,拉取不到任何数据了。剩下的都是一些数据使用 tableView 展示的普通项目,没有什么逻辑特别复杂或是需要使用很高明技术的功能。自此,我仍然没有放弃,心想或许对方还研究过其他的技术点,于是就问对方,是否能看一下你的技术博客或是 GitHub 上的开源项目。对方回答说,没有。此刻,我也只能道了两声谢谢,说有结果人事会通知你。心里想着,本来还想问有没有使用过 Swift ,可是现在看来,已经没有问的必要了。

结束

红利已经结束了,那个只要会使用 tableView 等常用控件就能找到工作的时代结束了。 曾听一位前辈说过,

“感觉每个做技术的一开始都是一粒沙子,不断修炼学习吸收营养变成大颗粒的沙子。 再学习其他东西把自己变成土块儿,时间是一把大筛子,每次过滤掉小沙粒,只留大块儿在上面,在你被筛掉之前要么变的比网眼大留下来,要么赶紧被筛掉转行吧!”

7195 次点击
所在节点    职场话题
33 条回复
ArthurHe
2017-02-28 08:39:44 +08:00
@YiYing
*在工作之外,有没有利用技术鼓捣一点儿东西
*最近有没有在学习、了解一些技术方面的东西
*你是如何沉淀工作中的收获,沉淀学习到的新技术

这些问题很好!
issues
2017-02-28 09:00:43 +08:00
面试官不面倒你,怎么显示他牛 B 呢?怎么能当你的上级呢?
ArthurHe
2017-02-28 09:01:37 +08:00
最后来个总结吧!

猥琐发育,别浪!
chenggoi
2017-02-28 09:25:12 +08:00
我觉得面试考察的主要是面试者与面试官的缘分,缘分到了自然迎刃而解(逃)
joeHuang
2017-02-28 10:02:10 +08:00
曾经找实习的时候, 1 、 2 、 3 、 4 、 5 、 6 、 9 、 11 近乎于每个面过的大厂都会问。
kenshinhu
2017-02-28 10:27:03 +08:00
Uiimage imageNamed 和 UIImage imageWithContentsOfFile 的区别是什么?
答: imageNamed 有缓存, imageWithContentsOfFile 没有缓存, imageWithContentsOfFile 适用于大图
MasterFlag
2017-02-28 10:28:27 +08:00
一个从业两年半的 iOS 的开发者的回答(面过人也被面过)
第一题, NSOperation 、 GCD 线程管理的不同 API ,具体差别只能看文档才知道,不过基本只用过 GCD
第二题,真心没遇到过,只能背教科书了
第三题,加修饰符,原谅我记不住,大概两个下划线开头的东西吧
第四题,设计模式,単例,工厂,适配器, MVC 也算吧
第四题,内存管理,一句话,谁创建,谁释放
第五题,我一直觉得 js 是世界上最难的语言,也最反人类(会被喷吗)
第六题,只用过 msg_send , kvo 算吗?(真不知道),我觉得这东西跟 Java 的反射很像,但用起来更方便
第七题,不知道
第八题,没优化过,至于代码冗长,多长算长,我觉得我写的代码都不长(捂脸逃)
第九题,我没用过 SDWebImage ,我猜让我写,也是写缓存,本地有了,就不下载,同时再加个内存缓存也是美滋滋
第十题,多用户逻辑,是同时在线多个用户还是一个 APP 多用户切换,还是跟 QQ 一样多用户下都可以收消息,但只能操作一个用户
第十一题,我自己做过,还可以实现无限轮播, scrollView+NSTimer 就好
第十二题,新项目,难道不是先排工期么,另外, iOS 开发者在公司项目组根本就插不上话,我一直觉得自己是个局外人,根本不受重视,别笑,做安卓的你也一样
第十二题,没 GitHub ,懒癌晚期。博客,看过喵神(@onevcat )的和唐巧大大的,开源项目,一样懒癌晚期

====================分割线===============

从业两年多一点,渣渣专科软件专业毕业,英语渣渣,估计小学生水平
为人不够努力,懒癌晚期,各种不务正业,羡慕嫉妒恨那些比我聪明还比我努力的人
其实,很多程序员都是我这样

很多时候企业抱怨找不到好的员工,求职者又抱怨找不到好的企业
企业嫌弃面试者能力低,面试者嫌弃企业工资低

这个世界上,任何领域的人才都是金字塔,企业也一样
一个萝卜一个坑,多大的萝卜多大的坑

企业招聘,先立目标,需要什么水平的人,再来说人合不合适,因为我发现很多公司招聘信息千篇一律,估计都是百度搜的吧,对待求职者也缺乏基本的尊重,可能只需要一个初级的程序员,但是要求也一样是 3 年经验,会 XX ,精通 XX ,但薪水却是呵呵,结果还抱怨招不到合适的人。说培训班扰乱市场,企业们又何尝不是,这一点相信很多初级程序员和毕业生们深有体会吧。那些花了过万块的学生培训后不说点慌连个面试都没有,我去年在北京,简历实话实说,一年半经验,结果呢, 2000 份简历石沉大海。那可是北京啊,全国 iOS 需求量最大的城市啊!一个巴掌拍不响,市场不是一方面的责任,很多时候,我觉得企业(更多是半大不大的中小企业)的责任更大。(此处不针对谁谁谁,这是说明这个现象)

我面试没有固定的题目,看着对方简历,看到哪,问到哪(毕竟小公司)
我更关注对方的反应能力,思维活跃度,而不是背题目的能力(很多培训班的老师会让学生背面试题,命中率超高,这算不上内幕了),不会 GCD ,还不是一个下午的事
但是,要是不聪明,还骄傲自大,难以交流,估计很多知识也是一知半解
再说最后一点,诚实诚信比什么都重要,我身边很多朋友都是培训班出来的,一样能挑大梁


====================分割线===============
这是我第一次在这个论坛回帖,本来还想说些什么的,可是突然懒癌发作,不行,我快不彳
HelloiWorld
2017-02-28 11:07:00 +08:00
@MasterFlag 半懒癌患者回复一下,打了很多字,想想还是删了,道理太多说不尽,无论是对面试官还是求职者,唯"心诚"而已
DingSoung
2017-02-28 11:22:25 +08:00
去年招了三四个月的 iOS ,绝大部分都不太满意,极个别觉得不错的结果放弃了 offer ,最终放弃了
对开发者要求还是很高的,要的并不是单纯的码页面的程序员

但是还来了个培训老师,各种概念滔滔不绝,把我忽悠的,后来然 CTO 把它刷了。所以后来我们并没有的纠结在技术上面,更多的是看这个人有没有自己的思维,态度怎么样,是不是一个认真踏实干活、对技术有追求的人。
DingSoung
2017-02-28 11:30:43 +08:00
有一个面试者,是内部介绍过来的,然后面试的时候,比较高傲,不屑于回答,然后我问他最擅长什么,然后找几个比较刁钻的问题想让他回去,然后他不服输,还让我当场做出来给他看,囧。

还有一个面试者,基础面的都还行,但是与我们预期的还有一点距离 我,然后让他先回去我们备选,结果他不服,赖着不走了,囧。
wshcdr
2017-02-28 11:46:43 +08:00
mvc 不属于设计模式
shakoon
2017-02-28 12:42:48 +08:00
面过不少初级开发岗位的人(从外包商那儿采购人力),基本都是两年以下工作经验的,讲话不通顺、逻辑不强、抓不住重点是最常见的问题,介绍自己的项目经验和技能水平都说得不是很清楚,简直不明白这种人怎么都会被招聘进来
expkzb
2017-03-01 07:46:18 +08:00
我面试是看缘分的,主要是聊得来

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

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

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

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

© 2021 V2EX