2022-03-10 美团后端基础研发平台一面面经

首先面试官做了个自我介绍以及部门的介绍(部门忘了,orz),然后是我的自我介绍
计网:问http协议包含哪些内容,起初只回答上了版本号(心里想既然有http1.0/1.1/2.0/3.0应该会有个版本号),然后回答了首部长度20字节,别的有点忘了,然后面试官一步步引导,加上了hosts,content-type,keep-alive,长度,等等吧,反正加到面试官满意就ok啦,然后问我osi七层,然后问tcp了解过没,简单介绍下它,我说他是一个面向连接的端到端的运输层控制协议,可以确保传输的信息的有效性,然后面试官说对的,它还有一个特点你能想起来不,我想了想没想起来,面试官说他是面向数据流的,所以它会有问题呢?面试官继续问道,我反应过来这是在问粘包拆包嘛,然后就回答粘包,然后就继续问道该怎么解决这个问题,我回答了固定长度和加入固定分隔符,然后说http里有很多\r\n,这个其实也是上个http有哪些内容的问题,相互补充的感觉?Cookie和Session区别,然后问我用过没,怎么用的,我说之前写博客系统的时候有用过,然后说可能用的存在一定的问题,然后讲了下怎么用的。
操作系统:首先自我介绍的时候提了一下本科有些硬件的经历嘛,然后其中提了下摄像头,面试官就问你觉得摄像头是种什么东西呢?我说我认为,我认为哈,摄像头是一种传感器之类的硬件,他可以收集信息,转换为二进制数据,然后把这些数据交给需要的程序。面试官可能更想让我回答他是一种输入设备吧,他讲到冯诺依曼体系,然后说摄像头也就对应着体系中的输入设备,我觉得面试官说的很有道理!
数据库:数据库首先说写两条sql语句吧,我说比如有个数据库叫db,然后其中有个student表,其中有两项(或者两列),分别是SID和SNAME(学生号,学生名),然后比如我要查询学生号为10的学生名,我可以使用 select sname from student where sid=10(前边说了一嘴首先使用use db切换到db数据库),然后说了下插入一个新学生的语句,然后就引出了锁,隔离级别,封锁协议,mmvc,acid,undo、redo、bin log一系列问题。
其他:看你学习过很多语言(确实还学了不少,c/c++,python,golang,java,c#之类的都还有一定的了解),能讲讲一般你怎么学习一门新语言嘛,my answer:首先我会先学习下输入输出,然后打印hello world(经典hello world),然后我会了解一下这个语言的特性,比如golang的gorutine,每个语言的特点,与之前学的语言的区别,它擅长什么,它为什么擅长这些,然后可能像python和java这种就很很重点的了解一下他们的面向对象,毕竟比如java是一个高度面向对象的语言,然后会了解下它的多态呀继承呀这些与之前学习的面向对象有什么区别,比如java可能只支持单继承,c++支持多继承,然后可能会了解下当前语言的设计模式,这里我也强调了下设计模式是通用的,不是针对特定语言的,然后我可能会了解些它的框架,就说完了(其实可能再说下了解下它的gc呀,还有比如golang的gmp这些可能会更好些?)。
然后时间差不多了面试官说写道题吧,想了想说写一个排序算法吧,我说快排可以嘛,然后写了个快排,大约一共1个小时多一丢丢,结束,应该面试还可以,有些问题想不起来了,,,最后要好好夸下面试官,很和蔼,也很耐心,一步步引导俺,很赞的一次面试,over.

posted @ 2022-03-11 10:49  sqdtss  阅读(318)  评论(0编辑  收藏  举报