你们在金色的余晖中回家,而我却在银色的温柔中,匆匆潜行-----这是我的现状。

  今年的招工形式不是很好,难找工作;也难招人。写这篇博客,是为了给各位在找工作的iOS dev 一些参考。

上篇:换坑(去面试)

  又是一年换坑的时节,出于各种原因,我又换坑了。

  今年面了6家,5个offer。看似还不错,实际很艰难。3月初,boss对公司人员透露,今年不涨薪水且暂无项目奖金。我这组,直接走了6个,我迫于无奈提出离职。一开始我觉得今年应该也很容易找工作,毕竟去年轻松就跳槽了。然而,一个月没接到电话。我一度以为留错了手机号,再三确认以后,发现并没有错。虽然不慌,但是或多或少有些担忧。4月下旬接到了第一个电话,是Cisco的面试邀请。我这才安心,毕竟有电话了。

  先说第一家吧。Cisco,我去面试了3个小时。4轮面试:

  第一轮:OC,问了一些语法,基本都答出来了。最后问了一道二叉树的排序输出,其实不难,但是我真的不会。(半路出家,算法基本不会)。这关过了

  第二轮:C++,问了一下auto_ptr的实现原理,基本答出来了。然后问了我数据加密传输的一些方案,答出来了。最后,状态机的实现方案,这题我答的不好。这关过了

  第三轮:英文面试,老套路,自我介绍,项目内容的问答。这关过了

  第四轮:C,问了我一些指针题。感觉好吃力。可能挂在这轮了

  人事告诉我,这里总共就四轮,你都面过了,回去等通知吧。(没谈工资,这就明显GG了。。)

  总结,去大公司综合素质和技术一样重要。明显我的技术不够扎实。

  第二家,一家车载智能模块开发的公司。技术面试,基本没压力。给了一道代码的纠错题,轻松过。然后副总直接面试,也过了。最后还是没去,我要18k,他说你才毕业3年,我们给不到,只能16k。好吧,16也可以,但是13薪。我觉得做一个管理岗位,有点低。所以没去。

  总结,2k都不想给的,估计别的待遇也不好;还有用人看工龄的,我觉得不合适。

  第三家,创业两年的互联网公司,面试基本无压力。问了一些OC的基本语法,项目架构。boss面试,谈了一下对创业公司的见解,boss很满意。2轮面试,基本过了。这家17k,14-18薪;上班路程30mins;不打卡。是不是很好,然而10-22点的,觉得很累。

  总结,创业公司,喜欢看实力,要能立刻干活,一般都很累。不打卡其实就是无条件加班。薪资在高,不如不累。

  第四家,传统企业。这家居然要我笔试,我当时就不乐意了。(招人的话,两年+的工作经验,还要笔试,我觉得HR有问题。)笔试全对,都是考培训生的题目,所以无压。面试之后了解到,他们有一个IM项目,拿到了风投,不过架构和实现都不行。需要来人帮他们重构,而我正好独立完成过IM app,性能也很好。岗位,给我一个开发的title,但是要带2个新人。我要18k,不同意。基本pass了。

  总结,传统行业还是传统行业,许多做法很过时。16k,13薪,还要我带两个新人。吃力不讨好。

  第五家,外卖行业的巨头之一,3个字。面试了很多技术:代理的一对多;socket的传输优化;控制反转的实现及优化;ASI和AFN的优缺点;Block的实现原理等等。面试很全面,当然我过了。后来说人事没空,让我等消息。这一等就是很纠结,不得不吐槽一下。HR,每次给我电话都是19点到20点;HR,要我提供收入证明,我提供了,一直没有收到反馈。结果她说她们总监出差了,呵呵。等了4天说过了,让她发offer,一直说走流程,呵呵。

  第一周的周五面试,第二周的周五晚上8点发的offer,这效率,我觉得活不久了。关键是发offer的那天是4月30号。五一前的最后一个晚上。我就想说,你找好工作回家,和没找到工作回家是不是一个心情。你不理解我,我何必呢。

  总结,年轻的企业就是年轻。18k,12-16薪。(HR,8点都没下班,IT几点才能走呢。。。)

  第六家,也就是选择的这一家。虽然现在是21点,我还有1个多小时才下班。但是我接受。技术面试,基本无压力;人事面试,过了。人事每天电话我,要我回复offer的确认。语气强硬但是,不会压迫人。和第五家的高傲完全不一样。我选择了这家,待遇什么都还可以,而且有发展空间。

  总结,16k,14-17薪。工作餐,下午茶,很好的办公环境。关键是效率高,从入职到开发到部门协调,做事不用等。这家也不打卡,所以加班你懂的。

  最后说一下感触和面试的主要内容。
  感触:1、好好学习,有底气才可以选;2、不打卡就是无限加班;3、薪水低,待遇好有时也不错;4、大企业执行力很重要。
  面试内容:OC基本语法,多线程,设计模式,算法(心好累);解决问题的常用渠道。

  

下篇:选萝卜(面试别人)

  入职以后,老大把iOS的面试我转给了我。每天人事会给我很多她们选过简历,真的很多,一天40份。看完之后,我告诉她们可以来面试的人员名单。

  简历筛选是很重要的一关,我说一下我筛选的几个标准:

  1、稳定性,你4年换4家,我要你干嘛。

  2、技术积累,你有没有blog、GitHub开源项目。

  3、个人说明,不要说你什么都可以,我不知道你想做什么,想要什么职位。

  4、项目陈列,你做的什么都写出来。不然我不知道你干啥。

  面试过程,没有笔试,直接对话,问到不会为止。

  我一定会问以下问题:

  1、你的拿手项目是什么?你负责哪些?

  2、你对app框架有什么见解?

  3、你用了哪些控件?第三方的话,你看过源码没,看过注意事项么?你会优化吗?

  4、block的运行在内存里面的流程?

  5、GCD的典型用法,下载文件然后更新UI。

  6、对hybrid开发了解程度。(项目要用这个)

  

  接下来就是刷人的时候了。只要你的简历上写的精通的熟练的,我都会问,有3个答不出来的你就GG了。

  swift,我会问他一道基础语法,还有一个特有语法。

  C++,我会问智能指针和lambda。

  OC的Runtime,我会问[self xxx]; 在Runtime里面会被转化为什么。

  OC的内存管理机制,我会问一个赋值语句在运行时,会产生几块内存地址。

  Linux,我会问一些终端的基本操作:pwd是什么命令  vim怎么删除一行。

  android,我会问intent 什么时候会失败,最大可以传递多大的数据。

  设计模式,我会要他写一个单例。

  

  我面了大约10个人,就两个过了的。有一个5年的上来就说要做技术负责人,结果他说他精通的,我一问他三不知,自己走了。有一个三年的,一问控件,都是第三方,所有的都是,只会伸手。还有一个4年的,说项目都是独立完成的,一问http模块和加密模块,他说别人写的。

  总结一下这些没过的原因:

  1、不会的别吹牛,人家问深点你就不会了,会多少就如实写;(诚实很重要)

  2、别一直换东家,你在别的地方走得快,我这里你也可能呆不久;(稳定很重要)

  3、OC的基本语法很重要,copy,strong,原子非原子;

  4、常用第三方的源码你看了没?没看的话,使用时的注意事项,你知道吗?实现原理呢?(不要只做伸手党)

  5、内存管理机制,GCD,你不了解就GG了;(低层还是要会一些的)  

  6、OC的进阶语法,例如:数组的枚举别用for in,用enumerateObjectsUsingBlock 。(每种语言的优势要发挥出来)

  

也说面试 - 一个努力的iOS Dev的更多相关文章

  1. iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件

    iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 步骤 第一步:在 Proj ...

  2. iOS Dev (21) 用 AVPlayer 播放一个本地音频文件

    iOS Dev (21) 用 AVPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 前言 这篇文章与上一篇极其相似,要注 ...

  3. iOS Dev (60) 怎样实现 UITextView 中的 placeHolder

    iOS Dev (60) 怎样实现 UITextView 中的 placeHolder 作者:阿锐 地址:http://blog.csdn.net/prevention - 跟着你的 UITextVi ...

  4. iOS Dev (59) 高度自适应的UITextView

    iOS Dev (59) 高度自适应的UITextView 作者:阿锐 地址:http://blog.csdn.net/prevention - 例如以下 _inputTextView 为一个 UIT ...

  5. 【如何快速的开发一个完整的iOS直播app】(美颜篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重 ...

  6. 【如何快速的开发一个完整的iOS直播app】(采集篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,首先需要采集主 ...

  7. 【如何快速的开发一个完整的iOS直播app】(播放篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkpl ...

  8. 【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...

  9. 【如何快速的开发一个完整的iOS直播app】(推流篇)

    前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如 ...

随机推荐

  1. vb6 枚举对象属性

    Option Explicit '引用Library TLI ' C:\WINDOWS\system32\TLBINF32.DLL ' TypeLib Information Private Sub ...

  2. nginx tar.gz安装方法+简单静态文件配置

    1.首先安装依赖包(依赖包有点多,我们采用yum的方式来安装) yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel ...

  3. Laravel学习笔记(六)数据库 数据库填充

    数据库驱动的应用程序往往需要预先填充数据到数据库,以便进行测试和演示. 什么是种子数据 种子数据就是必须要加载了应用程序才能正常运行的数据.大多数应用程序需要在开发.测试和生产中加载一些参考数据. 一 ...

  4. 实验室ip同步脚步

    #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin hostname=`hostname` us ...

  5. 开源是一种态度、分享是一种精神 — FirApi发布、WeiXinApi更新

    在云计算盛行的年代,接触开发式的平台必不可少,因项目累积的代码也不少,之前本着"重复的事情自己做一次就够了,不需要其他人在重复为此工作."的想法发布了WeiXinApi.Boots ...

  6. css绝对定位问题

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 直接解压msi文件

    msiexec /a "F:\TDDownload\subversion-1.5.5.msi" /qb TARGETDIR="F:\TDDownload\subversi ...

  8. poj 2513 Colored Sticks trie树+欧拉图+并查集

    点击打开链接 Colored Sticks Time Limit: 5000MS   Memory Limit: 128000K Total Submissions: 27955   Accepted ...

  9. Flex 加载shp

    至于gis格式比较常见的shp是开源的,网上开源的as代码也很多 这个支持的shp算比较好的 源码在这边http://files.cnblogs.com/files/haibalai/shp.rar, ...

  10. 洛谷P3373 【模板】线段树 2

     P3373 [模板]线段树 2 47通过 186提交 题目提供者HansBug 标签 难度提高+/省选- 提交  讨论  题解 最新讨论 为啥WA(TAT) 题目描述 如题,已知一个数列,你需要进行 ...