首页 > 猿辅导服务器端三面凉经
头像
佛祖请说元
编辑于 2020-09-01 12:19
+ 关注

猿辅导服务器端三面凉经

对猿辅导本来还挺期待的,结果三面之后第三天就收到了感谢信。凉凉,不过也确实是三面的时候编程题没有做出来。岗位:服务器端后端开发
8.7号一面:两道编程题,第一道排序链表,我使用的是插入排序,第二道是找二叉搜索树的中间值,思路是用中序遍历存到数组中然后找中间值,面试官问能不能不用数组存,没有想到更好的思路,就写了自己思路的代码。
问答题:c++中的conststl的泛型,为什么c++能实现泛型。计算机网络问的比较多:arp是哪一层,应该是网络层,我说的是链路层,说一说arp的具体过程,然后又问了dhcp的具体流程,当多个dhcp都发出来ip地址给主机的时候,选择了某一个dhcp后,其他dhcp是否知道,如何避免分配重复。Ip地址ipv4简单介绍一下,有哪些特殊的ip地址,数据库问了一道join的题。
8.14号二面:比较基础。项目15分钟。Tcp三次握手,为啥三次,b+树,操作系统问的进程线程区别。编程题二叉搜索树转双向链表,每k个节点反转链表。题目也很网红。
二面面完就通知过了,本来约了16号的面试,结果因为约满了,一直等到29号才迎来了三面。
三面面的就很服务器了,nosql和mysql的区别,为什么nosql更快一些,如果mysql也是在内存中存储跟nosql哪个快一些。nosql是单线程的,线程会不会有什么线程安全问题呢?比如如果两个人同时写各自的博客,都是使用了博客的同一个代码部分,会有线程安全问题吗?如果是两个人修改同一个博客呢?如果要上锁,这个锁上在哪里呢?现在可能是多个服务器来处理这个问题,可能是我们两个人的请求到了两个服务器,这种锁就很难上了,怎么解决。猜想两种可能方案,一种是请求都会先发给主服务器,然后统一调度分发给不同的从服务器进行处理。第二种就是一次性发给两个服务器,但是服务器之间会同步信息。面试官说这样能解决这个问题但是并发性能立刻就下来了,应该使用一个服务器来管理和分配锁。下一个问题:刚才的这个修改博客的请求从你的电脑输入URl到服务端是怎样一个协议流程。最后问了一下服务器的io方面,异步io
最后剩20分钟,考了一道很长的编程题:没有完全写出来,时间不太够了。最后跟面试官交流了一下思路。

ABCDE五种不同口味的酸奶,单价是8元,通过优惠鼓励消费者购买不同口味。购买的不同口味越多,优惠越多。买4中以上口味的,每瓶优惠3元,即享受5元每瓶,比如:

ABCD 各买1瓶, 总价是 5*4 = 20元,但如果A2瓶,BCD各买1瓶,总价是 8 + 5*4 = 28元,但ABCDE各买1瓶,总价是 5*5 = 25

假如,购买:A*2, B*2 C*2 D*1, E*1,消费者结账时可以用不同的组合方式结账,但总价格是不一样的:

方式1

ABCDE

ABC

5*5 + 3*8 = 49

----

方式2

ABCD

ABCE

4*5 + 4*5 = 40

……

要求给定一个各种口味的购买数量,比如[A:2, B:2, C:2, D:1, E:1]给出最优的组合:[ [A,B,C,D] [A,B,C,E] ]

我的思路是用优先队列(最大堆)一个map(字符到数量的映射),然后判断队列第一个元素的数量是否是1,如果是1,输出所有元素,否则,从优先队列中把前四个元素取出,减一,再放回到优先队列,重复循环。
最后问了面试官的面试评价,说代码的思路挺好的,基础知识掌握的不错,但是对服务器端的知识面不够广。
总结一下:自己服务器端的能力还是欠缺,尤其是分布式这一块没有系统学习过,也没有在项目里用过导致面试失败。继续努力吧!

更多模拟面试

全部评论

(22) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐