美团客户端实习面经

笔试 4.27

题型:30题单选题,2题编程题

时间:2小时

单选题主要有计算机网络、操作系统、数据结构、数字找规律、三元一次方程应用题等。

记录单选题涉及到的知识点

  • 有效的子网掩码
  • SQL共享锁和排它锁,其他事务能否读写
  • HTTP2 和 HTTP3 的区别

编程题AC第一题,第二题是一个九宫格魔法阵,周围的数值改变怎么怎么样的,没一点思路。

当时没记录,现在忘了。。

一面 5.16

  • C和C++的区别
  • 子结构体对父结构体函数的重写
  • 进程和线程的区别
  • 同步和异步的区别?为什么需要异步?多线程操作时可能出现什么问题?
  • OSI七层网络模型
  • HTTP和HTTPS的区别?HTTP全称是什么?HTTPS的S指什么?
  • TCP和UDP的区别
  • 为什么要三次握手
  • 服务器如何知道请求中的不同类型的数据格式?
  • 编程题:翻转链表

全都是考基础,没问项目没问实习。

开头自我介绍,然后问我熟悉什么语言,C++或Java会吗,一开始就是打算考编程语言。

C和C++的区别,答:一个是面向对象一个是面向过程,C++有输入输出流

然后出了个题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct A {
f() { printf('A'); }
};

struct B : A {
f() { printf('B'); }
};

int main() {
A a = A();
B b = B();
a.f();
b.f();
return 0;
}

问输出是什么。又问给Bf()加上virtual,输出是什么。

最后一题考编程题,两非递减数组原地排序,LeetCode上刷过,心中窃喜,结果语言切到C++,判题器有点问题没给提交模板,判不了题直接编译错误,面试官也弄不明白,就给我换了一题翻转链表,结果没做出来,被自己的抽象操作蠢哭了…… T^T

最后面试官还指出了我的不足。在我做编程题的时候他看了我的Github和博客,说我项目是足够的,但是要注重基础,编程语言的基础和底层,计网、数据结构四大件的基础等。

还是第一次有面试官给我提建议,发觉不同面试官之间面试方式还是有挺大差距的,有的没怎么问编程语言,有的不怎么问实践。