也说面试 - 一个努力的iOS Dev

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

  今年的招工形式不是很好,难找工作;也难招人。写这篇博客,是为了给各位在找工作的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 。(每种语言的优势要发挥出来)

  

时间: 2024-09-28 21:16:11

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

世界不曾亏欠每一个努力的人

几年前,站在一所名校的门前,女友痛斥考研的正哥:所有人都误以为这里是梦开始的地方,我想告诉你,这里也是梦破碎的地方. 正哥说她太悲观,女友怪他不现实.于是,她转身坐上了另一个男人的豪车,甚至没有正式对他说再见. 有很长一段时间,正哥每天醒来和睡时都会抱着她的照片.最难受的时候,他曾跑到雪地中,吞了几口冰凉的雪,在雪地上写:I’mcoming,coming,coming......直至手指冻得没有知觉. 从此,正哥惜时惜命,把平日里所有的时间安排妥当,再挤出来一些时间去充电.记得那年夏天,我们一起

iOS Dev (66) 一个手机游戏程序的基本考虑

iOS Dev (66) 一个手机游戏程序的基本考虑 博客:http://blog.csdn.net/prevention 作者:大锐哥 摘自:Learn iPhone and iPad cocos2d Game Development 1 基本流程内的 handler 程序启动 applicationDidFinishLaunching 程序切到后台 applicationDidEnterBackground 程序运行结束 applicationWillTerminate 2 基本设置 允许用

如何面试一个1-3年的 iOS 程序员(持续更新)

如何面试一个1-3年的 iOS 程序员(持续更新) 计算机基础类 请说一说 HTTP 1.0 和 1.1之间的区别(懵逼题)这是一道计算机类别的题, 具体区别可以单独写一篇博客了, 但是一般情况下, 最主要的区别还是指1.1中支持长连接. 1.0规定的是浏览器只能与服务器保持短连接, 浏览器的每次请求都需要跟服务器建立一次 TCP 连接, 请求处理完以后就立即断开 TCP 连接, 服务器不跟踪每个客户也不记录过去的请求. 具体可以看这篇博客 请说一说长连接和短连接的区别这个和面试官讨论了一下,

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

iOS Dev (60) 怎样实现 UITextView 中的 placeHolder 作者:阿锐 地址:http://blog.csdn.net/prevention - 跟着你的 UITextView 定义一个 UILabel. UILabel *inputPlaceHolder; placeHolder 是当有内容时不显示.无内容时显示.所以能够为所在的实例相应的类实现 UITextViewDelegate 中例如以下方法. - (void)textViewDidChange:(UITex

努力的23岁开始了

努力的23岁开始了 奋斗 拼搏 忘记 在我21岁的最后几天,第一次喜欢一个姑娘,第一次借着鼓起勇气说 我喜欢你(I Love U) 然而换回的是彷徨 : ( 既然如此,那也只好 さよなら 平心而论我很后悔,失去了一份美好的缺憾,换回来了一份缺憾,丢失了美好. 于是我迎来了20余年来最难过的一年 失恋 + 找工作 + 学习压力 + 猪队友 坏事总是成堆出现,而美好的事物却总是被我亲手扼杀 我总是在凝望着深渊,但是深渊TMD不按套路出牌,都不肯回望我一下就直接将我吞噬 我总是在凝望着妹子,但是妹子T

Q8:在iOS Dev Center进行证书申请以及生成iPa文件给别人玩

iOS发开蛋疼集锦下 Write by iceAna Team 2.Bie~~,App(Submit app into Store) 01.前言 iOS真机调试上集回顾,倘若还未看过请猛戳这里.我简单总结下: 写完代码,选中我们的iPhone.iPad等设备(在开发者账号中注册过),在Xcode下可以进行真机调试. 将项目代码.开发者证书.**密钥**.开发者账号打包,传输到到另外一台Mac,即可在另外一台电脑进行真机调试,当然前提是设备都必须注册过. 注意到开发证书以及密钥,对于某些朋友比较陌

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

iOS Dev (59) 高度自适应的UITextView 作者:阿锐 地址:http://blog.csdn.net/prevention - 如下 _inputTextView 为一个 UITextView 实例.首先要设置它的 delegate,然后要在你的头文件的 interface 声明中加上 UITextViewDelegate. _inputTextView.delegate = self; 在 implementation 中实现如下方法: - (void)textViewDid

iOS Dev (60) 如何实现 UITextView 中的 placeHolder

iOS Dev (60) 如何实现 UITextView 中的 placeHolder 作者:阿锐 地址:http://blog.csdn.net/prevention - 跟着你的 UITextView 定义一个 UILabel. UILabel *inputPlaceHolder; placeHolder 是当有内容时不显示,无内容时显示,所以可以为所在的实例对应的类实现 UITextViewDelegate 中如下方法. - (void)textViewDidChange:(UITextV

iOS Dev (26) 初步了解下UIColor的最常用知识

作者:CSDN 大锐哥 地址:http://blog.csdn.net/prevention - 内置的颜色有啥? // Some convenience methods to create colors. These colors will be as calibrated as possible. // These colors are cached. + (UIColor *)blackColor; // 0.0 white + (UIColor *)darkGrayColor; // 0