“ 第一章 阿里_研发部门 ”
阿里是最早投的一家公司,3月初那会,本来还在学习科二的,然后在阿里的学长,催着要简历,说内推已经开始了。于是乎,我就借机把科二给退了(被教练骂成狗的滋味真不好受,还好及时跑了)。学长给内推的部门是和o2o相关,iOS开发。
一、阿里一面_电话然后等了几天,3月9号,一面开始了,节奏很快,总共通话时候是26分钟..电话来的比较突然,那会还在看文章呢。一面过了,但是具体表现并不是很理想。
1、先是自我介绍。问iOS相关。比如:
(1)Category支持添加属性与成员变量吗
(2)IOS7之后,蓝牙的围栏功能
(3)说说Cell重用原理…
2、设计模式。这里主要问了iOS常用的设计模式,以及如何应用到实际需求中去。(1)MVC是否了解?介绍下使用情况。(2)MVC里面,View怎么通知到Model(3)了解delegate吗?并介绍(4)如果现在要实现一个下载功能,你要如何设计。说说每个类具体做什么
(5)然后就是再交流,对O2O有什么看法,有没有想问他的…
二、阿里二面_电话然后又过了两天,二面如约来了,36分钟,感觉比上次好,不过结果…二面和一面一样,都围绕iOS,问了objc相关,内存管理,设计模式等。但是更多的,询问了我平时的一些开发习惯,以及一些设计题。比如:
(1)如果让你设计KVO,要怎么设计
(2)现在你是如何适配的
(3)比较下storyboard和全代码
(4)如果有1w张图片要在屏幕滚动显示(每张图片满屏),至少要几个cell,如何实现循环滚动
(5)平时是怎么进行测试的,内存方面怎么测试
(6)平时自己有没有封装过比较复杂的控件平时如何实现网络请求,一般返回的数据是什么格式,如何解析..
(7)如何实现类似“Find My iPhone”这样功能二面相比一面来说,准备的更充分了。回答问题上,也比较积极,考虑的也比较多。不过二面结束没多久,内推状态就变成”待回绝”。Over了…
学长询问了面试官,结果是:“整体还不错,但总感觉少了点什么..”
经历完阿里这一次,总体来说,对我打击还挺大的。毕竟,第一次就跪了..同时,更多的是对自我的总结。
首先应该是准备不够充分,然后就是基础不够扎实。从面试官问的问题来看,大公司还是对基础要求比较高。
三、阿里校招_在线笔试之后,又投了阿里校招,参加了在线笔试。具体题目可以到牛客网练习(www.nowcoder.com)。虽然笔试通过了,不过现场面试的时间和课程冲突了,然后就没有跑去杭州面试。于是乎,和阿里就这样不了了之了。
“ 第二章 网易_邮件部门 ”
在结束阿里内推没多久,偶然在网上看到网易的一个招聘。因为方式比较新颖,就关注了下。
答案就在门的背后!(至于如何解题欢迎大家交流)。解开这个题目后,拿到了面试官的邮箱..然后抱着侥幸的心理,就投了。
1网易一面_电话没想到,第二天就来电话了。效率很高。55分钟..感觉被虐哭了。网易考核的主要是objc,iOS,设计模式,算法。主要如下:
(1)autorelease 和 @autoreleasepool区别
(2)unsafe_unretained , weak, assign 区别
(3)在block里面,对数组执行添加操作
(4)数组需要声明成 __block吗
(5)在block里面,对NSInteger进行修改
(6)NSInteger是否需要声明成__blcok
(7)NSThread,NSOperation, GCD区别
(8)runtime什么时候用
(9)通知和KVO区别
(10)深度遍历和广度遍历使用场景
(11)常用的设计模式
(12)算法题*2
(13)自己有什么优点…
面完之后,感觉整个人都不好了。内存管理部分,都能说出那么一些,但是一说多了,就不知道怎么回答了。总体来说,还是基础不够扎实。研究不够透彻。
然后面试完,一个很大的感受就是,一次面试,学到的,比自己闷头看书一个月,学到的还多。面试很直观的反应出了自己的不足。于是乎,针对内存管理,多线程等知识上的不足。我重新把那本狮子头的书认真看了遍。PS:如果觉得这方面知识也有所欠缺的话,可以到这里下载Objective-C高级编程iOS与OSX多线程和内存管理.pdf这本书,极力推荐。下载链接: http://pan.baidu.com/s/1pJsno7p
本以为,网易也就是这么结束了。没想到过了几天,人力资源部的妹子打电话来,约去杭州面试。于是乎于是乎,去杭州浪了~
2.网易二面_现场初到杭州,很巧的是在机场大巴上碰到了一个去H3C培训的大叔,更巧的是,他也住我那个酒店。然后就跟着他,一路聊到酒店.挺好。第二天网易面试,还是挺紧张的。9点多到了待客大厅,填了表,然后等面试官。然后网易给我的一个感觉就是,很内敛,低调,感觉挺好。之后一下来了两个面试官,领我到单独的小隔间面试..一次两个,有点虚。不过没多久,就适应了这种气氛,然后和面试官交流也比较开心。主要问题如下:
(1)我是上次和你通电话的那位,你觉得自己上次表现怎么样
(2)这段时间,都在干嘛
(3)我们认真看了你的github,感觉还不错然后给我一张纸,问了几个算法题:(1)如何实现一个数组每个元素依次向右移动k位。(后头的往前面补) 比如: [1, 2, 3, 4, 5] 挪两位变成[4, 5, 1, 2, 3](2)实现连连看算法(3)T9算法如何实现,全拼算法总的来说,问的都是算法相关,没有再涉及iOS部分。然后就算法来说,回答的还不错。虽然每道题不是一步到位,但是在与面试官沟通过程中,最后都逐步完善了自己的算法。
然后就是和面试官聊天了,两位面试官都很平易近人,聊得也比较开心。
然后就约了下午HR面。…面试完后,包括面试官已经人力管理的妹子都邀请我去网易食堂吃饭, 不过毕竟腼腆,我给拒绝了。出来才发现,找个饭店真不容易,早知道就厚着脸皮试试”丁家猪”了。
3.网易HR面_现场下午HR面,HR是个很漂亮的妹子,整个过程都比较欢乐,虽然一些问题上可能有不同看法。HR问的主要是一些职业规划,抗压能力,学习习惯,别人怎么看待自己等等..面试完以后,HR问我接下去准备干嘛,我说我要一路玩到萧山机场(那天酒店在萧山机场附近)。然后她打趣到:”真潇洒阿..”3月31日参加完网易杭州的现场面试。4月23号收到网易的正式offer。总算,踏实了…
“ 第三章 腾讯_微信事业部 ”
之前腾讯校招的时候,投了简历。不过一直到周围同学都参加了在线笔试,我仍然没收到通知的时候,我基本上已经放弃了。觉得自己应该在简历环节就被刷了,比较凄凉..
1微信一面_电话不过4月20的时候,突然来了个电话,对方说是腾讯微信事业部的。很突然,完全没想到。可以说,幸福来的太突然了..电话用时1小时10分, 中间把院长的课给翘了.. - -!主要还是围绕这几个方面:项目,设计模式,算法..问题包括:
(1)如何保证软件质量,怎么分析Crash日志
(2)谈谈你觉得最重要的一个项目
(3)你的个人主页是怎么写的
(4)假如我是一名初学者,你会向我推荐哪些第三方库
(5)使用了第三方库,有看他们是怎么实现的吗
(6)有没有看过大型项目的源码
(7)强连通量算法
(8)最短路径算法
(9)排序算法
(10)25个人每5人1个跑道,最少经过几次赛跑,得到前3名
腾讯给我的感觉就是,很靠谱。这几轮面试,就腾讯当场就给出了结果,不管是一面,二面,还是HR面而不是说让你再等通知。给我的感觉非常好。
一面最后,这个面试官就说,他这里通过了,问我明天什么时候有时间,给我约下另外一个面试官。
2.微信二面_collabedit+电话第二天微信二面如约来了,面试官很好。提前打电话问我有没有时间, 我表示想午睡一会,一个小时后开始。他答应了。然后一个小时后,另外一个面试官打电话来了,要我登录 http://collabedit.com/xxxx答题。collabedit可以在线共享。就是说,我这里敲什么,面试官那里就能同步显示。主要是考核编码能力。主要是两个算法题,第一道要求写出完整代码,第二道思路交流。
(1)求两个整数的最大公约数
(2)微信用户都是双向的好友,a是b的好友,那么b一定是a的。给定一个用户列表,有些用户是好友,有些不是,请判断,这些用户是否可以划分为两组,每组内的用户,互相都不是好友。如果能,请给出这个划分。完了之后,面试官问了我实习时间,然后问我对深圳和广州的看法(因为我第一志愿填的是深圳,微信本部在广州),问我愿意去广州吗。之后就表示他这里也通过了。这一两天给我约HR。3微信HR面_电话果然,两天后,微信HR来电话了。和她聊天很轻松,从头到尾都是喊我’龙泽..龙泽’,感觉很亲切。主要也是围绕职业规划等展开。然后最后就问我,是否愿意来微信实习,如果愿意,马上就给我offer,如果还犹豫,考虑清楚再联系她。当然,我表示愿意。然后hr留了微信号,说安排同事给我发确认函。当天晚上,另外一个人力资源的妹子打电话,和我讨论薪资等问题..总的来说,微信从一面,到最后确定下来,就经历了4天。非常效率。中间也很愉快。说来也巧,网易和微信是同时发来来的offer。网易电话刚放下没多久, 微信hr就来电话了。所以当时两边是先都允诺能去实习了,毕竟时间太紧,还没考虑好。之后还是因为个人原因,选择了微信,所以当天下午就打电话给网易,告知了他们。多少也有些遗憾,毕竟网易也是我很向往的一家公司。好了。到此,这段时间的面试总结就写好了。
下面就我个人来说,提几点建议:
(1)基础。不管是哪个方向,基础很重要。就比如iOS,objc的方方面面都必须了解。
(2)全面。有些东西,虽然不见得能答好,但你至少应该懂。
(3)设计模式。主流的那些设计模式非常有必要了解。
(4)算法。这个不是说恶补能补好的。建议大家长期积累。另外推荐<剑指offer>这本书。同时,可以在这里线上答题:牛客网-剑指offer。
(5)简历一定要真实!基本上面试官都是围绕简历展开交流的。懂或不懂,一问就知道,没必要搬起石头砸自己的脚
(6)提前准备。比如自我介绍,项目介绍,职业规划等等。基本都是必问的题目,能提前准备就提前准备好。
(7)开源,分享,积累。我一直认为,分享和开源是程序员进步的不二法门。我建议每个程序员都应该有自己的Github,有自己的博客。就这几次面试来说,博客和Github帮了我多。网易面试官直言,他们认真看过我的Github,微信HR问我要CSDN博客ID,说她很感兴趣。帮助别人,也是帮助自己。
(8)沟通。有时候一个问题,可能不懂,甚至题目都不理解。不要害怕, 主动与面试官沟通。我在网易面试的时候,关于全拼算法的实现,我当时连全拼都没一个完整的概念,它要满足哪些条件更加不清楚。我跟面试官坦诚我不懂这个概念,与他们的一步步沟通中实现了自己的算法,所以沟通,远比闷头写,到头来还可能错误来的实在。
(9)自信。能得到面试机会,最起码证明,你很优秀。我觉得自信很重要。如果一开始,就表现的慌慌张张,畏首畏尾,那么不管是你自己的发挥,还是面试官对你的看法,我觉得都不会很好。敲了一下午...真累。希望和我一样大三找实习的朋友,都能拿到自己心仪的offer!学习的路上,与君共勉。