黑马程序员技术交流社区
标题:
iOS面试小经验-----写作能力请担待
[打印本页]
作者:
王志忠老师
时间:
2016-5-6 12:05
标题:
iOS面试小经验-----写作能力请担待
本帖最后由 王志忠老师 于 2016-5-6 12:33 编辑
前言:最近面试了4家公司感觉真的很累,面试的情况大概是1、10K(税后) 2、 14K(税前)3、等通知 4、12K(税后)。学员问我,为什么我什么价位的都去投,都去面试一遍,因为我们想知道在深圳各个价位的公司,各个价位大概需要掌握什么技能。需要针对一下各个学习情况的学员
套路:
1、 面试见到面试官,当他和你寒暄的时候,你跟他开个小玩笑,营造聊天的氛围。
2、 遇到不会的不要紧张,认真分析,把你的分析过程告诉面试官,告诉他你是有解决问题能力的人
3、 遇到非技术人员,如果他要和你说项目,尽量说的高大上,听起来牛逼。
4、 遇到技术人员,简单的言简意赅,有难度难的,分点作答,尽量分析透彻。答错了也没关系,很少人会抓住一个小毛病不放,记住你和他是在聊天,在交流你两是平等的关系。
5、 引导,引导,引导,引导面试官到你准备的有技术点的地方上,展示你的120%的技术,把主动权要过来
6、 准备,准备,还是准备。去之前了解别人的公司的项目,有项目的分析一下别人的项目的做法,没项目的也要去了解一下别人大概做什么的,表示你的诚意。以及了解别人是什么类型的公司,这对你针对他们公司回答问题很有帮助。
7、 你有什么问题?都烂透了,无非就是团队现在啥样了,准备过来做一些什么?你问的问题不是白问的,而是进一步突出你技术的地方
比如:公司最近想做一个什么样的App,这个App有什么样的功能
回答:恩,这个额功能,怎样怎样,现在市场环境很好,这个App很新颖,然后表明你对公司项目的极大兴趣。
8、 最后一点:就是多面!多面!多面!纸上得来终觉浅,觉知此事要躬行,任何一个拿高工资或者找到工作做经验交流的学员都是针对他自己的情况给学员意见,而我们作为学员多面之后总有自己的特点
总结一下:如果你是那个上课认真听,下课不玩手机不搞其他,很大多数同学一样,每天晚自习都还在,1点还发QQ给我让我处理bug的那些同学;那些扪心自问,我努力了的同学;那些你即使跟不上,也在咬牙坚持能学多少学多少,默默付出的同学;请坚持最后的冲刺,我们去面试,面试的技巧学校都学了很多,大多数的面试知识我们都可以传授给学员,但实践的东西还是要你们自己,去面,去面,去面。我们可以通过帮助写简历很容易的成为你面试的敲门砖,但是最终面试,拿到offer还是要看学员自己。
下面拿其中一个我自己成功的案例,请原谅我作为一个理工科专业的语文水平。未免枯燥,我尽量说重点。
screenshot.png
(115.85 KB, 下载次数: 136)
下载附件
2016-5-6 12:20 上传
1、 出点小意外。打个出租车去面试,司机居然开错路!(迟到了悲剧,不过最好不要迟到!)
解决:提前20分钟给人事打电话说明情况
2、 相遇面试官。
开个玩笑缓解气氛:这个小黑屋是不是有人被惩罚就被拉在这里的啊?
3、 问题:
面试官
: 请做一下自我介绍
我:(说自己的基本信息,做过什么项目,主要擅长什么)
面试官
: 这些项目都是上架的吗?
我:是啊,要不要我给你演示一下(这里最好说一下,日活量,月活量,下载量等)
面试官
: NSUserDefault传值和block的区别?
答: NSUserDefault可以传值但是消耗的内存会消耗内存,block传值的话会很方便而且相对的也不会消耗内存,我们做的话都是用block来做的
面试官
: 通知推送有没有延迟的情况?
答: 通知推送?当时我没反应过来什么是通知推送,所以我回答到推送去了。
面试官
: 是发送通知
答: 原来是通知发生延迟的情况。如果是通知发生延迟的情况,有2种可能 1)程序员把耗时操作放在了主线程,当执行到发送通知那段代码的时候造成线程卡顿2)通知回调放到了子线程,当子线程被销毁的时候,通知还没有发送成功。
(这里感觉处理面试官不是很专业,技术应该也厉害不到哪里去,主动要过主动权) 闲扯了一会,工资还有其他的,然后叫了技术总监来。
面试官: 稍等一下。
技术总监
: 你好,因为那边正在开会,所以只能来这边坐着面试。
我:你好,没事,我刚刚就问刚那位帅哥,是不是有人做错事就拉进来面壁(开个小玩笑,营造和谐的氛围)
技术总监
: (拿出一张纸,一只笔,给我画图问问题)第一个问题,请说一下app的线程安全问题。第二个问题:post和get的区别
我:(心里无限庆幸,上课的时候就问了几百遍的题目居然拿来问我,倒背如流)
首先行业这样做的安卓有三方面,而我们iOS有两方面
第一:网络方面,别人以为做数据请求用post会比get请求安全,但是这是错的,post请求虽然看起来你的请求是在请求体上,不像get的那么容易看到,但是那个是很容易随便用一个脚本就可以看到实际请求的。所以我们需要对我们请求的内容进行加密。一开始最普遍的加密方式是base64,后面比较好的是md5,但是小米2~3年前,小米用md5的加密方式被别人大数据破解了,后面小米采用md5加盐加时间戳这样一种方式,但是这种方式只要别人知道你的加密方式一样是可以轻松破解的。现在比较流行的比较安全的加密方式是一种是https建立安全通道,另一种是用对称加密和非对称加密结合使用的这样一种方式,当然极少数公司还会自己写自己的http协议,不过这种就不太适合一般公司了
第二: 本地数据缓存。本地缓存新手的话他会把用户的账号密码直接不加密的直接通过归档,偏好设置或者写入文件的其中一种方式直接存储用户的账号密码,这种方式是及其错误的,因为如果用户拿到你手机还是可以破解你的账号密码,所以我们会采用ssh key苹果原生自带的加密方式进行加密,这种加密方式是非常安全的,至少对绝大多数公司来说是非常安全的,毕竟FBI都破解不了,还把苹果告上法庭
第三种的话,是通过代码打乱的这样一种方式,因为现在iOS有一个付费的工具,他能通过别人的app,将代码反编译出来,不过安卓经常就是将代码打乱,这样就算别人拿到代码都不知道写的是什么,不过这种方式我是听做安卓同事说的,我们iOS来说很少这样做。
第二个问题post和get的区别,其实我刚刚在其实也大概说了。
面试官:(沉默,看了我的简历)恩,挺好的,在iOS中你比较擅长什么地方?
我:我在网络方面处理得比较好
技术总监
: 恩,挺好的,你稍等一下
我:(心里淡定一大截,感觉十拿九稳,回答好的话一个)
老板把我从小黑屋,带到了他的办公室,这里我就不多说了,剩下的就是大家一起建立理想共同奔向未来的过程,所以我就适当的配合就没啥问题了,不过初创型公司,工资不会给太多,最终还是 拿到了offer。
有人问我为什么技术总监只问了一个问题,第一可能他也不太懂iOS他没什么好问的,再者肯定是第一轮的技术面试人员给我说了好话说不错,最重要的一点就是,我这个问题在他看来回答的比较全面比较有深度,可能他就觉得没有继续问下去的必要了。
作者:
619769785
时间:
2016-5-8 16:43
写的好好
作者:
lijian
时间:
2016-5-8 23:34
学习经验了
作者:
結断的时光
时间:
2016-5-9 23:08
又一个大神..
作者:
超人不会飞啊
时间:
2016-5-29 19:45
认真学习了
作者:
山下人
时间:
2016-5-29 23:06
学习经验
作者:
火火
时间:
2016-6-11 09:01
哈哈哈哈哈在怎么感觉soear月
作者:
忆图灵
时间:
2016-6-15 21:00
关键还是在学习期间要认真的学习,该记的东西还是要记
作者:
匿名
时间:
2017-5-22 22:30
技术总监问的是线程安全呀,你说的是线程安全?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2