1、常用的集合类,hashmap是线程安全的吗,如何保证线程安全

Java集合框架主要包括两种类型的容器,一种是

2、讲一讲ConcurrentHashMap是如何实现线程安全的



3、线程池用过吗,用到过哪些,讲一讲核心参数
4、如何解决sql慢查询,explain怎么用的
5、mysql数据库引擎知道哪些,讲讲区别
6、sql注入知道吗,怎么避免?
7、还知道什么web安全性问题,项目中有没有防止类似sql注入的攻击
8、分享一下最近学的技术,有什么优点
9、消息队列用的哪种?如果消息接收端没有接受到发送端发送的消息如何处理?
部分数据丢失如何处理?(如何保证可靠传输)。
-------------------------------------------------------------------------------------------------------------------------
1、HashSet底层实现
2、HashMap的put操作过程
3、线程池介绍下
4、数据库连接池介绍下,底层实现说下
5、TCP和HTTP的关系
6、redis数据结构
7、redis的hash数据结构最多能存储多少个元素
8、redis查看当前数据库所有key值(说了keys *,被指效率低)
9、linux查看内存使用命令
10、Innodb引擎中锁的类型有哪些
11、乐观锁与悲观锁的使用场景
12、了解哪些排序算法,讲讲复杂度
13.手撕归并排序 写了一半没写完让说思路
-------------------------------------------------------------------------------------------------------------------------
1.springboot与spring的区别、优点
2.mysql事务隔离级别
3.什么是幻读,如何解决
4.写sql,一张表三个字段,学生id,课程id,成绩,查询每一个学生得分最高的那门课
5.并发了解哪些,说一说线程互斥与线程同步的区别
6.描述下登录模块怎么实现的,需要考虑哪些问题
7.如何解决某一时间段内的大量非法请求,答了验证码与接口限流,问接口限流如何设计
8.分布式session如何实现的
-------------------------------------------------------------------------------------------------------------------------
1、进程和线程以及它们之间的区别(我通过对比多个面经,发现这道是必考题,划重点)
2、进程间的通信方式和对应的同步方式,你用过吗?具体怎么用?
3、TCP和UDP的区别
4、三次握手、四次挥手,为什么?
5、TCP如何保证传输的可靠性?
6、TCP的拥塞控制,具体过程是怎么样的?UDP有拥塞控制吗?如何解决?

算法题:

一个链表,假设第一个节点我们定为下标为1,第二个为2,那么下标为奇数的结点是升序排序,偶数的结点是降序排序,如何让整个链表有序?(分离链表,合并两个有序链表)

假设我们有一个队列,可能存放几千万上亿的数据,我们应该如何设计这个队列?写出来看看?(提问:这个队列是只需要在头尾添加和删除吗?双向队列?答:是的)

一个二维矩阵,从左到右是升序,从上到下是降序,找一个数是否存在于矩阵中(类似于二叉查找树)
-------------------------------------------------------------------------------------------------------------------------
翻转链表
你知道redis有哪几种数据类型吗?你比较熟悉哪几种?为什么?
讲讲redis里面的哈希表吧
一个URL从浏览器输入到响应页面,整个过程是怎么样的,能讲得多详细就讲多详细。
你说HTTP可以进行多路复用,具体是怎么复用?如果服务器挂掉或者客户端挂掉,会怎么样?
HTTP的各种头你了解吗?每种头具体是什么作用?说一下
你说arp会进行广播,会造成网络风暴,那应该怎么解决?
你知道CDN吗?说一下
BIO NIO AIO说一下?epoll了解吗?用过吗?具体调用OS什么方法?webSocket呢?
创建进程调用的是OS哪些方法?具体说说
我们聊聊JAVA吧,你了解JVM吗?给我讲讲
JVM具体会在什么时候进行垃圾回收?JMM具体说说?
垃圾回收算法具体说说?各种垃圾回收器了解吗?什么时候执行STOP THE WORLD?
-------------------------------------------------------------------------------------------------------------------------
我们聊聊JAVA吧,现在我要求设计一个容器,容器满的时候生产者阻塞,
容器空的时候消费者阻塞(我跟他讲了一下BlockingQueue和Condition,然后用Condition来写)

二叉树的最大路径。
-------------------------------------------------------------------------------------------------------------------------

下午三点视频面

    一上来怼jvm和gc

    1.讲讲jvm运行时数据库区

    2.讲讲你知道的垃圾回收算法

    3.jvm内存模型jmm 知道的全扯了一遍

    4.内存泄漏与内存溢出的区别

    5.何时会STW,所有垃圾回收器都会有STW吗

    6.mysql数据库默认存储引擎,有什么优点

    7.优化数据库的方法,从sql到缓存到cpu到操作系统,知道多少说多少
    8.什么情景下做分表,什么情景下做分库

    9.linkedList与arrayList区别 适用场景

    10.array list是如何扩容的

    11.String str = new String(“abc”)的操作有几个对象产生

    12.手撕代码 删除链表中所有重复元素

    13.怼项目 秒杀模块怎么设计的,如何压测,抗压手段,如何保证数据库与redis缓存一致的,消息队列怎么用的

-------------------------------------------------------------------------------------------------------------------------

连续第三天写面经了,高思集团,都忘记什么时候投的简历了,应该是海投网一键投?🌚 到了11月才捞起来做补录笔试,题目挺简单的,编程题两道都A了

1.括号匹配判断 (栈来写)

2.数组元素排序:按出现次数大小排序,次数相同按大小升序排序

(重写个比较器,Arrays.sort(arr,comportor))


上午11点视频一面

没有自我介绍直接开始 基本全怼基础

1.多态讲一下,哪些形式,哪里用了

2.重写和重载的区别

3.可变参数了解吗,说一下

4.讲一讲泛型,有没有在jdk源码层面研究过泛型

5.讲一讲反射,哪里用到过吗

6.讲一讲你理解的线程安全

7.讲一讲保证线程安全的方式有哪些

8.静态变量会有线程安全问题吗?局部变量呢

9.什么是内存泄漏,会导致什么问题

10.怎么防止内存泄漏

11.说一说见到的异常 java是如何处理异常的

12.mysql oracle都用过 讲一讲区别

13.mysql隔离级别 分别会产生什么问题

14.mysql默认存储引擎,与其他引擎的区别

15.数据库优化手段

16.sql优化 索引的建立如何选择字段

17.讲讲集合类,用到的都说一说 区别说一说

18.静态代码块与构造方法谁先初始化,答静态代码块,原因? 答应该是和类加载过程有关,没具体研究,被留作业研究下

19.从数据结构层面上讲讲数组和链表的区别,队列和栈的区别
20.二分查找过程

21.讲讲二叉树的遍历,红黑树

22.自己实现过简易框架,讲讲如何实现的

(50分钟左右)


1点10分hr电话说通过,能不能约一点半二面


一点半二面

自我介绍

1.redis数据结构

2.讲讲zsort,与sort的区别,底层怎么实现排序的

3.redis用来做什么,项目中用到了吗
4.LRU算法说说怎么实现
5.如何解决慢查询 sql如何优化

6.优化数据库的手段

7.讲讲数据库分表分库,什么情况下分表or分库

8.分表垂直切分水平切分怎么选择,具体怎么分

9.讲讲Spring,优点 IOC AOP 实现

10.dubbo了解吗,了解哪些

11.怼项目

12.框架底层看了哪些,聊一聊

(40分钟左右)


全程无手撕代码,感觉还是比较重基础的,了解到高思类似于好未来也是做中小学教育的,公司还在发展,招聘比较低调吧,技术栈还是比较新的

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------