美团C++/java开发-一二三面面经:求offer

分享面经
基本上没问java,可能是看我不会
分享面经,求offer,许愿HR
一面,一小时:

进程通信---信号

信号的本质是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号预处理器收到一个终端是一样的。

信号是异步的,一个进程不必通过任何操作来等待信号,事实上,进程也不知道信号什么时候到。作为进程间通信机制中唯一的异步通信机制。,可以看作异步,通知接受信号的进程有哪些事情发生了。信号机制通过POSIX实时扩展后,功能更强大,还可以附加信息。

信号事件的来源:

  1. 硬件来源
  2. 软件来源 kill raise alarm setitimer sigqueue

信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些事情。

负载均衡的策略

设备、工具

  1. Ngnix
  2. LVS:直接路由(对IP和MAC进行修改,由RS直接返回给用户), NAT模式,处理数据包后给RS,RS在返回LVS,在返回给用户

负载策略

  1. 轮询
  2. 静态权重
  3. 动态权重
  4. hash
  5. 随机命中
  6. 最小连接数
  7. 最短响应时间

算法

非递归遍历树

僵尸进程和孤儿进程

僵尸进程

父进程使用fork创建子进程,子进程结束后父进程没有调用wait或者waitpid获取子进程返回的状态信息(比如进程描述符、返回状态值等),导致这些信息一直保存在系统中。PS状态命令进程状态为Z的,就是僵尸进程。
僵尸进程会在系统中保留进程描述符、进程id等信息。

孤儿进程

不受父进程控制的进程

9.4 二面,一小时

二面问了很多数据库问题

数据库默认级别

读未提交 脏读 不可重读读 幻读
可重复读 不可重复度 幻读
不可重复读 幻读
串行化

索引

  1. 聚簇索引 非聚簇索引的区别
  2. 索引叶子节点存储的啥

B+树的优点

函数栈的内存布局

进程调度算法有哪些

ACID

索引类别

TopN

topN查询,大文件查询TopN,以大化小,组个查询再合并,分治思想

机器学习简单的,你会那些

看了那些书,比较重要的是哪些书

数据结构

  1. 堆栈的区别、操作方式和存储逻辑
  2. 要我手写一个堆的增删查,我没写,太复杂

构造是否能够虚函数

Tcp、UDP

  1. 区别
  2. tcp三次握手
  3. tcp的网络拥堵和流量控制策略

进程通信

算法

  1. 建树:前序中序、后序中序
  2. 填充带有next节点的 二叉树 ,leetcode 117,层次写法,优化写法
  3. 二叉树中:找出第K层所有节点

9.4 三面,一小时:

  1. 生产者和消费者模型,简单说定义概念
  2. 进程通信
  3. 算法: 数组中,找到三个数的和等于目标值,找出这三个数;猴子搬桃子问题,类似问题汽车加油问题,跑到终点需要几个车出发。
  4. 其他问题:各种聊,大学,兴趣爱好、业余时间干嘛,时间分配、等等
  5. 项目问题:项目流程、针对困难解决的方案、期望的工作类型等等

求求求求::offer,,保佑保佑

#面经##校招##美团##C++工程师##Java工程师#
全部评论
楼主你好,请问你是实习、校招还是社招?
点赞 回复
分享
发布于 2020-09-04 19:54
楼主,请问下你base是哪里呢?
点赞 回复
分享
发布于 2020-09-04 20:57
滴滴
校招火热招聘中
官网直投

相关推荐

2 27 评论
分享
牛客网
牛客企业服务