BAT+华为SP面经,聊一些细节加分项

先讲面试流程,按时间和公司来排序:

阿里:
阿里在拥抱变化消息放出来之后,随随便便做了笔试题,然后竟然收到了面试通知。
技术面略温和。可能是他们不招人的原因。
一面:
问了一个改进的二分查找,要求找到输入为N的第N个值为K的数。
要求写了多线程下的单例。
问了为何选择IOS开发而不是Android开发。我说做Android开发时遇到一些坑,他就具体问我哪些坑。然后问后续有没有解决这些坑。
后来给我总结说自信活泼,能力强,但是遇到问题要深挖。

二面:
拔得很高,都是些很抽象的问题,结合简历来问的,面试官喜欢临场发挥,提一些问题。这个面试官气场很强,几乎打乱我的节奏。
让你带一个全新的系统,你打算怎么做?
命令模式是什么?
一个GBK编码在各种机型上测试跑出来有很多不同的错误码,错误不确定,要怎么检查?
为何引擎、UI渲染通常情况下用单线程来做?
UI的优先级是如何?
后续打算如何学习IOS?有没有具体的计划?
被问的很惨,但是或多或少有结合自己具体的经验去回答抽象的问题。应该是这一点让技术二面决定让我进HR面了吧。

HR面:
最恶心的一面了。害的劳资都有HR面恐惧症了。
要求用两个字评价大学生涯。
遇到的最大挫折是什么。
在我讲述过程中多次打断我,插入一些鄙视我学校、鄙视学校学生的话。

最后跟我各种吐槽阿里缩招的事,选几句经典的话。


PS.我并不是阿里宝宝,但是因为这个事情成为阿里黑。签了之后做的第一件事情就是黑阿里HR。然而阿里的技术都很赞。

百度:
百度第一次笔试,进不去。
百度第二次笔试,进不去,放弃。

鹅场:
技术一面:
组合模式是啥。
TCP/UDP区别。
UDP的应用场景,为什么。
红黑树是啥。
堆是啥。
两个栈实现队列(让写代码)。
看些什么书平常。
IOS里的isa指针。

技术二面:
气场超级强大,不让说多余的废话,就一直问关键问题。
给一个数组,演练快排过程。
C++里的几个Cast。
c里的volatile关键字。
UDP为何快。
Socket编程。
TCP三次握手。
为何IOS而不是Android。
JAVA垃圾回收。
C++ const实现。
宏和const的区别。
胜任工作的优缺点。
每个项目都几个人负责的。
使用过几个引擎间的差别。
4亿个QQ输入任意QQ判断是否是会员。

HR面:
太温柔了。
压力最大的情况是什么时候。
加班怎么看。
工作地点。
OFFER收割情况。

华为:

机试:
逆转单词问题。
取石子问题。
第三个忘了。

技术一面:
如何当上副***的。
C与C++区别。
C与C++哪个性能比较好。
A*算法。
工作地点意愿。

技术二面(HR):
项目里用了哪些数据结构。
主要是项目。

下面这些细节、技巧是我总结的,不一定适合每个人,大牛可以跳过去,这些都是细小的加分项。

面试前的一些准备:
1)搜集信息,如果有前面的人去面试过了,尽可能多的打听一些信息,准备自己的回答,要保证这些问题问到你,能够答得得体。
2)注意形象,不要给人邋遢的感觉,快上场前注意一下牙齿。。换位思考自己如果是面试官,看到你的样子第一眼,会不会想要和你作为同事?
3)代码能力是最能拉分的,在面试前一天最该着重准备的是一些基本算法的默写,代码的风格最好参考一些规范的写法,注意边界条件。
4)有一些非常影响面试的性格弱点,希望在面试前一个月就自己认识清楚,最短时间努力去改正。比如说表达能力差的同学,一定要抽时间锻炼自己的演讲能力,和同学对话模拟演练,看一些辩论比赛,结合简历准备好台本等等等等。。
5)控制面试中比例的分配。面试可以分为项目和技术两大块,决策出你的最佳比例,项目熟悉的,多写一些在简历上,增加面试官问你项目的时间,不要盲目相信网上的所谓“简历最好一页,项目最好一个”,那是对你所有项目中有特别出色的一个而言。如果对自己项目特别熟悉,不要吝惜笔墨,但是要注意条理清晰。相反,如果对项目不够熟悉也来不及准备,就要在基础上下苦功夫了。如果简历上的东西不够出彩,导致面试官问的少,而且打算很快时间结束的话,你必须要有危机意识。这时候可以有这样一些险招来扳回一城。
“我的基础/网络/数据结构比较扎实,您可以问一下这方面”
这些话一旦说出来,就要准备好被问到
红黑树/TCP格式/B树/内存管理等等比较难的问题,需要提前做好准备。
简历上也可以写一些引导面试官发问的内容。
在技能上,写上
“熟悉游戏中的经典算法/在GIT上维护开源代码”这样具体的,引人发问的话。


面试中的一些技巧:
1)观察面试官的性格,也就是常说的察言观色。如果面试官比较活泼,就表现自己开朗积极的一面。可以在面试中试着活跃气氛,最能插段子的地方是自我介绍和讲述优缺点的时候。
如果面试官年纪比较大,记得表现诚恳谨慎,不要跳,不要飞,放慢语速,想好了再说话。一般这些年长的面试官阅人无数,眼光毒辣,最好不要想给他们挖坑。。
2)谈话本来就是双向的,讲项目的时候也有一些给面试官挖坑的地方,比方说让介绍项目的时候,自己特别熟的地方,也能体现自己能力很深的地方,故意不说的很清楚,让面试官问出来。然后再回答。
3)因为是应届生,对自己即将从事的行业的认识,最好能用自己的语言表达出来,不要上网找一些资深人士的总结去背诵,太过生硬,有的时候自己的认识+细节描述会给这段经历加很多分,也表现你是一个注重实践的人。
4)写代码的时候不要冷场,这个时候一般你不说话,面试官也不说话,他会在电脑上给你敲评价。这时候最好不要让他冷静下来作对你的分析,要陪他说话,最好的就是一边写一边说代码思路,不仅可以让你消除紧张,还可以缓和气氛。

杂七杂八的经验总结:
如何回答自己不会的问题?
面试官问的问题复杂了,一般有两种情况是难以回答的,第一种,上升到一个非常抽象的层次提的问题。这时候,应该向面试官提出对具体的线索的要求。“能不能举个具体的例子?”要求在具体情境下进行作答。这样就降低了回答的难度。
第二种是没接触过。这里再分为两种,第一种工作情景,和业务相关。第二种可以概括为具体的技术问题。
关于业务问题,需要你从自己的项目里作一些总结,回想一些类似的情景,“这个问题我在自己作项目的时候也出现过类似的。。然后我是这么解决的。。”甚至你可以偷换概念,从问题转向说一些表现自己能力的事情,总之不能直接回答不会。
关于技术问题,如果不会,解决的一个基本的原则就是分解,转成一系列小的,你熟悉的问题,一个个击破。“这个问题我会分三个阶段解决,首先。。然后。。”如果分到原子问题,仍然不会,可以求助面试官,但是求助之前必须试探几个思路,“您的问题是这个意思吗?/我理解的这个概念可能不对,但是我猜测是这个样子。。”

如何回答自己非常熟悉的问题?
如果会并且熟悉,平常你也有总结的话,可以拔高。举个例子,面试官问到“稳定的排序有哪些?”
你可以回答“有插入排序、冒泡排序、基数排序”
也可以回答“内部排序有。。外部排序有。。”
我是这么回答的,“判断一个排序是否稳定要看算法中每一次循环中比较的步长,如果步长大于1,就是不稳定的”
面试官“那你说冒泡是稳定的吗”
“是的,因为它只有相邻的作比较,步长等于1”
面试官“那插入排序呢?”
“插入排序每一次循环都可以控制步长增长在1,也是稳定的”
。。。

面试官提问中的一些坑
“说一下你最得意的一个项目”
说一下个人的感受,我个人很讨厌这样的问题,尤其在我的简历上是精挑细选的三个项目之后。而且只说一个会导致我的节奏被打乱,陷入被动。
我会先试探的说,我是一个诚实的人,每个项目都是自己非常骄傲熟悉的,不擅长和非核心的项目并没有写到简历上去。可不可以用简短的话来一一为您介绍。
如果不可以,这时候就要做一个抉择,说哪一个?我的建议是,说和你应聘职业最相关的那一个,展现你的专业和职业的契合度,同时保持一个谦虚的态度,因为来面试你的都是这个专业的资深人士。没有的话,再说你最拿手的一个,记住由于面试官不会特别熟悉你的专长,为了避免他觉得无聊,请举足够多的例子,打足够多的比方,轻松幽默的讲述这个项目。

“你还有什么要问我的吗?”
我在这个问题上栽了无数的跟头。讲讲几个禁区吧,在你和面试官聊的不是很HAPPY的时候,不要问过于私人的问题,问面试官工作经验什么的;
不要问一下百度就能知道的蠢问题,什么公司这个事业群分几个部门,有哪些城市;
不要问公司保密的问题,工资福利;
不要问假大空的问题,什么公司发展前景的;
不要问会显示自己缺点的问题,让HR给你作人生规划什么的;
不要问与面试无关痛痒的问题。

保险中求保险的回答:
“请您为我这次面试做一次点评好吗”
如果有更好的答案,请联系我。

“遇到问题你是怎么解决的?”
这个问题,必须结合自己亲身体验,要讲的感人至深,引起面试官的共鸣。
问题分两个部分。“什么困难?”“怎么解决?”
困难的选择最好和你应聘的职业相关,如果是程序员,讲技术是最好的回答,把困难产生的成因和情景都交代完了,就算是编的也请把细节说的详细点,让面试官走进情景里。然后给出详细的、漂亮的解决方案,“因为困难发生突然而且时间紧迫,我先制定了一个紧急的解决方法,但是不算成熟,后来我一直对它觉得疑惑,潜下心来去网上找大牛的解决方案,一个个去实践,然后总结。。/因为网上没有搜到相关的解决方案,我去查看了源代码,发现问题是。。但是这都是我一些比较粗浅的见解,面试官您作为这个技术的资深从业人士,您觉得这个问题还有什么更好的解决方案?”

“你觉得你的缺点是什么?”
这个问题非常难以回答,一不小心回答错误整个面试印象分会被拉倒非常低。
一些经典回答又被大家用烂,也会让面试官讨厌你。
因此我总结出了新的方案。其实这个坑是展示你适于这份工作的一个很好的机会。
你首先要想一个问题,为何你选择这个职业,而不是另一个类似的/平行的/相交的?是否你对另一个职业有一种情感上的嫌弃?
有,很好,你可以从这个点来找到自己的缺点向面试官展示,从而证明你认清自己而且找到适合自己的职业定位。
例子:
移动客户端有两条线,一个是IOS一个是Android。我从这里考虑,说,我是一个有开发洁癖的人。
面试官“开发洁癖?”
“简单来说就是喜欢在固定框架下开发,有点怕麻烦”
面试官打断我“怕麻烦还能搞好开发?”
“我不是怕新的东西麻烦,我是对那些重复性的、累赘的代码特别讨厌,学不到东西嘛。我喜欢专注在逻辑上,那些重复性的工作我希望交给编译器或者引擎帮我做”
“举个例子说,我觉得IOS下的ARC特别好,它帮忙我处理了这些繁琐的过程,而且IOS它有一套自己的模式,强制更新,统一标准,并且对开发者友好。完美解决了我的强迫症,因此我觉得自己比较适合搞IOS开发”
(接下来面试官该问我ARC或者JAVA里的垃圾回收了,嘿嘿,早就准备好了)
之前也有学长评价自己性格闷和宅,然后适合搞开发的。但是这个答案显然有点烂大街了。
最后一个保守点的答案是讲一个正在改的缺点,先说缺点,紧接着说自己的改进方案。但是不会加多少印象分。

简历上的坑
“熟悉C/C++”
必问:C与C++的区别,请好好准备。同理其它语言。

“任***/副***/技术部长”
必问:这个职位给你带来的成长是什么?你如何当上这个职位?做了哪些突出贡献?

“热爱XX技术,经常阅读相关书籍和BLOG”
必问:近期看过哪些相关的书?有什么收获?

“XXX项目算法研究,使得速度提升了OOO”
必问:哪些性能下降了?下降百分比有没有做过实验对比?这个算法是自己提出的还是只有实现?

“熟悉数据结构与算法”
请改为
“熟悉常用数据结构与经典算法”

“熟悉网络”
请改为
“熟悉TCP/ip及XX框架下的Socket编程”

“熟悉操作系统”
请改为
“熟悉windows/linux下的内存管理。。。”
有哥们被问了计算机开机的启动过程,请大家不要写的太大,知识是无穷的,保持谦虚的态度,会什么才写什么,因为写什么就会被问什么。

自己的准备过程,夹杂一些干货推荐:
前一个月:
1)小甲鱼系列数据结构与算法视频。重新学习的感觉很好,也有定期默写基本算法。然后我在简历上勇敢的写上了
“熟悉常用数据结构与经典算法”
2)为了锻炼说话能力,开始看《奇葩说》,看乔布斯的演讲等等。
3)找各大牛的简历模板,修改简历,对着简历模拟练习。

前一周:
1)牛客网,结合投的职位针对性的刷题。刷完自己拿手的语言的题库,刷完操作系统、网络、数据结构,刷完智力题,然后就差不多。
2)《剑指OFFER》,编程题入门。
3)心慌意乱、刚面完试正煎熬那会,可以看看帅气的左老师讲题视频。

前一晚
1)敷个面膜,准备小裙子和鞋子,买好水和干粮。
2)脑海里演练被自己面试的过程。
3)联系已经面试过的同学索要面试信息。

前一个小时
1)检查牙齿
2)默写排序
3)自我介绍的练习

PS.签了之后和实验室的小伙伴多喝了几杯头脑发热之后写出这些东西,希望酒醒了不会觉得自己太装B想删文。
祝大家都拿到理想OFFER。
全部评论
看到检查牙齿那一句,哈哈,看到 喝酒,装13这些词,我以为 是个汉子 ,又重头看,看到 面膜,小裙子,原来是个妹纸,佩服,学习了,谢谢
4 回复 分享
发布于 2016-09-14 19:22
又一个万字面经贴,楼主千万别删除啊。造福其他同学
3 回复 分享
发布于 2015-09-22 23:50
穿裙子的不一定是妹子,有可能是伪娘,哈哈😄😄😄
点赞 回复 分享
发布于 2016-07-13 00:43
看到最后才知道是女生
点赞 回复 分享
发布于 2016-04-16 15:27
这么厉害的妹子,你们不要拦我。我要以身相许!
点赞 回复 分享
发布于 2015-09-25 17:22
竟然是个妹纸。。。~~~~(>_<)~~~~
点赞 回复 分享
发布于 2015-11-13 07:50
楼主写的非常好,赞赞赞,不要删文~
点赞 回复 分享
发布于 2015-09-22 23:54
好牛逼的妹子。
点赞 回复 分享
发布于 2015-09-23 00:53
好厉害的妹纸,不要删文,我要共享给我的朋友。。。
点赞 回复 分享
发布于 2015-09-23 09:25
找到差距了,好贴!
点赞 回复 分享
发布于 2015-09-23 11:07
同校师姐,厉害!
点赞 回复 分享
发布于 2015-09-23 13:05
这篇真的写得好实用
点赞 回复 分享
发布于 2015-10-27 14:17
可以的。感谢分享
点赞 回复 分享
发布于 2015-11-03 18:56
哈哈,跟我offer差不多,不知道签了哪呢?
点赞 回复 分享
发布于 2015-11-16 15:35
  额 ,  有必要这样研究如何对付面试官么?
点赞 回复 分享
发布于 2015-11-17 17:22
膜拜膜拜~
点赞 回复 分享
发布于 2016-07-14 22:06
你好。如何知道自己华为是sp啊?是在面试过程中还是签约的时候?华为SP一般多少。请私信我。
点赞 回复 分享
发布于 2016-07-15 19:10
人都搜索不到啊! 比较像知道ios去华为投的是什么岗呢? android么?
点赞 回复 分享
发布于 2016-07-29 21:11
4亿个QQ输入任意QQ判断是否是会员。 这道题的答案是什么?
点赞 回复 分享
发布于 2016-07-30 14:01
楼主你真凶,看了你的事情我发现自己才是一个水硕……
点赞 回复 分享
发布于 2016-09-13 17:16

相关推荐

9.12一面,9.14二面,9.20三面改到了9.24,实习强相关的问题就不放了面完泡一个月十月底给hr发了个邮件流程结束捏🤗————————————————一面animation和transition的区别手撕动画&nbsp;div先下移100px&nbsp;再右移100px手撕&nbsp;倒计时组件cdn为什么可以加速splitchunks怎么配置前端如何进行缓存react和vue的区别esm和cmj的区别————————————————二面i18n原理强缓存和协商缓存强缓存什么情况下会失效兼容性的问题一般怎么看有没有了解过为什么兼容性会造成高度塌陷的问题app和h5具体怎么调试手撕&nbsp;LRU缓存手撕&nbsp;聊天框————————————————三面,输得很彻底输得心服口服。。。。。。。。跨域的情况下如何获取到别的页面localstorage里存放的数据&nbsp;如何进行安全处理性能指标怎么看的&nbsp;fcp理想状态应该在几秒内(……)哪些优化会对这个指标产生影响性能指标好和坏的标准为什么服务器反应时间会对fcp和si造成影响从读到这个主文档到最终的这个页面被完全渲染出来发生了什么splitchunks可以无限分包吗什么情况会引发重绘和重排构建的时候js是异步还是同步&nbsp;js会阻塞dom树渲染吗defer和async的区别 假如在defer后面又有了dom元素怎么办最新的es属性了解吗weakset和set的区别&nbsp;强引用和弱引用的区别js垃圾回收堆和栈的概念内存泄漏如何检测&nbsp;有没有实践过什么情况会引发内存泄漏如果写了死循环会造成什么手撕&nbsp;数组拍平+去重手撕&nbsp;type嵌套数组的类型&nbsp;type&nbsp;NestedArray&nbsp;=&nbsp;T&nbsp;|&nbsp;NestedArray[];
应该还行吧:但我还是想说下快手hr,真***啊,一开始wx是叫请在上班时间联系我,签名是因为我下班后会消失,我也能理解,毕竟实习生下班还处理工作信息也挺烦的,因为泡了挺久的了我去问她面试还需要推后续流程吗完全不理,然后发现名字改成了你有神经病姐你这辈子也就这样了,别是一天到晚在微博当厕妹吧
查看35道真题和解析
点赞 评论 收藏
分享
评论
143
484
分享
牛客网
牛客企业服务