字节跳动:
- 自我介绍
- Hashmap和hashtable的对比
- 算法题:
归并排序
链表反转
求数组的最大子序列乘积
- session和cookie机制对比
- spring框架中bean的底层实现中有个sgoup,它的初始状态值是多少
- 存储引擎的对比
- 主键索引和普通索引区别
- 写道数据库的题
- Linux怎么部署项目的
- Redis异步队列怎么实现的
- 登陆注册怎么用cookie实现的,具体过程。注册过一遍之后,再次登陆从数据库和cookie’中获得什么,后端怎么工作的
- Timeline怎么实现的
- Pyspider爬虫的效率
- 还问了写spring框架的东西,记不住了
- 项目中用到的多线程在那里
- 你用到多线程的创建方式,哪种最好
- 拦截器怎么实现的
- 你熟悉哪种数据结构
美团一面:
- 自我介绍
- 编程:给定一个字符串,求出字符串中出现频次最高的3个字符;
- 项目中异步框架中的每一个handler是怎么找到对应的事件的
- 登陆注册模块每一步是怎么实现的,登陆模块中服务器是怎么知道我之前登陆过的
- 两个拦截器的顺序,具体怎么执行的
- 服务器中的数据取出来之后存在哪里,写dao层语句
- 单元测试和压力测试怎么执行的,用了Jmeter和apache。
- linux上部署的流程
- linux的一些指令
- 路由器的转发步骤
- JVM垃圾回收整个流程
- tcp和udp区别
- mybatis的xml文件怎么配置
- 怎么看待测试工作
- 浏览器输入网址打开页面的流程
- 面试的时候不要着急,多想一下。
美团二面:
- 介绍项目
- 项目中写一个简单的网页响应。 @RequestMapping和@RsponseBody的使用
- 编程:链表是否有环
- 一个文件中有2亿个用户,每个用户有一个不变的ip地址,怎么查找这个表中出现频次最高的20个ip地址对应的用户。若是在数据库中又怎么查询。
topK问题:分治+Trie树/hash+小顶堆
先将数据集按照hash方法分解为多个小数据集,然后使用Trie树或者hash统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出现频率最高的前K个数,最后在所有的topK中求出最终的topK。
- java中虚函数和接口的区别
- 编程:一个数组中查找最大值
- sql中inner join, join, right join, left join, natural join区别
- 项目中为什么要用异步队列
- 为什么想来美团
- 怎么看待测试和测开
- 如何测试美团手机app
- 对压力大怎么看待
待解决问题:
mybatis中#和$符号的区别。
用了redis的什么,这些数据结构底层是怎么实现的。
方法区的溢出oom。
聚集索引。
threadlocal的原理,项目中用了几个多线程。
怎么协调redis和mysql之间的关系,存在不同步怎么办。