40+场面试,100%通过率,我想分享的14条经验
来源 | 陈同学在搬砖
头图 | 下载于视觉中国
大家好,我是陈同学,首先来一个简单的自我介绍和个人的经历分享。
我的本科和硕士均就读于哈工大,在研究生期1年时间内自学操作系统、计算机网络、C++、数据结构等,累计学习30+本书、500+博客文章、100+小时、网课,30w+字资料。在实习阶段斩获了腾讯、阿里、华为等大厂的实习offer,在正式秋招阶段收割10+offer 包括但不限于:
腾讯sp 字节sp阿里云 sp BAT大满贯还有华为15a(应届生最高定级)中兴蓝剑计划(应届生最高定级)深信服大牛批(应届生最高定级)vivo sp等等均是40w+的总包,最高总包约50w。同时保持了一个在4月份以后,面试通过率100%的记录。
今天和大家来分享一下我从40+场面试中总结出来的14个应该避免的面试大坑。想面试互联网技术岗,特别是像我一样的非科班同学,应该特别关注。这些坑都是从我自身的经历以及从身边的同学的经历中总结出来的
我踩过的坑希望大家不要踩。
No1.对简历上的每一个字负责
很多同学,包括我以前会犯的一个误区就是,追求简历上技能点多多益善。
不论是不是自己真正掌握的,只要是接触过某个技术 都罗列在简历上。甚至有些技能点,还蜜汁自信的写上“精通”但是面试官一深问,就不会了。这就犯了写简历时候的一个大忌。
我们要对简历上的每一个字负责, 每一个写在简历上的技术点都应该是我们烂熟于心,经得起面试官深入追问的。
具体来说就是要避开下面两个坑:
技术栈不要贪多 把写上去的每一个点深入掌握就好。你在简历上写的内容相当于给面试官划定了一个出题范围。面试的时候面试官并不会特意的刁难你。他们主要还是会从你简历上写好的那些技术点去考你。好好对着自己写的简历一行一行看一遍,这都是你挖的坑。同时谨慎的使用 熟练 精通这些字眼 。
在描述项目的时候 不要过分夸张 比如把整个团队的活写成你一个人做的。言过其实,很容易会在面试中露馅 简历可以美化包装,但是过分夸张。
No2.技术宽度决定了你是否能够进入一家公司,技术深度则决定了你offer的等级
对于互联网技术岗的主要问的东西有这样几块计算机学科基础+项目经历+刷题。这3块也就是整个面试的核心了
然后对于不同细分的技术岗位下 对于这三块 有不同的考察方向 比如
对于开发岗可能考察的就是像操作系统 计算机网络 等等方面的知识
对于算法岗考察的就是机器学习 深度学习 等等方面的内容
所以我觉得只有你先对应岗位必问的那些知识掌握,也就是先cover住技术宽度,才是拿到offer的前提。
在此基础上 如果你能在某一方面比较有优势 比如某一些知识领域比较精通 或者做的项目比较有优势 或者有大厂实习 也就是技术深度达到了 这样才能有更好的offer等级。
关于怎么提升宽度和深度,其实说真的短期内宽度是好补的,深度确实要看个人,是代价较高。
所以我的建议是,先把宽度提上来,把你能cover的知识点及原理搞懂是第一步。建议对自己之前的项目和技术积累做一个总结和分类。
然后对已经了解的方面尽可能延伸,对盲区或是一些面试重点考察的地方进行针对性的学习和练习。
No3.如果走技术研发岗,学历、成绩、奖学金、学生组织活动都不会是决定性的因素
因为面试中只考查计算机基础+刷题+项目只有在最后的HR面的时候才会问一下你的在校的一些经历、奖学金等等。
当然如果你如果前面的技术面都通过的话 最后的HR面其实问题不大 就算没有太多的学生组织经历 太高的绩点 各种奖学金等等 HR面大概率还是会通过的。
只有你的技术水平才是决定性因素像学历 绩点 奖学金等等这些东西只是一个锦上添花。
如果你的技术很拉跨 一个技术问题都回答不上来 我觉得算是清北 面试官也是大概率不会让你通过的。
互联网算是对学历最宽容的行业之一毕竟程序员是一个技术密集型工种。
学校的作用是抬高找工作的下限,很多大厂会认为一个出身名校的同学的基本功是扎实的,因此会很乐于接纳这样的同学。但是指望名校光环提高自己的上限是不切实际的。
有很多同学会因为自己是双非学校 感到自卑 不敢投递大厂会显得有点畏手畏脚。但我觉得我们完全没有必要妄自菲薄。
说实话,我自己本科专业也和计算机一点不搭边,在面试的时候也和面试官提到这个问题,但面试官给我的答复是只要有能力,没有人会看你的学校或者专业
No4.心态是一个很重要的因子存在,会对最后的结果产生影响
这里给大家列出一个公式,是我在某一个帖子看到的
offer = 心态 * (实力 + 面试技巧) + 运气
实力就是咱们刚才所说的 计算机基础+刷题+项目
秋招对大部分人来说都是一场难熬的经历 会有各种压力源的存在 真的很容易让我们心态崩溃
可能有的同学开始准备的时间比较晚,快开始秋招了才开始准备,总暗示自己说什么时间不多了,怎么每天过这么快效率怎么这么低。
到笔试了,跟自己说这个算法太难了,肯定做不出来;
面试过程中面试官问的东西好多都不会怎么办?
面完了又收到拒信 这次面试又凉凉了。
周围的XX大佬又收割一个offer了 我还没上岸,怎么办?
不管是面试前 面试中 面试后的结果 已经周围环境 peer pressure 等等都牵动着我们的神经
所以这里给大家提供几个调节心态的小建议
要正视自己的能力。不轻视,不高估。
不轻视指的是我们都要对自己有信心,机会那么多,千千万万的初中创公司,各种拥有垂直领域稳定份额的二三线公司甚至有些已经上市,除此之外还有银行,投资,金融的IT岗
不高估就是要清楚自己的能力范围,过高的期望会让你的心理变得脆弱,稍有不顺心态就有崩掉的趋势。因为面试毕竟有太大的偶然性,就算你达到了一定的水平,相应水平的岗位也不是百发百中的
遭受到各种拒绝时,一定要沉得住气,坚信一切都会是最好的安排。
在确保自身没有问题(学习方法、知识积累或自身定位)的情况下,坚持下去,这个时候你差的就是一点点运气,该来的总会来。面试过程不要紧张,尤其是前几次,建议先从小公司入手锻炼下面试经验
心态实在太差的时候反而要停下你重复而没有效率的工作,去调整一下,可以出去玩一玩,吃吃喝喝。
面试过程漫长:适当放松,面试很搞人心态的。
过了简历面等 一面 一面过了等二面 二面过了等三面。互联网面试流程少则三面 多则五六七八面。持续时间少则是、一个礼拜 多则一两个月 。在这个过程中建议大家专注于过程 不要太在意结果
面试准备过程中 和周围同学多交流 不比较
主要是要找一个能力和你差不多的同学,最好不要找那种比你强太多的,当你看到别人已经收割很多offer了自己还颗粒无收的时候 容易被搞心态,会怀疑人生。当然也不排除有些人拿到offer后在朋友圈装X、散布焦虑情绪,这种我建议屏蔽或拉黑,同时也希望大家拿到offer后能低调一些,以己度人。求职过程中别和身边的人对比 ,别自我怀疑,专注于过程,别在意结果,反思总结,心态别崩
No5.学会平等交流,别把自己身段放的太低
面试是个双选的过程,他可以拒绝你,你也可以拒绝他。回答的时候不用表现的太卑微,反而会影响自己正常的表达和逻辑,不卑不亢就行。
心态也放稳一点,大胆一点,duck不必害怕,互联网技术岗的面试不会像其他行业 其他岗位比如快销,地产等等那样子会在意你的仪表,谈吐等等,他在意的就是面试官问你的技术会不会。
和面试官谈笑风生就行了,而且1面面试官可能只比我们大几岁,如果进去了还是你mentor呢。
No6.回答问题的时候要有层次感,循序渐进
不要一口气把知道的全部说完,然后还毫无条理。学会一个知识点由浅入深讲解给面试官,并且留有余地给他进一步去问。
一个简单的基础问题可以一步一步有条理有层次的回答,每一层表达完抛个引子,让面试官可以继续问下去,这也算是一个引导的技巧 从而让面试官真正了解你的掌握的深度。
No7.如果真的被问到不会的,就直接说你不会
每个程序员都不是全能的大神,总会有知识漏洞,更何况是我们这些应届生所以面试中碰到不会的问题很正常。
不要觉得自己某个问题到不上来 这场面试就注定凉凉了 坦诚的告诉面试官自己不会 或者礼貌地说这方面可能我还要多学习。
对一个拿不准的问题千万不要猜,即使是二选一的那种问题,猜错了直接完蛋,猜对了被人看出来,再往深问还是完蛋。
另外,像“可能,大概是,我觉得”这种表达最好不要,一听就是对一个点没把握,有可能会让面试官觉得学习太浮躁不喜欢寻求原理。
那对于自己知道原理(确实是理解了的)但是没用过的东西,就讲讲原理,并承认自己实践不足,表现出好学的态度。
面试一定要真诚。不熟直接说不会,更多的展示自己擅长的一面,千万不懂装懂
No8.手撕代码题的时候主动的和面试官交流
一般每一轮面试的最后一part保留节目是手撕代码。
关于手撕代码部分,不能面试官出完题就一个人闷头在那里写。
因为面试官是会代入实际工作时的情景的,如果你写题的时侯和他一点交流也没有,那万一把你招进去了以后对需求交接的时侯是不是也是这样的状态?
这个也是我在面试的时候听面试官提的意见。
No9.思路比答对题目更重要,题不会没关系,你要体现你的解题思路和能力
当然纯概念不会就是不会,别瞎说。
这里更多的是比如一些开放性的题目,比如说手撕代码题项目中的一些优化一些系统设计题,智力题。面试官不一定非得要求有一个标准答案呢。主要是想看看你能不能主动的去拆解问题主动思考以及和面试官的交流。这也是面试中考察的很重要的一部分,就是你解决问题的能力。
对于这种问题,多打开思路、多结合自己已经学过的一些技术点进行思考,自己能够先给出一个简单的方案,再一步一步的优化到一个相对合理的方案,这样的回答面试官会非常喜欢。
No10.最好把每场面试录音,记录面经,反思总结
在电话面或者视频面的时候最好利用手机的录音功能把每一场面试录下来哦 这样方便自己的复盘,发现自己那些模块比较薄弱,查漏补缺,反思总结,针对面试中出现的问题下次不要再出现。
No11.在面试中介绍项目的面试时候,项目的一些描述要提前准备,而不是临场去组织语言
很多同学在面试中描述项目的时候都是临场发挥,这样会往往会导致你在介绍的时候不流畅,面试官抓不住你的重点,也就会让他认为你的表达有问题,或者你的项目没有太核心能吸引他的东西。
所以建议大家专门给自己做的项目整理成文稿,把项目的流程、项目的背、项目碰到的问题、自己用到的方案、项目的亮点难点改进点、后续的优化方向等等都写在这个稿子上,在每次面试前过一遍,这样的在面试中直接按照稿子上的描述去说。面试官其实对你的项目业务流程不感兴趣,更感兴趣的是你项目中
自己解决的问题,
所采用的方案,
为什么采用这个方案,
有没有更好的方案,
你的方案和别人的方案的对比,
你的思考在哪里,
你的难点亮点创新点,
以及在项目中所涉到的技术点的一些提问,
这里面最好可以涉及一些数据,比如数据量、响应速度等等来量化的表达。
No12.把握好反问环节:
面试官最后一般会问“你有什么想问我的”,这个其实是面试官想了解你对公司的一个关注度或者对自身发展的一个关注度。
所以大家可以从这些角度去问新人培养机制?进去以后负责哪些业务?学习建议?
表现出自己的好学求知以及对公司的关注,这也能看出你对工作的一个诚意,以及对发展的预期。最好不要去问那些比如 “我什么时候会有下一面 ” “我刚刚面的怎么样这种话题”
No13.看起来像聊人生,实际是在考察你的价值观
到HR面的时候就不会在有技术问题了,而是一些看起来无关痛痒的聊生活聊兴趣。比如家里人都是干嘛的、有没有女朋友、兴趣爱好、有没有拿到别的offer 为什么会来我们的公司等等。
其实这些问题看起来都很无足轻重,实际上是想看看你的稳定性,是不是适合公司的氛围,是不是接受公司的文化等等。
比如、是不是会因为家里条件好吃不了苦、加不了班、会不会女朋友异地、过几年就会离职跳槽、、会不会有更好的offer放弃这家等等。所以大家在HR面的时候要摸清楚HR真正想考察你的指标是什么避免跳坑里就行了。
对于互联网技术岗来讲 通过了前面的3 4轮的技术面 一般问题都不大 HR面只要不是回答得得太离谱 offer八成是可以到手的。
No14.不要把鸡蛋都放在一个篮子里
这句话的意思是尽量多拿几个offer,不要只拿一个offer就躺平了。因为互联网的秋招一般是面试通过了先发两方,到11月份再谈薪资。如果你最后只拿了一个offer,然后那个公司又只给你开了一个白菜价你就血亏了,都没有别的选择。
尽量多拿一些offer。事实证明,部分企业会根据你手里offer的情况来定薪资。还有一点,万一后面提前去实习发现不太合适,想违约跑路,没有别的offer在手,根本没有选择。
更多精彩推荐
☞听完姚期智的一句“嘟囔”,他开始第二次创业☞AI 3D 传感器市场竞争白热化,中国掌握自主可控核心技术时不我待!☞小心!你家的 IoT 设备可能已成为僵尸网络“肉鸡”☞换脸火了,我用 python 快速入门生成模型点分享点收藏点点赞点在看
相关文章:

云端卫士架构师讲DDoS攻击的智能防御之道
DDoS即分布式拒绝服务攻击,这是一场关乎资源的较量,攻击者通过自己控制的大量僵尸主机,向目标设施(服务器、运营商网络和基础架构等)发起洪水猛兽般的流量型攻击,或是连绵不绝的应用型攻击。 如果将受害者比…

C#中方法参数的四种类型
C#中方法的参数有四种类型:-值参数:不含任何修饰符。方法中的形参是实参的一份拷贝,形参的改变不会影响到内存中实参的的值,实参是安全的。-引用参数:以ref修饰符声明。传递的参数实…

赠书 | 算力时代,用 Python 来快速解决复杂问题
Python作为一种编程语言,拥有简洁、高效的表达能力。与此同时,Python语言环境中还配备各种软件库,即模块。结合实际问题,选择适当的模块,便可生成简单、快速、正确的程序。书中列举了一些数值计算的简单例题࿰…

用for实现Go的while和do...while
Go的while和do...while实现 Go语言没有while和do...while语法,我们可以通过for实现:即break在业务代码执行前相当与while,break在业务代码执行后相当do...while while for {if condition {break}xxxxxxxx } do...while for {xxxxxxxxif cond…

DTCC:数据库安全重点在数据拷贝过程中
本文讲的是DTCC:数据库安全重点在数据拷贝过程中,2017年5月11日-13日,2017中国数据库技术大会于北京国际会议中心盛大开幕。作为国内最受关注的数据库技术大会,本届大会以“数据驱动价值发现”为主题,汇集多个领域的百…

Log4J配置方式Java工程测试
2019独角兽企业重金招聘Python工程师标准>>> Log4J配置方式 1、 导入jar包 Commons-logging .jarLog4j-1.2.17.jar2、 编写log4j.properties 文件 ############## ############################## 优先级 INFO ,输出到console_log 和filelog 两个位置 log4j.root…

C#“装箱”(boxing)与“拆箱”(unboxing)
装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)…

无人机、IoT 设备都有漏洞?专访以色列老牌安全企业Check Point | 拟合
从无序中寻找踪迹,从眼前事探索未来。2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

sql server 在占用服务器内存居高不下怎么办【转】
在管理一个测试服务器的时候,内存使用率居高不下,在资源管理器中查看到 sql server 2008 占用了80%的系统资源,于是找到了一下资料,并解决了Sql Server 2008 占用内存过大的问题。 转自百度经验http://jingyan.baidu.com/article…

C# checked、unchecked操作符
checked和unchecked操作符用于整型算术运算时控制当前环境中的溢出检查。下列运算参与了checked和unchecked检查(操作数均为整数):1) 预定义的++和――一元运算符。2) 预定义的-一…

TPAMI 2021 | 深度赋智AutoDL系列竞赛世界冠军方案首次公开
导读:「深度赋智」斩获NeurIPS-AutoDL 2019系列竞赛总决赛世界冠军,在图像/音频/视频/文本/表格不同场景的十个数据集上稳定获得八项第一和均分第一。为共同推动AutoDL技术的快速发展,冠军方案的技术细节首次公开,最新相关论文已被…

转: 如何实现jQuery的Ajax文件上传
【PHP文件上传】 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的。实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上传处理函数来处理…

Mybatis遍历查询 ——foreach
第一步: 在xxxMapper接口中添加一个函数,返回一个list,这里的参数是一个integer类型的集合 public List<Emp> findEmpByList(Param("list") List<Integer> list); 第二步: 在xxxMapper.xml 中添加statement…

C#中如何获取注册表信息
实现方式:利用Microsoft.win32类提供的注册表类访问系统注册表获取ODBC数据服务列表。 具体实现: Microsoft.win32提供了RegistryKey类,用来访问系统的注册表。 ///定义注册表子Path string strRegPath "SOFTWARE/ODBC/ODBC.INI…

用 Python 实现隐身,我可以 | 文末福利
作者 | 李秋键头图 | 下载于视觉中国出品 | AI 科技大本营(ID:rgznai100)引言:视频和图像的隐身术是指在视频或者图像中中,在没有任何输入遮罩的情况下,通过框选目标体,使得程序实现自动去除视频中的文本叠…

改变myeclipse北京颜色
经常用 MyEclipse 写代码,时间久了会觉得白色的背景颜色很刺眼,于是乎便想要换一种柔和些的颜色来缓解视力疲劳,那么怎么样来修改 MyEclipse 代码编辑区域的背景颜色呢? 依次展开菜单 Window >> Preferences >> Gener…

redis 代理工具Predixy安装部署
PredixyPredixy 是一款高性能全特征redis代理,支持redis-sentinel和redis-cluster特性高性能并轻量级支持多线程多平台支持:Linux、OSX、BSD、Windows(Cygwin)支持Redis Sentinel,可配置一组或者多组redis支持Redis Cluster支持redis阻塞型命…

超级详细的 Python 数据分析指南
来源 | 算法进阶头图 | 下载于视觉中国前言:数据分析是通过明确分析目的,梳理并确定分析逻辑,针对性的收集、整理数据,并采用统计、挖掘技术分析,提取有用信息和展示结论的过程,是数据科学领域的核心技能。…

C#实现-移位加密
/* Filename: encrypt_string.cs Author : zhanghua Date : 2005-08-11 Fuction : input a strig and encrypt a string 加密后的字符串的第一个字符是原先字符串的最后一个字符, 其余的每一个字符是对应的原字符串中的前一个字符的值…

oracle相关操作
查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * from user_sys_privs;查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;修改数据库密码:alte…

Ansible批量安装mysql数据
1.构建安装目录mkdir -p /ansible/roles/mysql/{defaults,files,handlers,meta,tasks,templates,vars}defaults 默认寻找路径tasks 存放playbooks路径files 存放文件和脚本,copy模块文件搜索路径templates 模版存放路径handlers notify调用部分playbook存放路径vars…

C#在客户端和服务端操作Excel文件
一、在客户端把数据导入到Excel文件步骤1、创建Excel application对象,打开或生成Excel文件//服务端创建StringBuilder对象System.Text.StringBuilder sbnew System .Text .StringBuilder (); //指定客户端执行语言sb.Append ("<Script LanguageVBScript&g…

oracle数据库同步交换的方法
oracle数据同步方案与实现:如何在两个oracle服务器之间交换数据?来源:无忧模板 作者:网络编辑 更新时间:2010-08-09 18:10 点击:次 方案一:建立两个数据库之间的DATA_LINK,直接将新数据写入另一数据库方案二:使用SQL *…

让语音助手听懂方言,这个数据集能搞定
来源 | HyperAI超神经头图 | 来源于网络 侵删方言是语音识别技术发展中必须要迈过去的坎儿,那么如何让模型能够听懂和理解方言呢?使用优质的数据集是一种的方法,本文将介绍一个经典的方言录音数据集 TIMIT。随着科技的成熟,语音识…

Django内置Admin
Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有:依赖APP:django.contrib.authdjango.contrib.contenttypesdjango.contrib.messagesdjango.contrib.sessions模板的context_processors:django.cont…

Puppet扩展篇1-自定义fact结合ENC(hirea)的应用实践
零基础学习Puppet自动化配置管理系列文档在大量节点加入Puppet之后,你至少会面临两个比较大的问题:1、由于节点数的增多,site.pp文件必然会编写更多的节点条目,以及节点包含的类。假设你用Puppet管理500个节点,存在三种…

C#WinForm制作异形窗体/控件
制作异形窗体或控件的思路一般都是想办法生成一个region,然后设置给指定的窗口或控件。生成region的方法有很多,最常用的就是从一幅图片生成,把该图片中的透明色部分“抠”掉,剩下的部分作为一个region。设置窗口或控件的region可…

谷歌提出纯 MLP 构成的视觉架构,无需卷积、注意力 !
来源 | 迈微AI研习社责编 | 寇雪芹头图 | 下载于视觉中国当前,卷积神经网络(CNN)和基于自注意力的网络(如近来大火的 ViT)是计算机视觉领域的主流选择,但研究人员没有停止探索视觉网络架构的脚步。近日&…

HttpApplication事件ASP.NET页面周期
学习吧少年........................... 修改中........... 当一次请求到达IIS 1、http.sys将请求发送到指定的应用程序池。 2、应用程序池再将请求交给池中的工作进程(w3wp.exe), 3、w3wp.exe根据请求URL的后缀,决定加载那个ISAP…

C#实现对象的Xml格式序列化及反序列化
要序列化的对象的类: [Serializable]public class Person{private string name;public string Name{get{return name;}set{namevalue;}}public string Sex;public int Age31;public Course[] Courses;public Person(){}public Person(string Name){nameName;Sex&qu…