2019美团秋招后台工程师电话面试经验

收到面试通知大概是投递简历后的一周,短信直接通知第二天上午电话,也没时间准备太多的东西,直到面试开始前五分钟还在拼命刷知乎看经验贴233333

电话面总共进行了20分钟(因人而异),总共分三个部分:自我介绍、专业提问、综合素质提问。

首先上来是让我进行个自我介绍,由于没有提前准备过,就直接介绍了一下自己的学校背景、成绩排名、项目经历这些,本以为会对我的项目进行提问,但没有,看来都在后面几面才会涉及到。

接下来是专业提问,主要涉及的方面有数据结构、操作系统、计算机网络和数据库,我直接整理成问答形式:

数据结构

问:介绍几种树?

答:二叉树、满二叉树、完全二叉树(现在想想人家估计是想问平衡树、B-树、红黑树这种吧。。。)

问:树的应用?

答:并查集、检测图中的环、平衡查找树

问:平衡树之所以效率高的原因?

答:它限制了左右子树高度差为1,且每次插入删除结点都会调整树的结构

问:介绍一下队列和栈以及各自的应用?

答:队列是FIFO,栈是FILO。队列可以用于模拟进程的调度,栈可以实现非递归的深度优先搜索。

问:你知道哪些排序算法?

答:插入排序、选择排序、归并排序、冒泡排序、希尔排序

问:如何计算一个排序的时间复杂度和空间复杂度?

答:以插入排序和快速排序为例。插入排序的两次循环的次数都是长度n的函数,因此时间复杂度是O(n^2),选择排序是每个元素进行二分递归排序,因此是O(nlogn)。空间复杂度就看有没有开额外的空间,一般来说是数组,有的直接在本数组内排序就可完成。

操作系统

问:进程与线程是什么?

答:这俩都是操作系统任务调度的基本单位。线程比进程更小,若干个线程可以共享一个进程的资源,比如说I/O资源或者全局变量,且线程的并发效率更高。但操作系统资源分配的基本单位是进程。

问:32位与64位有什么区别?

答:寻址空间不一样,读写字长也不一样

计算机网络

问:TCP与UDP协议的区别?

答:TCP是可靠的传输协议,UDP是不可靠的传输协议

问:TCP三次握手的过程?

答:客户端发起SYN信号并附上自己的数据块起始编号,服务器接收到之后也发起一个SYN信号,并附上ACK信号以及自己数据块的起始编号,最后客户端再返回一个ACK信号。

问:你觉得三次握手能保证数据传输的可靠性吗?为什么?

答:不能。(理由我停顿了一会儿实在想不到就回答了不知道2333不过人家没有为难我)

问:简述一下网页前端与后端交互的过程

答:以表单为例,前端的HTML或者JS代码把变量传送到后端,后端根据表单的ID以及变量名获取数据。

问:简述一下不同网页之间如何发送信息

答:最简单的方式是直接通过url传递信息,除此之外Java中还可以通过转发request来传递网页接收到的内容。

数据库

问:你对数据库的掌握情况如何?

答:学校里做过一个数据库后端的网页项目

问:那你了解查询优化吗?

答:不了解。。。(上课的时候老师直接把这章跳过了)

问:好的。。。

简而言之,技术问题没有提到太深的问题,连代码题都没问2333主要还是考察各种基础知识,把专业课里的重点章节复习一遍就没啥大碍。面试官全程都很和善,回答出来的部分面试官基本没有否定过,没答出来的部分面试官也说“没关系”。

接下来是综合面,问了我大学期间经历过的印象最深刻的事,我就说支教。。。然后又提问为什么要去支教?觉得有什么收获?遇到过什么困难?为什么会发生这样的困难?如果你是当时的负责人,你该如何解决这些困难等等,简而言之,聪明点的小伙伴还是要学会随机应变,尽量往能体现你解决问题的能力的方向去回答。

最后面试官又问,为什么选择直接就业,而不是去考研。我就说与其水论文还不如直接就业来得好。。。面试官听到直接笑了出来。

总之比想象中要轻松,不过这还只是第一面hhh

你可能感兴趣的:(面试经验)