太极阴阳道,傻儿师长全集,厚街喜来登酒店
目前经济增速的放缓,到处都在鼓吹互联网发展进入下半场。今年跳槽季的遭遇想必大家也是感受到了一丝寒意。笔者有一个朋友在阿里工作,今年3月底开始请他帮忙内推,也许是阿里的大前端战略,也许真的是互联网的寒意。对于一个三年的ioser上海这边一直没有合适的岗位可推,即便是有也是招p7级别,统统被拒的命运。我也是放弃了希望,开始找其它渠道推销自己,不过最终还是找到了心仪的工作,现在终于可以做一下总结了。
前期面试还是很有激情的,每次面试完毕都会回忆并记录,总结,再学习。其实这个过程也是一个非常有效的学习过程。不过代价有点大,你可能会失去一次机会。最好的方式,还是做好充足的准备。我在说什么?好吧,好像是一些感慨之类的。能体会到的读者,就请点个赞吧,哈哈!没体会到的读者就当没看到吧,反正仅仅是感慨而已,哈哈嗝!
还是简单再说下,这段时间的经历吧。首先这段经历是从老司机周报开始的,因为之前就和周报的峰哥有些联系,所以看到周报的内推时,也就自然而然的联系峰哥内推了。首先就是字节跳动,不过简历筛选都没通过。帮忙内推的曾鸣大佬说出了原因:
没办法,确实没亮点。之后峰哥也是帮忙指导了简历,我也尽量按照star法则修改了简历,通过其他渠道投递了字节跳动不过也都没有机会。可能是有失败记录,半年或三个月内都不能通过筛选了吧。后来掘金的内推群有位前百度、美团的现头条大佬说他内推的成功率高,还不受之前简历锁定影响,投递之后仍然没有消息。不过后来北京字节跳动的hr联系了我,问我有没有兴趣去北京,我当即来了个没兴趣。通完电话才想到即便是不去也应该增加一下远程面试经验呀...这让我想到之前看到的一篇文章说上海的字节跳动比北京门槛高,现在来看确实如此了。
接下来就是阿里的内推了。朋友在口碑做的前端,在连续一周多都没有合适投递岗位的情况下,朋友给我分析了一下原因。口碑大概有2000多人,前端有40~50人,ios只有6个人。阿里的大前端战略和所谓的不裁人策略,也导致很多转岗。所以阿里目前在招的大多是p7级别的专家,又是一个无可奈何。
在这两家开始遭遇不顺时,我就已经开始了招聘网站的简历投递。接下来就进入了面试,回忆记录,总结,学习研究的轮回,直到终于拿到了心仪的工作。
知识总结我是通过mindnode处理的,有些详细,有些仅仅一提,但是都能从看到的知识点展开回答。每次看一遍内心就复述一遍,基本都背下来了。当然这只是部分知识,还有很多没有总结,以后我也会继续为它添砖加瓦的。如果有朋友想要加入的话我非常欢迎,大家也可以自己下载自行添加知识点。或者自己创建都行,我只是感觉以这种方式完善知识体系很不错。当然这里不能做详细展开,所以最好也有适合自己的笔记总结。例如:我使用印象笔记收藏相关模块的高质量文章作为相关知识点的扩展。
这里放出源文件的地址:ios面试,如果没有安装mindnode可以到应用商店安装,或者这里精品mac应用分享(个人最爱)
关于算法练习我们都会想到去leetcode刷题。虽然leetcode支持swift答题,但是让人不爽的是有些处理字符串的题,用swift作答会超时,所以笔者在练习时主要使用c和swift作答。有时也会使用oc先理清思路,再使用其他语言进行作答。毕竟有些题需要边写边想,还有些需要进行调试才行。所以这也是用playground不方便的地方,它不能进行断点调试。有了这些前提我就在想怎么才能使用现在工具,更好的进行算法题的练习呢?我想到了xcode的单元测试,我们知道在继承自xctestcase
的类中实现以test
为前缀的方法时,该方法前会生成一个菱形指示符,鼠标置于其上时会显示运行按钮,我们就可以通过该按钮运行测试用例,同时还支持断点调试。例如下图中的判断是否为回文数一题:
需要使用swift解答也采用同样的策略,就个人来说,这么练题实在是太爽了(leetcode)。
当然完善知识体系看书也是必须的,例如图解http、剑指offer、effective objective-c 2.0、objective-c高级编程等大家都推荐到烂的书都是必须的,但是技术也是有时效性的。所以例如高级编程中的一些知识,就需要在它指导的思想上实践出目前的实现原理。
所以请记住两点:基础一定要扎实,原理一定要理解。
接下来贴出一些面试题,前面也说道前期很认真的记录,学习。面了一段时间这些问题很熟悉了,也就没有详细记录了。大家了解一下主要方向就可以了,毕竟很多问题会从你的简历中提问:
小莫运动
- (void)testreservestr { nslog(@"--%@", [self func:@"antyum"]); } - (nsstring *)func:(nsstring *)str { return str.length ? [nsstring stringwithformat:@"%@%@",[self func:[str substringfromindex:1]],[str substringtoindex:1]] : @""; }
小红书
电话
说一下你做过的东西
对链表和数组的认识,应用场景
weak和assign的区别
assign可以修饰oc对象吗
weak置为nil是如何实现的
gcd中的block用到的属性是否需要__weak修饰
block中对数组增删怎么操作
+load和+initilaze在分类,父类,子类和main函数的调用顺序
+load加载顺序:父类,子类,分类。如果多个分类会按照pbxsourcesbuildphase中顺序逐个调用。
main()
+initialize加载顺序:首先有分类时,最后被load的分类会覆盖类的该方法。然后先父类,再子类,直到第一次被调用的类。
为什么要把+load中的逻辑放到+initilize
...
浦发
爱回收
类型 | 描述 |
---|---|
数字型(number) | javascript 中的双精度浮点型格式 |
字符串型(string) | 双引号包裹的 unicode 字符和反斜杠转义字符 |
布尔型(boolean) | true 或 false |
数组(array) | 有序的值序列 |
值(value) | 可以是字符串,数字,true 或 false,null 等等 |
对象(object) | 无序的键:值对集合 |
空格(whitespace) | 可用于任意符号对之间 |
null | 空 |
京东
携程
汇正财经
携程
关于面试套路,我这边没有特别多的方法。目前主要有一个方法吧,化被动为主动。这个怎么讲呢?首先我们看一下下面的自我介绍:
几乎所有听完这个自我介绍的面试问题都是:那你说的那些认识错误的问题都有哪些呢?这时就是你主动表现你深入研究过知识点的时候了。
当你被问到一个不会的问题时,不要含糊回答,直接说明你对这个问题认识不深,或者不太清楚。但是我知道...(回答与之相关的知识)
再有可以思考几个常用问题,例如:你认为工作中遇到过印象最深的问题?你还有哪些可以介绍的亮点?你有什么问题想问我吗?这些问题几乎每次都会被问到,提前思考主动准备还是非常有必要的。
更多的关于这方面的总结推荐大家可以看下面两篇文章:
百度/阿里/网易 ios 面经(已入职)
大三ioser春招总结(腾讯蚂蚁头条京东网易)
文章写到这里也就到了该结束的时候了,总之一句话机会留给有准备的人。面试题持续整理更新中,需要拿到第一手大厂面试题及答案文档可以加入ios技术交流群,群号:789143298 !结实人脉、讨论技术你想要的这里都有!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
iOS 使用UITextField自定义搜索框 实现用户输入完之后“实时搜索”功能
网友评论