美团SaaS后台开发实习一二面凉经
2、 一道回溯的题目:a、b、c分别是可以取0~9的数字,不重复,求所有满足条件的a、b、c使得abc + bcc = 532。
操作系统:
a) 进程与线程的区别(牛客面经中有)
b) 进程、线程通信方式
c) 进程调度方式
d) 什么是死锁,死锁必要条件,抢占式能避免死锁吗?
计算机网络:
a) Tcp/udp区别
b) Tcp三次握手/四次挥手,为什么三次
c) http是哪一次协议,了解post get cookie session区别吗?(不了解)
d) 输入网址发生了什么
数据库:
a) 数据库事务的四大特性(不了解)
b) 想不起来了
数据结构:
a) 跳表了解吗
b) 位图了解吗(知识盲点)
智力题:
a) 典型的3升、5升桶,如何求4升桶。
b) 一个城市里面如何更少的加油站(蒙蔽)
评价:
a) 有明显的短板比如说数据库、http
b) 缺乏交流。
c) 问如果转别的岗位愿不愿意?问如果是c++后台开发,想做哪方面比如底层、业务等?(想做底层)
总结:
不要投机取巧,该看的还是要看比如跳表、位图。后续还需要重点看看数据库与http。整体表现一般水平,等通知吧。
3.31下午两点二面:
二面:
1、 自我介绍
2、 计算机网络(这部分内容问的多一些)
a) 如何通过udp实现tcp可靠的功能(tcp的各个方面,自己最开始把三次握手忘记了,不过再面试官的提醒下,补充了)
b) Tcp与udp有什么不同
c) Tcp与udp的应用场景有什么不同
d) 说说流量控制与拥塞控制有什么区别
e) 说说拥塞控制的具体流程
3、 操作系统
a) 进程间通信方式有哪些?
b) 你提到了读写锁,能告诉我读写锁怎么实现的吗?(我回答可以通过互斥锁和条件变量来实现,结果面试官问我了解mysql中的读写锁吗?我说数据库部分内容都不太了解,这部分内容略过)
4、 一个逻辑题
一副牌13张,A到K,第一次操作将最上面的牌插入到最底下,第二次操作把最上面的牌直接翻开,拿出去。后面的操作重复,如果最后翻出的牌的序列是A到K,请问最开始的牌的序列是什么样的?
5、 一道算法题
a) 求多叉树,m个子节点的第一个公共父节点
刚开始没什么思路,后面突然想到这个题目跟求链表的第一个公共节点是类似的,首先求所有子节点到根节点的路径长度,然后调整到统一树高,然后判断所有节点的值是否相等,如果不相等,都往上步进一步,直到相等,这个相等的值既是要求的第一个公共父节点。(遇到了一个小bug,调了一会儿)
6、 考虑前端吗
a) 完全0基础,不考虑
7、 http与https
a) 有什么不同
b) 中间人可不可以捕获并查看证书数据包(回答可以)
c) 可不可以篡改(不可以)
8、 有什么问题问我
a) 业务方向
面向商家的bulabula
b) 请对我评价一下,缺点或者不足
数据库明显的短板(跟一面一样)
除了基本的知识外,可以多学学一些后台开发的相关知识(框架啥的)
不过,计算机网络掌握的不错(被人肯定的感觉不错)
c) 技术栈
Java + spring全家桶 + mysql + 中间件
我回答说学习成本可能会高些,面试官说语言还好吧,都是通的,可以先自己补充补充mysql方面的知识以及spring一些基本知识,中间件这些后面可以慢慢学。