二月、三月校招面试复盘总结(一)

2023-10-11 21:10

本文主要是介绍二月、三月校招面试复盘总结(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

春招已经开始了一个月之久,没有想到金三银四的黄金时期自己毫无面试准备的心态,结果也是第一个月一个Offer都没拿到,感觉自己还是得准备分成几个博客好好复盘一下,同时也调整一下心态(这将近一个月的时间里面试了金山软件、神州数码和海康威视)

金山软件后端开发

金山软件后端开发是我第一次经历正式的技术面试,也是我最阴暗难以忘怀的一次面试,感觉自己70%左右都答不上来,悲惨告终,但是也清楚了客户端开发和服务器端开发具体有哪些区别,以及面试相应的难度(对自己技术没有自信又不想找测试需求岗可以试试客户端开发,服务器端开发好难!)

HR面
金山软件是我投递的企业里面为数不多的优先HR面再技术面的公司,现在只感觉很对不起对我那么热情的HR,只能说我的技术真的经不起考验,555
由于这次金山软件招聘主要针对的是游戏开发,整个面试过程感觉HR最想了解的是自己对游戏开发有没有兴趣以及会不会因为考研、考公或者毕设等原因不能按时到岗
整个面试过程中印象比较深刻的几个问题是:
1.生活中对你影响最大的人
2.假如在实习期间拿到了一份别的比较心动的Offer,会怎么处理

技术面面试过程:
技术面开局是自我介绍,不同于HR面我会提及一些校园的志愿和学生工作经历,技术面主要是说项目经历,但是由于我没有准备好,其实说到后面自己已经不知道在说啥了,反正感觉自己的自我介绍就已经很减分了。
1.堆和栈有哪些区别?

可能用面经的一个简单问题做个开头,我简单说了一下堆是程序员手动分配释放,栈是编译器自动分配释放,以及new/delete和malloc/free和二者数据结构不同,但是后来一想可能真的答得很浅显

参考:https://blog.csdn.net/K346K346/article/details/80849966
2.那你有遇到过堆溢出和栈溢出吗?

准备面经的时候看到过内存泄漏,但是印象中堆溢出和栈溢出跟内存泄漏内存溢出不是一个东西,害怕自己答得太肤浅就几乎敷衍过去了

参考:https://blog.csdn.net/qq_45089570/article/details/91963494
栈溢出->溢出缓冲区(C没有检查机制确保不超出缓冲区大小)
堆溢出->常在递归调用中出现,由于过多函数调用导致无法容纳调用的返回地址。
3.一个程序有哪些section,从低到高介绍一下

刚好撞上自己背的:https://www.nowcoder.com/tutorial/93/8f38bec08f974de192275e5366d8ae24

由于我项目里为了体现我对计算机网络有些了解,写了我大二期间用MFC做的一个跨局域网聊天室。所以面试官就盯着这个开始问了:
4.多个客户端连接服务器端怎么解决阻塞?

感觉这个题自己答得非常糟糕,没有get到面试官想听到什么,并且由于是两年前的项目,自己的印象并不深刻。
当时自己是这么说的,为了实现多个客户端和服务器端连接,对于每个连接服务器端的客户端都会创建一个线程,并把客户端的ip信息保存在一个集合中,通过并发的方式调用每个客户端的recv函数判断该客户端是否有向聊天室发送信息,若无则关闭流。(同时recv函数也可以判断连接是否中断)

参考:https://blog.csdn.net/bb_huiyi/article/details/53188017
5.线程间通信有哪几种方式,自己用过哪些方式?

这一题几乎自己没有答,确实第一次面试没有准备到

使用volatile关键字、wait()和notify(),感觉这两个是比较常用的
参考:https://blog.csdn.net/qq_44883763/article/details/109427362
看我线程通信不是很了解,面试官就换了一个角度继续问我有关这个项目的问题
6.TCP、UDP、IP协议以及HTTP在哪一层,OSI七层是哪七层,HTTP和HTTPS两个协议能简单介绍一下吗?

TCP、UDP在传输层
IP在网络层
HTTP在应用层
七层模型从上到下是:应用、表示、会话、传输、网络、数据链路、物理
两个协议由于没准备到就没答
后来经过准备可以简单说一下:
HTTPS协议是超文本传输协议,主要用于提供发布接收HTML页面的方法,主要过程是:1.域名解析(IP地址和端口号)2.建立连接(3次握手TCP)3.向服务器发起http请求 4.服务器处理请求,渲染页面给用户 5.四次握手断开连接
HTTPS协议即安全超文本传输协议,采用了HTTP协议和TLS/SSL加密,由于HTTP存在信息窃听的奉献,通过TLS/SSL协议具有的身份验证信息加密功能使安全性提高

项目提问告一段落后回到面经提问:
7.可以说一下数据库的内联接和外联接吗?

自己只说了内联接是普通联接运算,外联接分为左联接和右联接,连完整外部联接都没说到
1)LEFT JOIN或LEFT OUTER JOIN
左向外联接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
2)RIGHT JOIN 或 RIGHT OUTER JOIN
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
3)FULL JOIN 或 FULL OUTER JOIN
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

8.对锁了解吗,用过哪些锁?

直接pass了这个问题,hhh

9.Redis了解和使用过吗?

只答了是非关系型数据库,后来发现自己说说缓存层,击穿也比直接摆烂好 555

10.可以说说数据库四种隔离级别吗?

答了Read Uncommitted、Read Committed、Repeatable Read和Serializable,然后又被深入问了分别解决了哪些问题,没答上来
在这里插入图片描述
什么是脏读、不可重复读和幻读如果了解答得上来肯定是加分

11.做过索引优化吗?

没有

12.现场写代码实现String类

没准备几乎放弃,然后面试官退了一步问String中的拷贝构造函数和=调用了什么函数,又是不会

参考:https://blog.csdn.net/shenya1314/article/details/80547156

还问了事务的特性,什么是事务等问题,但是印象深刻的问题就是这些,反正第一次面试也没准备好,看同学的客户端岗位开发的问题比较基础以为自己的知识储备足以应付,没想到最后却栽得太狠。

最后想说金山的面试是自己春招面试的开始,也很大程度上打击了自己的自信心,好像这次面试后摆烂了整整十天,这期间也错过了很多很好的企业,找工作真的需要良好的心态(厚脸皮)以及自己把握面试的话语权(让面试官跟着自己走),不要让面试变成单纯的面试官考你(一般不会有好结果)

面试结果:HR面通过+技术面淘汰

这篇关于二月、三月校招面试复盘总结(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/190833

相关文章

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000