应届生必看技术岗面试应答有哪些话术和技巧?
Posted 实训001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应届生必看技术岗面试应答有哪些话术和技巧?相关的知识,希望对你有一定的参考价值。
很多时候,面试过程中A与B两人工作经历、能力都相差不大时,A能脱颖而出的大部分原因是在面试过程中表现出的较高的情商、稳定性和与企业文化匹配的性格、价值观等。
求职者从各项提问中了解面试官想要考察的主旨,根据自己实际情况适当地进行总结和梳理,以正面、积极地思想逻辑回应面试官的提问,以这种更能让面试官接受的方式合理化解释自己的行为、原则和价值准则。
面试次数多了就会发现,很多人面试被 PASS,并不是因为自己专业技能不够。被录用的人,也往往不是专业技能最强的人。
因为企业通过面试考察的,不仅仅是专业技能这一个点,还有另外三点,价值观、稳定性、性价比。而面对这四点,你是可以通过一些面试技巧来达到逆转局面的目的的。
首先,依据面试的时间线——面试前的准备、面试中的回答、面试后的注意事项,结合以上提到的四个方面,分享一些非常简单,但又非常有用的面试技巧。
备注:以下技巧适用于应聘企业基层或中层岗位。应聘总监级高层则有另外的方法,此处暂且不谈。
先分别讲一下,这四个方面在 HR 看来到底是什么?
专业性:
专业性就是你能为企业创造的价值。说得直白一些,企业招你进来就是让你干活产生价值的,如果 HR 看不到你的专业性,性价比也就无从谈起,稳定性跟价值观自然就是无稽之谈。看专业性一般是从简历匹配度上看,面试的时候再深挖确定一下,这个在下文会详细说。
价值观:
价值观问题有的人觉得很虚,根本不当回事。其实不然,从长期发展来讲,人选价值观跟企业越匹配,企业管理成本越低,他干起活来会越有动力,越能发挥其自身价值,也会越稳定。一个成熟的企业,在招人前一定会或多或少,旁敲侧击地问一下价值观。关于价值观问题怎么回答,下面会讲到。
稳定性:
职场中的人都知道,企业每年每月甚至是每天都会有人源源不断地流失,流失原因各不相同,但都或多或少会给企业带来一定损失,特别是入职不到一年的新人。所以企业在招人的时候就必须要考虑候选人稳定性这一点,只要是合格的人选,越稳定越好。
性价比:
从企业的角度出发,性价比=(专业性/薪酬)*发展潜力
专业性跟潜力差不多的两个人,谁的薪酬低,谁的性价比就相对较高。当企业锁定了几个专业性达标的人选后,一定会选择性比高的人入职。
摸清楚上面讲的 4 大点以后,咱们面试就能有的放矢了。
而对于IT技术岗位来说,大多数面试只要满足以下三点即可达到准入门槛,特别是对于校招同学:
- 讲清楚项目
- 有对应岗位的知识体系/基础知识
- 对研发岗来说会写代码
达不到准入门槛的面试是怎样的?
对于项目,比如算法项目评价指标讲不清楚。对于基础知识,比如说出一些违背常理的话,比如javascript是java的语言拓展。对于代码考核,至少对于leetcode中等题,在面试官提示下能写出来。
大部分候选人认真准备踏实学习其实都能达到准入门槛,甚至对于卷中卷的算法岗位也是如此,但是在面试中表现出来却不是那回事。这篇文章主要帮助这些同学在面试者更好发挥自己达到岗位准入门槛。
基础知识
算法岗位的基础知识主要有几个部分
传统机器学习模型
- 树模型:决策树,随机森林,GBDT(不同实现xgBoost,lightgbm区别)
- 线性模型:逻辑回归,线性回归,SVM
- 生成式模型(不常考):贝叶斯,贝叶斯网络
- knn k-近邻(不常考):如何减少复杂度寻找邻近点,kd tree等
- 聚类模型:K-mean,高斯混合等
深度学习模型
- DNN:让推导反向传播等
- CNN
- RNN(LSTM,GRU)
- Transformers
神经网络组件
- batch norm/layer norm等
- drop out
- 各种激活函数区别
评价指标
- AUC如何计算
- F1/precison/recall/accuray应用场景如何计算等
正则化
- L1/L2区别,为何L1导致稀疏等等
尽管算法岗的知识涉及许多,但是在面试中无需答出每个问题,只要基本常识问题不出错(比如说逻辑回归用于回归问题这种)加上答出60%左右的题基本可以通过这部分的考察,达到准入门槛。如果有自己的亮点如某一种算法了解非常深入,比如SVM各种推断以及各个部分涉及原理等,会有很大的加分项。
基础知识问答部分的核心是不追求答出所有题目,但最好有长项。
算法题
最后一个环节很多公司喜欢考察算法题,其实leetcode前两百刷完国内大部分面试题目都能手到拈来。核心知识点无非那几个,比如搜索(DFS,BFS),动态规划,二叉树,链表,各种大模拟,单调栈等等。甚至前面问题答得好这部分还会放水,比如直接让你挑个排序算法写写就让你过了。
但是,总有一些情况面试官出一道你完全没思路的题目,这时候如何处理呢?
处理办法一:跟面试官说,这题太难了,我不太懂,能不能换一题。这是一种有效的办法,不浪费时间而且也非常可行,但慎用,只用在那些很难理解比如leetcode天际线之类的题,因为这种情况下面试官再出一题你做不出来就完球了。
处理办法二:在面试官一步步提示下做题,可以直接问面试官能给点提示吗?提示完同学自己可以再说一下自己的想法,主要是分析一下复杂度是否可行(基本时空复杂度分析还是要掌握的)等,然后再慢慢写。好的情况下,基本上面试官会一步步把思路都告诉你,而你只需要负责实现就好。这其实也是算法题考察的目的,考察你会不会写代码,而不是考察你会不会做脑筋急转弯。
算法题的面试其实是比自己做题要来得简单的,因为有面试官的帮忙,大部分情况下还不用bug free通过所有测试用例,只需要写个代码思路就可以,而思路在某些情况下还是面试官给的。
算法问答的核心是多跟面试官沟通。
现在春招已经开启,很多同学还不知道该如何准备,解决就业难,进大厂难的CSDN超级实习生计划2022年内推正式开启!大厂、名企实习直通车,年薪最高可达30万,先到先得!即日起可填表预约测评及内推啦!
想知道你的Java/Python/前端实操能力如何?
点击链接开始测评>>>CSDN·超级实习生测评名单收集超级实习生计划,名企实习保offer,进名企更简单!https://jinshuju.net/f/sUsAAV
跳槽者应届生必看JAVA面试题系列
文章标题
- 一: 前言
- 二: 面试挑战
- 三: 后端基础知识篇(三)
- 一: JAVA中有序和无序的区别
- 二: IO密集型和CPU密集型
- 三: 垃圾回收中ROOTS对象有哪些
- 四: 标记(引用计数和可达性分析的区别)
- 五: J2EE的核心组件有哪些
- 六: Servlet的生命周期
- 七: 使用POI技术时遇到内存溢出该如何解决
- 八: JAVA中代码块和构造函数等的执行顺序
- 九: JAVA是面向对象的语言,有什么特点
- 十: MVC模式是什么,它的优缺点
- 十一: Int和Integer所占用的内存大小比较
- 十二: JSP和Servlet的区别
- 十三: 什么是Shell
- 十四: 什么是Restful
- 十五: Tomcat的部署方式
- 十六: 基本数据类型占用的字节大小
- 十七: JAVA中序列化为什么要实现Serializable接口
- 十八: 对象的Finalize方法作用
- 十九: Maven项目中pom、war、jar工程的区别
- 二十: 互联网”三高”是指什么?
- 二十一: 并发和并行的区别
- 二十二: 常见衡量高并发的一些指标
- 二十三: 提升系统并发能力的措施
- 四: 面试题目大纲
- 五: 总结
- 六: 热门推荐
一: 前言
人不光是靠他生来就拥有一切,而是靠他从学习中所得到的一切来造就自己。----歌德
二: 面试挑战
在开始第三章题目之前,还是先安利下"面试挑战": 凡是满足下面的挑战条件的,如果一个月内没有拿到一个Offer的,免费提供简历封装建议和相关面试题目解答。
如果面试通过的,可以截图分享领红包,让大家一起见证,具体条件如下:
1、计算机相关专业或者经过计算机相关专业的培训(不少于3个月,正常来说培训机构培训时间不会少于三个月),准备从事JAVA开发人员。
2、从事的工作是JAVA开发,年限是1-3年(大神的话就忽略我说的,可以直接退出了)或者是符合计算机相关专业,准备从学校出来就业的。
3、持续学习本人《面试大全》至少两个月且对其中的内容基本掌握的。
4、需要提供相关面试证据或者是面试题目。
如果大家对这个感兴趣的,可以关注【IT学习日记】回复【面试挑战】即可参与,现在参与还免费赠送一份面试资料。
三: 后端基础知识篇(三)
一: JAVA中有序和无序的区别
有序:
存储的顺序和添加的顺序相同,并且可以通过下标进行访问,如List
无序:
存储的顺序和添加的顺序无关,没有下标如TreeSet,它是存储的顺序和添加的顺序无关,但其中的对象也进行了相应规范的排序。
二: IO密集型和CPU密集型
CPU密集型(计算密集型):
指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。
IO密集型(I/O bound)
IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高。
三: 垃圾回收中ROOTS对象有哪些
1、引用栈帧中的本地变量表的所有对象
2、引用方法区中静态属性的所有对象
3、引用方法区中常量的所有对象
4、引用native方法的所有对象
四: 标记(引用计数和可达性分析的区别)
1、引用计数:
存在一个计数器,对象每被调用一次,则计数器加1,每被释放一次,则计数器减1。但是它难解决几个对象循环引用的问题。
2、可达性分析:
以GC ROOTS的对象为起点,从此处开始搜索,搜索与该节点直接或者间接引用关系的对象,并将他们以链的形式组合起来(引用链),GC则回收不在此链上的对象。
五: J2EE的核心组件有哪些
1、JDBC
2、JNDI
3、RMI
4、JSP
5、SERVLET
6、XML
7、JMS
8、EJB
9、IDL
10、JTS
11、JTA
12、JAVA MAIL
13、JAF
六: Servlet的生命周期
1、加载和实例化
当Servlet容器启动或者客户端发起一个请求时,Servlet容器查找内存中是否存在该Servlet,若存在则直接读取该实例的响应,若不存在则创建。
2、初始化
Servlet容器调用init方法机型初始化
3、处理服务
在service方法中处理具体的业务需求
4、销毁
服务器关闭或者重启时,执行destroy方法销毁容器。
七: 使用POI技术时遇到内存溢出该如何解决
1、写操作时遇到内存溢出:
数据量大时,写操作存在溢出风险,可以使用POI官方提供的SXSSYWorkBook相关的API进行写操作(它支持xlsx),它保证了任何时候只有可配置的行才会被保存在内存中,最大程度的避免了内存溢出的问题,但是还是存在内存溢出问题,建议使用阿里巴巴的easyExcel组件代替。
2、读取数据时内存溢出
可以将导出的格式用csv替换excel。
八: JAVA中代码块和构造函数等的执行顺序
1、父类静态代码快
2、子类静态代码快
3、父类代码快
4、父类构造函数
5、子类代码快
6、子类构造函数
九: JAVA是面向对象的语言,有什么特点
1、易于理解,有更好的可读性
2、平台无关性,一次编译,处处运行
3、提供了许多类库,方便开发者的工作,减少开发时间
4、提供了对web的支持
5、具有较好的安全性和健壮性(如垃圾回收)
6、去除了C++中难以理解,易于混淆的特性
十: MVC模式是什么,它的优缺点
1、定义:
全称是:Model、View、Controller,它是一个通过业务逻辑、数据和界面显示分离的方式来组织代码的一种模式。
典型的案例: JSP + Servlet + JavaBean。
JavaBean作为模型(model)即作为数据模型封装业务数据、JSP作为View用于界面展示,Servlet作为Controller,用于控制界面View和Model之间的流转。
2、优点:
1、耦合性低: View和Model分离,允许修改视图层代码而不用重编译Model和Controller层的代码。
2、重用性高: 允许不同的视图使用同一个服务器的代码
3、可维护性高: 分离View和Model使Web应用更易于维护和修改
3、缺点:
1、完全理解MVC模式比较复杂
2、调试比原来更加麻烦
3、增加了系统结构和实现的复杂性
十一: Int和Integer所占用的内存大小比较
Integer占用的内存更大,因为它是一个对象,需要存储对象的元数据。Int是一个原始数据类型,没有这部分的数据。
十二: JSP和Servlet的区别
1、JSP本质上是Servlet,但是它更擅长于界面展示,Servlet更擅长于逻辑控制
2、Servlet中没有内置对象
3、Servlet的应用逻辑是在java文件中,完全从表现层的HTML代码中分离出来了
4、JSP是java和html组成的一个拓展名文件为.jsp的文件
十三: 什么是Shell
定义:
它是一个命令解释工具,将用户输入的命令转换成内核能够理解的语言。
延申知识: 为程序分配系统资源,处理计算机内部细节的软件叫做操作系统或者内核
它本身是用C语言编写的程序,是使用unix/linux的桥梁,简单来说它是一种命令语言,也是一种程序设计语言。
它调用了系统中大部分功能来执行程序,建立文件并以并行的方式协调各个程序的运行。
执行方式:
1、交互式: 解释执行用户命令,用户输入一条,shell便解释执行一条。
2、批处理: 先将写好的shell脚本(script),再让shell一次执行完,它是解释执行的,无序编译。
十四: 什么是Restful
因为关于Restful风格的知识篇幅较多,在此处不好拓展,想要了解关于Restful风格更详细知识,可以查看之前的文章,在这之前有专门的文章非常描述了Restful风格的问题。
十五: Tomcat的部署方式
方式1、将编译号的web项目打包成war包放入tomcat的webapps目录下
方式2、修改tomcat的server.xml文件,在Host标签中添加Context标签,属性如下:
Path: 浏览器访问时的路径(相对与项目名),如:/webproject
docBace: web项目的webroot所在的路径,是编译后的项目,如:”D:/web”
Reloadable: 取值true/false,表示项目有改动时,tomcat是否重新加载该项目
方式3、在tomcat的conf/Catalina/localhost目录中创建一个xml文件,加入Context标签,属性和第二种部署的方式一样,如:
十六: 基本数据类型占用的字节大小
Byte(1),Short(2),int(4),long(7),char(2),float(4),double(8),boolean(未知)
十七: JAVA中序列化为什么要实现Serializable接口
因为在调用序列化接口写入方法(writeObject)时,会进行类型判断,如果对象是String、Array、Enum、Serializable类型的对象则可以正常序列化,否则会抛出NotSerializableException异常,代码如下:
十八: 对象的Finalize方法作用
作用:
在对象被回收前(既被标记之后),该对象的该方法会被调用,可以重写用于释放关联的对象空间或者重新将对象引用,以防被GC回收。
步骤:
对象先进行一次标记,在下一次GC之前执行对象中的finalize方法,在执行的时候,先判断对象是否重写了该方法,如果没有,则直接回收,如果重写了,则先放在一个队列中,由虚拟机开一个低优先级的线程去执行它,随后,会进行第二次小规模的标记,在此次被标记的对象就会被真正的回收了。
十九: Maven项目中pom、war、jar工程的区别
1、POM项目: 用于父级工程或者聚合工程,用来做jar包的版本控制
2、war项目: 项目会可以被打包成war,发布在服务器上的工程
3、JAR项目: 项目可以被打包成jar,一把是需要提供第三方使用或者单独运行的项目
二十: 互联网”三高”是指什么?
三高: 高并发、高可用、高性能(3H)
高并发: 简单的说是单位时间内软件最大能够承受的请求数量。
高可用: 服务集群化,当某个服务down时,可以有备用的替换,不会导致服务不可用,如:Redis的哨兵模式
高性能: 单位时间可以处理任务的数量,提高性能主要分为以下两方面。
1、软件方面: 如正确的编码,SQL解决慢查询、引入缓存、使用多线程
2、硬件方面: 提高服务器配置(内存、CPUT)等
二十一: 并发和并行的区别
并发量:
一段时间内,最大能够处理请求的数量。
并行量:
同一时间内,最大能够处理请求的数量。
区别:
并行是指同一个时间处理的请求数,并发是指一段时间内可以处理的请求数。并发是一个cpu(核)交替执行多个任务,并行是同一时刻不同cpu执行的任务数。
二十二: 常见衡量高并发的一些指标
1、响应时间:
客户端发起请求开始,到客户端接收到服务端返回的响应时间结束,这个过程所花费的时间。性能检测中一般以压力发起段至压测服务器返回处理结果的时间为计量,单位一般为秒或者毫秒。
2、平均响应时间:
系统在稳定的运行时间段内,同一个交易的平均时间,一般而言,交易响应时间均指平均响应时间。标值应根据不同的交易分别设定,一般情况下,分为复杂交易响应时间、简单交易响应时间、特殊交易响应时间。其中,特殊交易响应时间的设定必须明确该交易在响应时间方面的特殊性。
3、吞吐量
单位时间内处理请求的数量。
4、QPS(Query Per Second)
每秒查询数量(与吞吐量的含义相似)
5、并发用户数
同时承载正常使用系统功能的用户数量。
二十三: 提升系统并发能力的措施
要提升系统的并发能力,理论上来讲,可以通过: 垂直拓展(Scale UP)和水平拓展(Scale OUT)两种方式。
一: 垂直拓展
方式一: 可以提升机器的硬件性能,如四核cpu提升到8核cpu,添加固态硬盘等
方式二: 提升系统的架构性能,如引入缓存减少IO次数,使用线程池和异步提高系统的吞吐量等
二: 水平拓展
原因:
无论进行哪一种方式的垂直拓展,当业务量和数据量到达一定量级后,单机的瓶颈还是会出现,此时,再使用垂直拓展对系统的性能并没有多大的效果,此时需要通过水平拓展,引入新的机器,来解决系统性能瓶颈问题。
解决:
当垂直拓展出现了单机性能瓶颈后,只需要引入新的机器,就能线性扩充系统性能,但是水平拓展对系统的架构也是存在要求的。
四: 面试题目大纲
注意: 题目和面试材料会一直持续不断更新。
五: 总结
由于文章篇幅的限制,面试大全的第三章暂时到这里就告一段落。如果有意见或者建议,可以在下方或者私信留言,看到会及时回复,也欢迎大家参加面试挑战和面试题投稿,希望大家早日获得心仪的Offer,如果觉得文字对你有帮助,欢迎关注和点赞。
面试大全系列文章会保持稳定的更新速度,大概每周两更到三更,感兴趣和可以关注我。
如果想参加面试挑战,可以私信回复【面试挑战】即可,如果想进行面试题目投稿,可以私信回复【面试题目投稿】即可,如果想获取更多面试问题和资料,查看最新的面试题目更新进度,可以关注我,私信【面试资料】即可,谢谢大家的阅读和关注。
六: 热门推荐
以上是关于应届生必看技术岗面试应答有哪些话术和技巧?的主要内容,如果未能解决你的问题,请参考以下文章