面试题汇总

Posted by 石福鹏 on 2019-03-01
Estimated Reading Time 3 Minutes
Words 848 In Total
Viewed Times

拼多多

1、说出 java 开启多线程的方式,
线程池,4 个 java 自带的线程池有什么问题
线程池 7 个参数都分别讲一下
2、JVM 内存模型讲一下,垃圾回收大致说一下
3、MySQL 索引,什么时候我们会创建索引?讲一下回表的含义。
索引合并还有一些什么优化的玩意儿(涉及索引底层内容)
分库分表了解么?水平和垂直,讲一下
我们通过 select * from table limit x,y 分页查询,越到后面,查询效率越低,有什么优化点?
4、Redis 5 种数据类型
客户端向 redis 发送两个 put 操作 k1 和 k2,redis 可以如何对两个操作一起执行,然后只返回一个执行结果给客户端
redis 集群模式(3种:主从模式、哨兵模式、还有一种忘了)
缓存穿透解决办法(数据库10w个身份证,不法分子有1000w个不在裤中的身份证去查询)
5、讲项目5分钟,聊下业务,flink
6、算法:三个线程分别打印 ABC,顺序输出 5个 ABC

猿辅导(2面)

为什么用B+而不是红黑树,不是B
回表的概念讲一下
select a,b,c,d from tbl where a= A and b = B and c < C order by C;
你会怎么设计索引(我直接说对 c a b d建立索引)
如果查询的内容不止 abcd,索引是耗费空间的,你会怎么设计索引尽可能的让索引少存储数据?

2、 Java 多线程
讲一下 synchonized 和 lock 的实现区别
synchronized 修饰方法原理是什么(This Monitor 和 Class Monitor)
3、Spring AOP 和 IoC 讲一下
4、Redis 有序集合,讲一下你知道的操作,分别对应的时间复杂度是多少
有序集合的数据结构是什么?为什么这么设计
5、500G 大文件,每行都是一个整形,内存只有4G,磁盘准够,将文件处理生成一个500G的有序文件
6、两个有序集合合并
7、如何设计微博/知乎的消息通知系统

字节跳动

1、他上来自我介绍抖音电商业务 5 分钟,后续我讲业务+穿插问题 20分钟
2、flink checkpoint 是啥,exactly once 语义如何保证的
3、kafka: consumer 端如何保证幂等性
4、Java Object 类有那些方法,一一说一下,然后说下功能,wait 和 notify 实现原理(和你面试一模一样 @M.N.G. )
equals 和 hashCode 方法重写时有什么注意点
equals 为 true 一定要保证 hashCode 值一致么
hashCode 值一致,equals 返回一定为 true 么
5、两个大数据文件,文件每行都是字符串,怎么取交集
6、算法,获取一个字符串的最长有效括号对的长度,以及输出这个最长有效括号字符串

其他

1、数组中只有两个两个元素不对称,请找出来

​ 全部异或得到一个值,然后找到这个值的第一个1,然后根据这个位置分开异或

2、给你一台机器。如何写一个程序,让CPU蹿升到50%

面试中出现的题解:

1、如何求一个整数的平方根,保留8位小数 https://blog.csdn.net/weixin_33747129/article/details/91386969


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !