没能圆梦bat,但至少也努力过
字节提前批:
一面(挂):
网易提前批:
一面:
二面(挂):
珍爱网:
一面:
-
自我介绍
-
项目介绍
-
Java 的锁有哪几种分别说一说
-
volatile 是线程安全的吗
-
Java 线程池如何设置参数
-
Redis 实现分布式锁的原理说一下
-
Redis 实现缓存是存储什么数据,过期时间是多少
-
Mysql 存储了哪些数据?
-
索引实现原理是什么
-
索引哪些情况下会失效
-
设计索引有什么需要考虑的因素
-
如何查看 SQL 语句的执行情况
-
除了 Redis 实现分布式锁,还有什么办法:ZK
-
ZK 实现分布式锁的原理了解吗?不了解,但了解如何实现服务注册与发现
-
zk 如何保证高可用
-
zk 高可用的实现原理是什么
-
看来你对zk这块还不太熟悉,我们聊点别的吧
-
TCP timewait 情况了解吗?怎么解决
-
操作系统的 epollo 讲一下
-
虚拟内存,物理内存
-
反问
珍爱网二面
-
自我介绍
-
项目介绍:深究项目细节
-
项目当中的作用
-
有什么难点如何解决
-
项目目标是什么
-
有什么提升
-
项目相关的 TCP 三次握手的原理
-
多线程,并发,负载均衡怎么处理的
-
反问
珍爱网HR面
-
自我介绍
-
对公司了解
-
想去怎样的公司
-
之前实习的公司觉得如何
-
想在以后获得什么
-
哪里人,家人怎么看你来面试这家公司
- 反问
腾讯:
一面:
-
项目介绍
-
Nginx 相关负载均衡算法
-
一致性哈希
-
http 长连接、短连接
-
epoll 边缘触发与水平触发
-
epoll 空轮询 bug
-
https
-
linux 的页内存。答不会但是了解操作系统的虚拟分页
-
操作系统虚拟内存:分页分段
-
linux 命令:du、top、free、netstat
-
Redis 在项目中怎么使用,使用什么特性
-
分布式锁的实现除了 Redis 还有什么?
-
zk 分布式锁实现原理了解吗?不了解,了解服务注册与发现原理
-
zk 服务注册与发现
-
算法:复杂链表的复制
-
服务分组怎么搞(还可以靠标签解决)
二面:
-
自我介绍
-
解释一下Tomcat的运行机制
-
计网HTTP原理
-
虚拟内存存在的意义/设计原理
-
Redis 存储缓存比起 Mysql 有什么区别,能用 Redis 存储数据库数据吗
-
缓存与硬盘的优点缺点比较,为什么需要缓存
-
项目介绍
-
针对项目:
-
如何优化
-
测试效果如何
-
Redis 分布式锁怎么使用
-
除了Redis实现分布式锁,还知道其他的分布式锁实现方式吗: ZK分布式锁实现/基于Mysql的分布式锁实现
-
设计的线程池运行策略是怎样的
-
线程池线程数如何设计
-
为什么没有任务执行的线程要关闭 : 答线程上下文切换会带来损耗
-
线程上下文为什么会带来损耗 : 讲了用户态和内核态的切换
-
-
有没有玩过游戏
-
英雄联盟的寻路算法要怎么设计:动态规划/深搜/广搜
-
如何优化:
-
缓存存储经常寻路的路径,下次寻路直接查出
-
动态规划计算,使用多个线程并行计算结果,最后选出最短的那一条路径
-
-
反问
总监面(挂,此面是感觉最冤大头的,问的问题奇奇怪怪,唉):
-
C 语言:一个mian函数,执行的第一行就出错了(在中括号的那一行,还没执行响应的代码就出错了,段错误)是什么原因导致的。如何处理
-
socket():客户端每次发1024字节,循环发十次,服务端socket() read 的时候读多少个字节
-
一致性哈希:一致性哈希的原理,好处:答上来了;为什么要使用一致性哈希:懵,语塞
-
微服务的认识与理解
-
为什么不能单体应用而要使用微服务
-
平时如何学习的?
-
讲讲对 MVC 这个框架的理解
-
一道智力题:A,B两个人分别持有一样的牌:3/4/5/对6/对7/对8。单牌只能吃单牌,对牌只能吃对牌,不能拆牌下。A先下牌,问一定能赢吗?
华为:
一面:
-
自我介绍
-
项目相关
-
线程安全实现方式
-
Redis 分布式锁如何实现
-
Nginx负载均衡原理、所选负载策略
-
Nginx能否感知消息队列宕机
-
如果服务器宕机怎办,一致性哈希可以进行处理
-
一致性哈希的优点,能解决什么问题。机器数量高度可拓展,宕机的时候数据迁移量少
-
如果让你设计哈希算法你会怎么设计。答:取模;反问:那机器数量改变怎么办,模数不是又得改了。其实是因为没答到点。其实得答按机器数量取模
-
-
思考题:
-
微博几十亿条数据,要实时展示出评论前10条的数据,怎么快速查询
-
哈希再哈希,哈希到对应机器上面时使用键值对进行获取
-
那修改的时候呢?如何提高效率
-
-
算法题:
-
O(n)时间复杂度找出数组中的TopK元素:使用快速排序的思想进行查找,排序一部分数据就行,不需要排序全部
-
二面:
-
自我介绍
-
Java并发相关
-
线程安全实现方式
-
volatile 实现原理
-
synchronized 实现原理/比起可重入锁的区别
-
线程池的实现方式
-
线程池的核心参数如何设计
-
-
计算机网络相关知识:TCP、UDP等
-
操作系统相关:
-
虚拟内存
-
如何查看占用CPU较多的原因
-
-
JVM 部分:
-
分代情况
-
Java的内存管理策略
-
年轻代中的划分情况/比例
-
年轻代怎样会升级到老年代/如何设置升级年龄
-
复制回收算法是怎样的
-
-
算法题:
-
两个排序好的数组,找出其中位数,要求时间复杂度O(m或n):可以使用折半查找的方法进行查询
-
三面:
-
自我介绍
-
说说实习的时候做了什么
-
说说工作室的经历
-
对华为的认识,为什么想加入
-
对自己的评价
-
技术方面的追求
腾讯微保:
一面:
-
自我介绍
-
项目介绍
-
Java基础,计网基础,操作系统基础
-
算法题:
-
股票买如卖出各一次,求利益最大的方案
-
二面:
-
自我介绍
-
项目介绍
-
对保险行业的了解
-
反问
Bigo:
一面:
-
自我介绍
-
Java并发相关
-
线程安全实现方式
-
volatile 实现原理
-
synchronized 实现原理/比起可重入锁的区别
-
线程池的实现方式
-
线程池的核心参数如何设计
-
ThreadLocal 的底层实现与使用方法
-
-
数据库相关:Mysql
-
Mysql 索引实现原理
-
InnoDB/MyISAM 之间的区别:从索引实现,数据存放位置,适用场景的方面讲
-
SELECT COUNT(*) 哪一个引擎更快,为什么
-
a,b联合索引,查询条件为a/为b/为a AND b 走不走索引
-
如何查看慢查询出现的情况: 打开慢查询日志进行查看
-
如何查看某条慢查询语句执行时占用的CPU/内存/耗时等情况: 这个没了解过
-
-
计算机网络相关:
-
TIME_WAIT/CLOSE_WAIT 如何解决
-
-
操作系统相关:
-
虚拟内存
-
如何查看占用CPU较多的原因
-
查看线程pid
-
接下去就不会了,只会如何排查占用内存较多的方法
-
-
-
项目相关:
-
项目介绍
-
Redis 分布式锁如何实现
-
Redis 缓存存放什么数据/使用什么数据格式存储
-
Redis 是单机部署的吗
-
测试情况如何
-
-
JVM 部分:
-
分代情况
-
垃圾回收策略
-
年轻代中的划分情况/比例
-
年轻代怎样会升级到老年代/如何设置升级年龄
-
复制回收算法是怎样的
-
二面:
-
自我介绍
-
手撕字符串转数字
-
手撕判断矩阵是否是数独
-
TCP 三次握手,各个状态与传递参数
-
JVM 内存模型(运行时内存)
-
介绍一下几种 GC 收集器
-
CMS 的具体垃圾收集策略是怎样的
-
死锁出现的条件
-
Java 加锁的方法:synchronized 、AQS 、CAS
-
ABA 是什么问题,如何解决
-
有哪几种线程池
-
JVM 参数调优如何设置
三面:
-
自我介绍
-
说说实习的时候做了什么
-
分布式锁怎么实现
-
Redis 事务了解吗,怎么处理
-
RPC 的实现原理
-
Zookeeper 的 Watch 机制了解吗
-
Dubbo 的序列化框架
-
服务注册发现怎么做的
-
Redis sortSet 底层实现是如何
-
sortSet 的查询,写入和删除时间复杂度分别是多少
-
AOP 如何实现的
-
GIT 如何进行版本回退
- 大数据有没有了解
- 回去要学习什么?