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

前言
其实在面试神州的两次技术面中穿插了海康威视的嵌入式面试,但是由于神州的技术一面真的很有参考价值,自己复盘起来也觉得面试官真的绵里藏针,况且海康威视的嵌入式技术面真的感觉自己回答得稀烂,所以准备先复盘一下神州的两次技术面,虽然还没有出神州面试结果,但是感觉神州二面总监面的内容刁钻刻薄,自己大概率凉凉。

武汉神州云基地
技术一面
开局一段自我介绍(这次会说‘面试官您好’了,有进步),由于神州是招收java为主,所以自己自我介绍时多讲了两句自己用springboot做的短视频项目然后带过了一下自己用MFC写的聊天室项目(突出自己会计算机网络)
面试官可能是个java大牛,但是c并不太会,所以看我简历大篇的c有些为难,最后选择从我做的聊天室项目开始问起:
“我看你的简历好像关于c的经历比较丰富哈,但是我们项目主要用的是java语言,那我先问问你关于聊天室的项目吧”
问:这个聊天室项目是用TCP协议还是UDP协议做的呢?

答: 这个项目是我大二学完计算机网络做的课程设计项目,是基于TCP协议和C语言做的。

问:那可以说说你对TCP协议的了解吗?你还对哪些网络协议比较了解呢?

答:TCP协议和UDP协议都是传输层协议,TCP协议是面向连接的,在连接的过程中需要三次握手连接和四次挥手断开连接,这样做的原因是为了让连接的双方能够确认对方也知晓是否要连接(断开),而UDP协议是无连接的。除了TCP和UDP之外,我对HTTP协议也有了解,HTTP协议的整个过程是:1.域名解析(IP地址和端口号)2.建立连接(3次握手TCP)3.向服务器发起http请求 4.服务器处理请求,渲染页面给用户 5.四次握手断开连接

当时我只说了如上,感觉对TCP和UDP的了解说的很浅显,后面面试官也基于此继续深挖了,然后我就现了原形。
问:那还有哪些协议你比较了解的呢?HTTPS协议了解过吗?

答:不是特别了解

(看了HTTP协议不多看一眼HTTPS协议真的是面试准备一大败笔!)
HTTPS协议即安全超文本传输协议,采用了HTTP协议和TLS/SSL加密,由于HTTP存在信息窃听的奉献,通过TLS/SSL协议具有的身份验证信息加密功能使安全性提高(金山面试的时候也问了这个,但是两次面试我都没长教训!)
“好的,不是特别了解HTTPS协议对吧,那我看你说了TCP协议的三次握手,可以说说假如少一次握手变成两次握手可以吗?”
问:可以两次握手吗?

两次握手是不行的,我理解的话如果少了一次握手,可能会导致发送方或者接收方一方不确定对方是否收到了连接的消息,连接是不可靠的(×)

感觉这里就答错了,只知道不能两次握手,但是为什么两次握手不行都是现场编的,其实真正的原因是发送方的第一次握手请求如果阻塞了重新发送后,假如之后断开连接阻塞的消息到达接收方会使接收方误以为需要连接而导致接收方长时间等待。
(虽然自己瞎说八道了一通,但是感觉面试官没有否定)
问:自己在做这个聊天室的项目中有遇到发送的消息失序的问题吗?知道TCP协议对于这种失序有什么处理机制吗?

在做这个项目的过程中确实遇到过失序的问题,发送来的消息有时候并不是按照时间顺序显示的,并且也知道TCP协议对于失序会有重传的机制,具体怎么实现的没有太了解

这一题本质上就是没答出来,但是感觉自己说的还蛮诚恳的,感觉面试官也没有把这一题算我完全不会。
参考:https://blog.csdn.net/qq_37653144/article/details/82743760
“是有遇到过这种问题是吧,好,那聊天室这个项目是怎么处理拥塞问题的?消息发送时阻塞还是非阻塞的呀?”
问:阻塞和非阻塞?

是阻塞的(瞎说的但是好像蒙对了,不过我就说了这么几个字感觉面试官肯定是不满意的),为了实现多个客户端和服务器端连接,对于每个连接服务器端的客户端都会创建一个线程,并把客户端的ip信息保存在一个集合中,通过并发的方式调用每个客户端的recv函数判断该客户端是否有向聊天室发送信息,若无则关闭流。(跟金山答几乎一样,不会不能不说!)

参考:https://blog.csdn.net/qq_33436509/article/details/81949958

到这里关于我的第一个项目和网络的考察感觉面试官就心里有数了。
“我可以问问你java的内容吗?”
问:你用过哪些java容器呀?

用过arraylist和stringbuff(等到我看了答案才知道我这里在瞎说啥,哈哈哈 只能说java也不能没准备硬着头皮上)

参考:https://www.cnblogs.com/goody9807/p/6441114.html
1)Collection:一个独立元素的序列,这些元素都服从一条或者多条规则。 List必须按照插入的顺序保存元素,而set不能有重复的元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)。
2)Map:一组成对的“键值对”对象,允许你使用键来查找值。

问:用过map吗?可以说说map的底层原理吗?

用的比较少,map是键值对对象,底层原理不清楚

准备过之后再让我答,我其实也只能说hashmap底层是数组加链表,1.8版本后加入了红黑树,减少由于链表过长产生的复杂度问题,(其实这里还可能问迭代器)
(这两个回答下来,面试官就放弃了问我java了,救命!)
参考:https://blog.csdn.net/yb546822612/article/details/106462668

“我们来聊聊你这个java短视频项目吧,你这个项目有做数据库吗,用的是什么数据库?”

有做数据库,我们这个项目是仿B站的一个视频播放项目,所有的视频资源属性是用java写了一个爬虫从B站爬下来的,然后把属性存在了MYSQL里,要播放的时候就用B站自带的编译器通过视频的属性找到视频资源进行播放。

问:可以说说MYSQL的默认隔离级别吗?

(撞我枪口上的一题)隔离级别有四种,分别是Read Uncommitted、Read Committed、Repeatable Read和Serializable,MYSQL的默认隔离级别是Repeatable Read,这个级别解决了脏读和不可重复读的问题,但是没有解决幻读的问题。而且我了解到别的大多数据库都采用的Read Committed隔离级别,这个隔离级别除了幻读还会出现不可重复读的问题,但是三层隔离级别会比二层隔离级别更容易出现死锁问题(这里有点虚了,不知道自己说的对不对)

(感觉这里由于背面经我打的有点公式化,面试官就像深挖一下)
问:可以说说什么是幻读吗?

幻读就是两次select的结果不一致,这一般出现在事务A以一定条件select后,事务B对数据库进行了修改,然后事务A再select后发现与第一次select结果不同

(感觉是那个意思,但是并不是准确的幻读定义)
幻读: 一个事务在前后两次查询同一个范围的时候、后一次查询看到了前一次查询未看到的行。

问:MYSQL的引擎可以说几个吗?

我知道MYSQL的默认引擎是innoDB,用的是三层隔离级别,之前是MyISAM(反正很浅显)

问:在做数据库的时候有用过索引吗?是用哪些键创建的索引呢?

(其实没做索引)用过短视频的类型属性做索引,这样在select视频的时候可以更好查到视频的类型(瞎编)

参考:
https://blog.csdn.net/qq_37992974/article/details/102141060

问:你创建索引根据的键值是强离散性还是若离散性的?

(完全不懂在问什么)强离散性的

参考:
https://www.xttblog.com/?p=4394

问:了解过滤器和拦截器吗?

没有了解

参考:
https://blog.csdn.net/jiangtianjiao/article/details/87537614

技术二面
感觉有点总监面的感觉,是一个年纪很大的人来面的,感觉问的问题都是随心问。
问:“你项目里写你做过短视频项目,那你的视频怎么存储的?”

同一面简单说了一下

问:“假如让你现在存储这么大体量的视频资源,你会怎么做?"

(把我问蒙了)我说这应该需要很庞大的服务器平台,把资源全部上传到服务器上

问:“知道云计算吗?”

(好家伙,主管就是干啥都能扯上自己业务,不愧是神州云)不太了解,我猜想可能是多台计算机集群工作。

参考:https://baike.baidu.com/item/%E4%BA%91%E8%AE%A1%E7%AE%97/9969353?fr=aladdin

问:“你答的很空虚,建议你去知乎查一下什么是云计算,网上很多这样的文章”

(我心里暗自吐槽)好的

问:“现场用C实现一个双向链表吧,能够输入输出。”

(没写出来)

问:“介绍一下Spring MVC三层模型吧,你做了哪些内容”

我负责的主要是后端写entity、mapper和controller层,在…层初始化类对象,mapper层通过@select注释写对数据库的一些操作…

问:“你说说类层里面get和set方法是从哪里取数据的”

(我蒙了)是从内存吧,我创建的类对象中取属性值

“不对,应该从数据库中取。”

我这里超想battle一下,我说那如果没有数据库呢

“没有数据库就从文件或者什么地方去取”

我说:我认为不对,对于没有数据库或者没有文件的程序,那你说的get和set方法难道不成立了吗?我认为get和set方法就是从我创建的类对象中取属性值,对于存取到数据库里是通过别的函数来实现的。

“你说的也是一种方法”
(救命,怎么有这种总监???反正面完就感觉稀里糊涂的,跟面试官扯这个云计算就花了3分钟,期间面试官还掉线一次,感觉好不正经,可能这就是总监吧,结果也是可想而知(被刷))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值