斗鱼研发面经
斗鱼武汉
Java开发工程师(大数据方向)
1
一周前斗鱼约了面试,公司就在学校旁边,于是过去面试,2点到5点半。
现场面试体验还不错,办公室挺拥挤的,面试比想象中要难。
先做了一套笔试题,然后三轮面试。
笔试:
1 基本数据类型和引用数据类型的区别
2 静态成员变量和非静态成员变量的区别
3 Java的接口,抽象类,和普通类的区别。
4 字节流和字符流有什么区别,分别用哪个接口
5 忘了
6 两个线程A,B。A要等待B运行完(或者A超时10秒)再运行
7 两个表A,B。A表有姓名,课程,得分,B表有课程,比重。
要求班里课程得分*比重总和在60-70,71-80,81-90,90-100的人所占全班的比例。
8 JS题
9 一个字符串,前半段反转,后半段也反转,然后输出。
10 一个无序数组,变成有序数组,并且删除重复数字
一面:
1 项目
2 为什么用chm
3 hashmap的线程安全问题
4 线程池结构,阻塞队列看过源码吗,array阻塞队列的原理,怎么实现的,这边的put答错了,事实上不用移动数组。
5 jmm内存模型了解过吗,说了工作内存和主内存,顺便说了volatile,不能保证线程安全。
6 spring说一下,老样子ioc和aop,问我bean为什么是单例的,是否线程安全,怎么让接口指定实现类。bean容器的实现原理,解析过程,问我这块是在哪里看的,我说博客。
7 hibenate的作用,原理,有什么问题。
8 mysql的SQL语句优化怎么做,有哪些情况用不到索引。怎么优化
9 redis的缓存穿透怎么解决,如果是无效请求怎么办。
10 消息队列了解么,主要有什么作用。
11 zk了解么。
12 写一个双重检查的double check,忘记写构造函数了,尴尬。
二面:
1 项目
2 MySQL建表实现目录树的结构,怎么做。
3 怎么查这个目录下的一级节点呢
4 把目录节点写成一个类,让我写一个遍历所有子节点的方法。
5 写一个hashmap的get和put方法,稍微写了一点点基本结构,我说后续太复杂了,他就没问了。
6 nginx做负载均衡,它管理的Tomcat服务器怎么管理session实现共享,我说使用数据库和缓存。
7 nginx单点故障怎么办,做集群,那么集群怎么让客户端知道要访问哪一个IP。我说让本地dns服务器来选择。
8 集合类的几个问题
9 docker和k8s说一下。
10 直播技术了解么。
三面:
1 平时怎么学习的
2 哪些书你印象深刻
3 实习的收获哪家公司更大一点
4 遇到困难怎么克服
5 新的技术怎么去学习
6 Java web的发展了解么,这些框架是怎么演变的,springboot呢,其中的区别呢。spring容器的原理,mvc容器的初始化,以及内部数据结构是什么样的。
7 docker和k8s怎么学习的,有什么好处。
8 平时还学了哪些技术,对未来发展怎么规划
9 有什么问题