(已挂)米哈游,校招后端开发面经
一面
-
面向对象的三大特点
-
make 和 new 的区别
-
make slice 的 两个参数 的含义
-
goroutine 怎么控制并发度
-
多个协程操作map怎么做,map有些什么注意事项(key不可寻址,key可等)
-
内存泄漏的场景
-
channel怎么实现的
-
线程和协程的区别
-
并行和并发
-
进程的通信方式,线程的同步方式
-
什么是临界区
-
死锁怎么产生的,怎么避免死锁
-
分页
-
软链接和硬链接
-
OSI七层模型,TCP三次握手,TCP和UDP区别,TCP粘包和拆包,HTTP状态码,网关,DNS
-
算法题1:判断一个数字是不是回文数
-
算法题2:用链表实现一个优先级队列
-
算法题3:两个string的数字求和
- 实习项目
二面
-
算法题1:输入一个数组和一个target,输出数组的数字加减乘除括号运算后等于target的一个字符串式子
-
算法题2:多叉树层序遍历,左视图
-
跳台阶
-
场景题:抽奖,每个用户可以点击抽奖最多N次,中奖后不能再抽奖,每次点击有概率 P 中奖,如果前N-1次不中奖,最后一次必中,奖品一共M个,奖品发完后抽奖就提示没有奖品了。 设计基于mysql的方案和基于redis的方案
- 实习项目