美团一面
总体来说面试的问题比较发散,不是常规的八股文问题:
-
介绍自己; 感觉你是算法相关,为什么投后端岗位
主要是机器人相关,大厂部门小,找人少;无人驾驶企业前景不明 -
讲一下觉得后端需要的能力; 没学数据库吗?
开发能力,包括操作系统,计算机网络,算法数据结构和编程能力 -
cpp 我也不太了解,问一个问题,谈谈虚继承
虚继承,解决多重继承的问题,多个继承链条可能指向同一个基类,这样这个基类就被继承了两遍;
调用函数,不知道调用的是哪一个,所以用虚继承保证这样的基类只继承一边, 感觉没答好。
画蛇添足地回答了一下我不太用多继承,一般是单继承
-
你觉得cpp的特性
封装,继承,多态
操作内存比较自如 -
看书吗?
c++ primier, effective c++ 没有完整看,感觉某些概念没理解清楚的时候会看 -
cpp 和java的区别
cpp 难以跨平台:
跨平台: OS, CPU指令集
windows,linux下的可执行文件的结构不同
不同CPU指令集不一样
虚拟机:
那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序
-
cpp为什么没有垃圾回收?只有智能指针, 可以实现垃圾回收吗?
感觉可以,可能是没实现的特性。。 -
进程线程? 调度是哪一个:
-
不同的操作系统:windows, linux
开源,闭源
内核态,用户态
GUI: 流畅度(不太清楚面试官提示的意图)
没答好
-
计算机网络,问一下协议栈
大概五层说了一下:
物理层,数据链路层, IP层(网络层),传输层,应用层
http/https, TCP/UDP, DNS, ARP, ICMP,IP -
5G 哪一层?
回答是比较底层。。。
提示说TCP,UDP无法通信,所以在比较底层 -
做个题
之字行遍历二叉树