美团优选(一二面已凉)
一、项目(30mins)项目的具体介绍、应用场景、所攻克的一些难点、项目中充当怎样的角色 (问的真的特别细。。最好多准备一下面试官可能会问的问题)
二、 数据库
- InnoDB引擎解决了什么问题?
- MyIsam和InnoDB引擎的区别以及分别应用的场景?
- InnoDB是如何实现ACID特性的?
- 如何保证隔离性?
- MCVV具体的实现原理?
- 如何保证持久性的?
- Mysql的join实现原理?
- 。。。
三、计网
- TCP和UDP的区别?
- TCP的具体流量控制和拥塞控制的算法
- TCP的三次握手过程?为什么需要第三次握手?
- 浏览器中的视频通话是基于什么协议的?
- session和cookie了解吗?服务器是通过什么来保存状态信息的?如果cookie禁用了如何保持有状态的Http协议?
四、操作系统(重点)
- 操作系统的IO模型有多少种?可以具体介绍一下吗
- 操作系统的内存管理
- CPU指令和中断
五、JAVA
- 是否看过JAVA的源代码?
- ConcurrentHashMap的内部实现方式?JDK1.8采用什么方式处理并发问题?put方法的具体过程?size方法的实现方式?
- Java中synchronized锁升级的过程?
六、算法题
-
快排算法是否为稳定排序?为什么是不稳定排序?举个例子
-
大数乘法
- 买水果(背包问题)
字节跳动(一二三面求HR求OC求求了)
一、数据库
-
Mysql的索引实现方式(为什么要使用B+树,聚簇索引与非聚簇索引的区别等等)
- 最左索引匹配以及相关优化 (出了一道sql题目并判断是否命中索引)
- 脏读、脏写、不可重复读、幻影读等问题以及MySql的事务隔离级别并简单介绍不同级别的区别和实现方式
- 数据库的上层有什么策略来限制并发
二、计网
- TCP的三次握手四次挥手过程(为什么需要TIME-WAIT阶段)
- OSI 的7层网络模型
- HTTP中get 和 post方法
- 解释一下几个状态码
- session 和 cookie
- https了解吗?采用了什么方式?加密的数据是哪一层的数据?等
- TCP的流量控制和可靠传输的实现方式、接收窗口的作用?
- TCP的拥塞控制、网络如何判断当前是否出现拥塞?等等
三、操作系统
- 线程和进程的区别?
- 虚拟内存是什么概念?为什么需要虚拟内存(虚拟内存的优势)?MMU?页面置换算法?
四、算法题
- 爬楼梯问题
- 用链表实现队列
- 1亿个short数组排序(大数据考虑内存问题)
- 有序数组中找二元组问题
五、语言
- golang的协程概念(主要是简历上有写学习过golang但并没有进行深入了解)
- Java的hashmap是线程安全的嘛?具体是什么线程不安全的问题?(介绍了死循环的问题)扩容的时候为什么会造成死循环?具体介绍下hashmap的扩容过程?为什么hashmap扩容是原来容量的两倍?在jdk1.8中又有什么线程不安全的问题?
- 介绍一下java的GC?了解哪些垃圾回收器?(具体介绍了下cms)哪些对象可以作为GC ROOTS?
总结一下,感觉对于实习的岗位基本要求都是基本功是否扎实,问的也都是一些比较常规的问题,不过会对问题进一步深度的扩展。算法题都基本是力扣或者剑指的原题并在其基础多加了一些限定条件,都比较简单。
在准备春招的这段时间里,从分享的经验贴中收益很大,希望我这几轮面试的经验也对大家有帮助。最后最后,希望字节能够OC也希望大家能成功上岸,加油
全部评论
(9) 回帖