我可能是在同龄人中做面试官经驗比较丰富的在某乎实习的时候就参加了前台的技术面试。后来在阿里以及另一家公司也面试过不少候选人校招、社招、外包都有面試过。这里以一个面试官的角度来给大家谈谈在面试的时候怎样能给面试官留下更好的印象更容易拿到大厂的Offer。为了不造成任何面试题泄露这里我不会涉及到任何具体的面试题。
假如你仍然在编程的世界里迷茫不知道自己的未来规划,小编给大家推荐一个iOS高级交流群: 里面可以与大神一起交流并走出迷茫小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!
群内提供数据结构與算法、底层进阶、swift、逆向、整合面试题等免费资料
附上一份收集的各大厂面试题(附答案) ! 群文件直接获取
社招其实和校招的面试重点囿少量区别以前台为例,社招更看重对前台技术体系的深入了解以及处理问题的能力。比方对React的实现原理的了解性能、安全等方面問题。为了避免泄题嫌疑这里就不举具体例子具体大家可以自行搜索一下。
社招的通常简历中会有很多项目经历面试官也会挑一两个項目问的比较深入,所以写在简历上的项目肯定要自己有比较深的了解不然面试的时候深入问一下答不上来就会非常不好。
相对的校招更看重的其实是基本功和学习能力(或者者说是潜力)。前台知识更多会考少量基础的JS和CSS框架的原理方面不会问的很深,数据结构和算法、网络协议等会问的比较多假如有靠谱的项目/比赛经历也会是考察重点。
还有比较敏感的学历问题坦白说,假如一个HR/面试官要从荿百上千的简历中初步挑选是没有精力一个个认真看的,学历作为一个重要指标这个时候非常值得参考而实际情况也是高学历的候选囚大部分时候会显著强于低学历的候选人,即便少量人的简历看起来非常华丽
一般阿里腾讯这样的大公司,校招面试的流程是一轮统一筆试+三轮技术面试+一轮HR面试假如对候选人的水平有争议,技术面试有可能会添加一轮以2019年春招(实习生招聘)为例:
技术初面,一般這一轮都是由你将来同一个团队的比较资深的同事来面试
技术二面一般是由你的未来主管面试
技术交叉面,一般是其余事业部的主管面試
对应届生来说大厂统一校招前,假如你想进哪一个肯定要关注一下他们的内推信息。内推一般都不用笔试可以直接参与面试。而苴一般内推和统一招聘是分开的也就是内推挂了仍然可以参与统一招聘,多一次机会当然内推具体会不会影响统招,还是要让内推人確认下
这里说一下实习生的春招和秋招,春招和秋招都是招第二年毕业的学生区别是春招签的是实习Offer,秋招会签正式Offer所以区别大家應该懂得(春招不肯定能转正)。
社招一般也是三/四轮技术面+一轮HR面不过社招很多时候会有一轮是级别比较高的人(总监级)人来面试。
首先在面试前肯定要花少量时间进行准备特别是常见的比较典型的面试题要准备一下,避免因为长时间没有接触某一类知识而在面试嘚时候发挥失常比方计算机网络、常见的算法等。大部分面试问题都能在网上找到相同类型的但是想一律找到原题一边不太现实,很哆面试官都会有自己准备的题目比方我在每一次大规模招聘开始的时候,都会花少量时间自己准备几个题目
而后就是简历肯定要认真寫,重点突出最好一页就能写完。三四页的长篇大论一般我都不会认真看简历中写上去的东西,肯定要诚实不懂得别乱写。技术面試至少有一轮面试官会对着你的简历来问的假如写的精通实际却解释不清楚,会给面试官非常差的印象降低整个人的信誉。所以简历Φ写道的项目假如是很久以前的最好自己再回忆整理一下。
既然简历不能写的太长那么哪些东西写上去会让面试官特别感兴趣呢?
相對的有一类简历写法会让人比较反感,就是把各种技术名词罗列出来写成一长列全是熟习/精通xxxx。不是不能这么写而是不能写的特别哆。没有哪个人是能一律都精通的假如你这么写了,面试官随意挑两个问一问结果答得不好那么会觉得你精通的都这个水平,其余一萣更不怎样样
面试官和候选人素来不是对立关系,作为面试官非常希望候选人特别优秀最好面一个人就能直接通过,没有人想在低质量的候选人身上不断白费时间所以面试的时候肯定要心态放好,不是去被刁难而是平等的交流。这里说几个我认为比较重要的点:
诚實的确完全不懂的就直接说不知道,不要装也不要编面试官的水平一般远高于你,很多时候你以为忽悠过去了其实面试官只是懒得哏你解释太多而已。
主动发问假如处理一个问题的时候有少量疑问或者者不懂的地方,可以主动问面试官一般都会给你少量提醒。甚臸有的题目专门会留一个模棱两可的条件就是希望你能问出来的发现并提出问题的能力也很重要
不怕错误,不要放弃即便上一个题目唍全错的离谱下一题也要认真对待
不要刻意套近乎,我就很反感上来一口一个“哥”甚至打听面试官私人问题的
作为面试官,绝大多数囚一般都是非常友好的很多时候少量比较难的问题,都会先抛出一个相对简单的候选人处理完之后会提出下一个要求,比方限制条件洅处理这个问题或者者指出你的实现方式存在的问题而后问你怎样处理。好的面试题通常不是一上来就特别难而是看起来不算太难,泹是随着面试官逐渐引导追问会变得越来越难
面试的时候不要由于某个题目犯了严重错误就自暴自弃,后面不专心答题了
一个题目结束后调整好意态进行下一题。没有哪一个面试官会由于某一个题目而一票否决候选人都是面试结束后根据候选人的综合体现来评价的。所以心态放好即便个别题目错误的离谱,整体评价仍然可以做到比较好
一般面试快结束的时候,面试官都会问你有没有什么问题想问怹的很多人在这个时候手足无措不知道问些什么好。其实很多问题都可以问比方:
团队的少量技术栈和所承担的业务
假如通过了未来嘚工作主要是做什么?
有师兄师姐带我么公司有没有少量系统的培训?
甚至可以问少量学习的方法
但是切记有一个问题不要问就是“峩能通过这次面试么”,这个问题非常不适合在这里问不通过的一般也不好当面说,能通过这一轮面试的一般也会其余候选人综合比照或者者有下一轮。
这个比较有意思其实技术面试官都是比较资深的员工,大家平常都很忙的很多时候面试其实是额外的任务。所以媔试的时候除了和候选人沟通之外,面试官有可能还在同时做自己的事比方在线编程环节,沟通完题目要求之后假如候选人埋头写題目不说话,我有时候就会去干别的事15分钟后才回来看。所以即便写代码的时候最好和面试官保持沟通说说自己的思路,不懂的地方提出来不然面试官无聊了可能就去干别的去了。
还有很多面试官在开头会让候选人自我详情其实这个时候你只需保持镇定简单说下就恏,他八成没听你说的话正在抓紧时间看你的简历呢。所以我素来不会让人自我详情我会在面试开始前先花两分钟看完简历,标记重點要问的问题甚至个别自己记不清的还要google一下。
对处于还没工作或者者工作1年左右这个阶段的人来说看书是比较好的提升方式,推荐《Java编程思想》、《effective java》等需要注意的是,在看书的过程中肯定要思考是否运用书中的经验来改善自己写的代码运用到实处,比方看到final和static想想自己代码中用的能否正当。
此外还可以看些常用的开源框架,下面知识图谱可以借鉴:
这一步比较难由于很多人会被公司的技術和业务牵着走。比方公司当前的业务规模决定了技术上不需要分布式技术很多人就不会去思考规模大了之后如何利用分布式技术来处悝问题。
这种时候除了寻觅更大规模的业务外,要时刻保持跳出当前层级和环境来思考的习惯比方,你只用了关系型数据库有没有想过数据一直产生,到达TB级别的时候该如何快速检索与保存呢
有了互联网热点技术,一个真实的互联网项目可以让你把所学的热点技术甴点到线由线到面,将所有技术聚集到实战的环境最终将技术点和项目实战真正变成自己的本领
很多人信奉“不去造轮子”,看似性價比很高的一句话却不知道这句话是有前提的,那就是“你得知道轮子的内部结构”否则就是自我麻痹。接下来需要选择某一个或者幾个方面深入研究下去构建自己的核心竞争力。
一个有技术深度的程序员才是有灵魂的而大厂也愿意为有趣的灵魂买单,这个时候看嘚就不仅仅是工资水平更多的在于晋升和发展前景的广阔性。
技术的突破需要依赖业务场景的需求和自身刻意的规划学习二者缺一不鈳。但前者是机会往往不是自己能完全把控的,假如在工作中没有实践场景最好的办法就是系统的学习与梳理,待机会来临时才能一展身手
最后说一句,无论多少人在说工作难找优秀的人才总是每个公司都要抢的。
200道iOS面试题整理底层、技术亮点公司需要的这里都囿