注册 登录
主题 : 谈谈最近面试的一些体会
级别: 新手上路
UID: 6630
精华: 0
发帖: 17
可可豆: 83 CB
威望: 83 点
在线时间: 20(时)
注册时间: 2009-06-26
最后登录: 2017-07-25
楼主 : 发表于: 2016-03-13 22:02    发自: Web Page

谈谈最近面试的一些体会   

最近一两个月,作为公司的iOS面试官,面试了几十个人,其中不乏优秀的面试者,但大部分还是相对平庸,这些人通常都工作了两三年,有一定的经验,但存在几个关键性的问题:

1. 研究不深入。

  最普遍的问题就是只知道调用sdk或者第三方库,却不知道里面怎么写的。这种面试者一般在小公司工作了两三年,能使用sdk去解决一般性的问题,但也仅仅只是停留在使用层面上,却从来不钻进源码里面去研究原理,对于iOS系统较为底层的技术也是一知半解,或者压根没听过。这种面试者我基本上都pass了,如果是招普通的工程师,也勉强说得过去,但我们招的是高级工程师,对系统底层是一定要有些了解的,否则很多关键性问题就解决不了。

2. 缺乏程序设计方面的思考。

程序设计是区分一个开发者是普通还是高级的一个门槛,一般来说程序设计包括两个方面:组件设计和架构设计。组件设计是针对单个模块的,相对比较简单,架构设计是针对整体的,比较复杂。但总的来说,都是要解决在版本不断迭代,业务不断变化的过程中,模块的耦合性和可扩展性始终保持在一个合理的范围内。很多人平时开发的时候只关注自己做的那个模块,对整个应用程序缺乏一个宏观的思考,架构设计的不合理。举个例子来说,很多人喜欢把什么网络请求、手势处理、页面布局和各种业务逻辑都往VC里面写,导致其无比臃肿,不仅别的人看不懂,自己维护起来也麻烦。还有单例模式的滥用,单例确实有时候挺好的,用来传值、发网络请求都可以用单例,但是滥用单例会破坏模块的独立性,且增加不必要的内存开销。还有些人喜欢增加一个新的功能就继承一下原来的类,这样在版本的迭代中,继承关系越来过多,当有一个新的模块,要把某个功能从继承关系中抽出来的时候,就发现抽不出来了,因为已经耦合的太深。如果你想做高级工程师或者架构师,这方面的技术是一定要修炼的,而且越早越好。

3. 基础不扎实。

这里说的基础主要是在大学里面学的基础课程知识,比如数据结构、算法、操作系统什么的。一般来讲,重点大学毕业的基础知识会比普通大学毕业的要好,可能是因为在学校的时候要求比较严吧,反正考到这方面的时候,差别就很明显。可能有些人会说,算法这些在实际工作中能用到的太少了,考察这些没有意义。确实,平时开发中直接使用算法的很少,因为我们都是直接调用系统或者第三方的sdk,这些人家都帮我们封装好啦。但正是因为如此,才让我们少了去深入研究底层的一个机会。殊不知,越到底层,越是讲究性能和效率,这时候如果你算法、数据结构这些掌握的不扎实,就彻底完蛋了。现在的iOS开发说实在的,真的没有什么特别难的,难也就是难在几个方面:图像渲染、动画、音视频、socket、runtime(这些都是属于Cocoa底层框架),除此之外基本都是属于业务层面的或者是应用架构的问题。当你把Cocoa底层框架都研究透以后,你会发现自己已经到了一个技术瓶颈,而这时你想要再提高自己水平的话,就只能往系统底层去研究了。

4. 对网络和后台知识的了解匮乏。

虽然我们招的是iOS工程师,是做客户端的,但我觉得如果只掌握客户端的技术,而对网络和后台知识一无所知的话,也是不合格的。因为实际的工作环境中,避免不了要与后台联调接口,如果出了问题不知道从哪里着手,只知道依赖后端工程师的话,那工作效率肯定很低,这在一个创业型的公司里面是非常严重的问题。所以一个合格的iOS工程师或者说前端工程师,是应该要了解网络和后台知识的。

5. 对待工作的主动性不够。

这种情况在工作了两到三年的开发者中最为明显。初入职场还不到一年的,一般还会主动去承担工作任务,因为他们想要提升自己的能力,得到领导的重视。而工作了两三年以后,很多人已经是“老油条”了,业务方面已经很熟练,一般的编程问题似乎也没什么解决不了的,然后就会渐渐变得懒惰起来,不愿意承担额外的工作,一下班就走人。这种人其实很危险,在团队中会起到一个不好的影响,会让整个团队的士气下降。 如果公司招了更优秀的人才,那么他被解雇的可能性就会很大。

以上几点只是我个人的看法,作为一个工作了6、7年的程序员,我也曾经经历过这么一段时期,也犯过一些错误,所幸那时候iOS的竞争还没那么激烈,找工作没那么困难。但是随着这一行从业的人越来越多,要想出类拔萃,就必须在自己的工作能力和工作态度上面下功夫。最后,希望大家都能找到好工作!
关键词: ios
级别: 精灵王

状态: 未签到 - [1067天]
UID: 241631
精华: 0
发帖: 690
可可豆: 15582 CB
威望: 4060 点
在线时间: 937(时)
注册时间: 2013-09-09
最后登录: 2017-07-25
沙发 : 发表于: 2016-03-14 09:16    发自: Web Page
现在还处于调用sdk使用第三方框架阶段
级别: 精灵王
UID: 157950
精华: 0
发帖: 1297
可可豆: 3238 CB
威望: 3282 点
在线时间: 1476(时)
注册时间: 2012-07-29
最后登录: 2017-07-19
板凳 : 发表于: 2016-03-14 10:05    发自: Web Page
赞,金玉良言
级别: 新手上路
UID: 6630
精华: 0
发帖: 17
可可豆: 83 CB
威望: 83 点
在线时间: 20(时)
注册时间: 2009-06-26
最后登录: 2017-07-25
3 楼:  发表于: 2016-03-14 11:21    发自: Web Page
回 1楼(蚊香酱) 的帖子
努力加油~ 超越这一阶段!
级别: 新手上路
UID: 544081
精华: 0
发帖: 1
可可豆: 1 CB
威望: 1 点
在线时间: 53(时)
注册时间: 2016-02-22
最后登录: 2017-05-30
4 楼:  发表于: 2016-03-21 21:47    发自: Web Page
感谢楼主的职业道路指引
级别: 新手上路
UID: 536608
精华: 0
发帖: 1
可可豆: 1 CB
威望: 1 点
在线时间: 42(时)
注册时间: 2016-01-06
最后登录: 2016-12-15
5 楼:  发表于: 2016-03-22 16:00    发自: Web Page
比较干脆~~~~加油
级别: 新手上路
状态: 未签到 - [1天]
UID: 310257
精华: 0
发帖: 11
可可豆: 82 CB
威望: 34 点
在线时间: 141(时)
注册时间: 2014-04-23
最后登录: 2017-01-12
6 楼:  发表于: 2016-04-11 13:29    发自: Web Page
回 楼主(finger) 的帖子
我感觉所有的都是说的是我,
我还有次厚脸无耻的面试完了,发份邮件,说,你们公司APP做成这个死相,还有脸出来面试。
不过一想想,我确实不行,管别人干嘛
研究不深入,基础不扎实,看东西一知半解,缺乏积极性,全被说中了。
我要摆正态度了
级别: 骑士

状态: 未签到 - [390天]
UID: 504248
精华: 0
发帖: 164
可可豆: 2057 CB
威望: 1371 点
在线时间: 455(时)
注册时间: 2015-09-09
最后登录: 2017-04-17
7 楼:  发表于: 2016-04-11 14:10    发自: Web Page
   除了最后一条好像我全占了
级别: 版主

状态: 未签到 - [217天]
UID: 38060
精华: 1
发帖: 137580
可可豆: 1373716 CB
威望: 1374133 点
在线时间: 2216(时)
注册时间: 2010-11-14
最后登录: 2017-07-14
8 楼:  发表于: 2016-04-12 10:50    发自: Web Page
赞同楼主所说。
两到三年如果还是停留在用用第三方库上,基本上也就是个初级程序员了。
有些人,你以为可以再见面
有些事,你以为可以一直继续下去
然而,也许在你转身的那个刹那
有些人,你就再也见不到了
有些事,也就不能再继续了
当太阳落下,又升起来的时候
一切都变了,一不小心就再也回不去了
级别: 新手上路
UID: 480330
精华: 0
发帖: 19
可可豆: 64 CB
威望: 64 点
在线时间: 79(时)
注册时间: 2015-06-11
最后登录: 2016-10-20
9 楼:  发表于: 2016-04-13 14:03    发自: Web Page
赞  金玉良言
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

验证问题:
苹果公司现任CEO是谁?2字 正确答案:库克

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部