HashMap
和 ConcurrentHashMap
的区别?(不会,当时太菜了)
线程池(当时就说了怎么用,连底层结构都答不上来,太丢人了)
数据库的锁(不会)
数据库的三范式(不会,还瞎扯了一堆)
线程和进程的区别
缓存(简单说了下浏览器缓存的作用)
算法题目1:随机链表复制(秒了)
给定一个链表,节点数据结构如下,除了包含一个next指针,还包含一个rand指针,随机指向链表的某一元素,或者为空指针,实现一个函数,深复制这个链表,要求空间复杂度O(1)
。
算法题目2:滑动窗口算法(卡了蛮久)
给定m个不重复的字符[a,b,c,d]
, 以及一个长度为n的字符串tbcacbdata
, 问能否在这个字符串中找到应该长度为m的连续子串,使得这个子串刚好由上面m
个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1
。比如上面的这个例子,acbd
,返回3。要求优化到O(N)
。
期间问了项目的问题:缓存一致性问题、MySQL乐观锁;问之前实习的一些问题,在实习的时候学到了什么。
Redis 的过期策略、缓存雪崩、惰性删除
MySQL索引、b+
树,为什么不用哈希map来存储?
最左前缀原则 (A,B,C)的联合索引,去查 B = 0 和 C = 0,还会使用索引吗?
不会走索引,因为在数据库中的遵从的是最左前缀的原则。
SQL,求第二大的薪水
select salary from emloyee order by salary desc limit 2;
select max(Salary) as SecondHighestSalary from Employee where Salary<(select max(Salary) from Employee);
1.使用子查询和限定条件
select (
select DISTINCT Salary //去重
from Employee
ORDER BY Salary DESC //降序排列
limit 1 offset 1 //从第一条数据读取(offset 1 ,但不包括第一条),往后读取一条数据(limit 1 ),即第二条;
) as SecondHightestSalary;
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。
怼项目(质疑我的缓存一致性操作,然后我口嗨用消息队列解决并发问题)
手写单例模式-懒汉模式
JAVA的锁、乐观锁悲观锁(视频卡出翔,面试官基本听不到我说啥,然后说我们来先做题吧)
编程题1:最大岛问题(我想了个分治,思路不对,直接爆炸,面试官还是不错的,给我换了道题)
编程题2:股票利润1(还要求写测试用例,要求跑通)
编程题3:股票利润2(可以买卖多次)(这两题都秒了,面试前一晚正好想刷一刷dp的题,就刷了这两题,所以说大家想到什么一定要去学!!!)
TCP的四次挥手
HTTPS
分代回收在整个GC中处于什么位置?
自我介绍、怼项目、Redis缓存
LRU在操作系统怎么实现?
HashMap扩容底层实现
Git 底层实现;如何解决冲突?
设计题:关注系统怎么设计?
可以关注、取关别人
可以查看关注、粉丝列表
可以查看关注、粉丝数
快速判断两个人的关系
如果有大V(粉丝数很多),你的系统有没有问题?或者说如果觉得没问题,为什么没问题?(存储上,使用上)
编程题1:股票利润1
编程题2:股票利润3(可以买卖两次)(查了下,就是股票利润3,hard)
最近有看什么书?接下来什么打算?
先自我介绍一下。
讲一下websocket
?和http
有什么区别?
讲到了建立连接,说说TCP
三次握手。
第三次握手失败会怎样?
为什么需要三次?两次可以吗?
提到了SYN洪泛攻击
,讲一下
了解HTTP/2.0
吗?
了解HTTPS
吗?
讲一下nginx
谈到了跨域,讲一下跨域
谈到了CORS
,我们一般怎么解决?
nginx
在项目中怎样部署负载均衡呢?
32机器,2亿
个整数中找不重复数字?
快速排序的原理、时间复杂度、空间复杂度
一个进程中,多个线程会共享哪些资源?
A. 栈 B. 数据段 C. 寄存器 D.线程ID
多线程中以下哪些操作需要同步操作?(说白了就是哪些操作不具备原子性)
A. x=y B. x++ C.x=x+1 D. x=1
如何轻量级实现进程间通信?(答了信号量,讲了下实现)
中断了解吗?CPU在中断时会干嘛?
动态链接和静态链接的比较(给了几个选项,不太记得了,很简单的)
设计题:设计高效的数据结构来实现下面的两个方法
解释下这两个方法,ADD来加入一个事件,RUN来执行事件,有点像缓存这些事件,到点了把执行完的事件删除。
问输入www.qq.com
然后按下回车,浏览器作为客户端会发生什么?
浏览器的DNS缓存 -> 操作系统的DNS缓存 -> host文件 -> 本地DNS解析服务器,TCP三次握手 -> http传输数据 -> html文件、css文件渲染
第二次输入www.qq.com
,和第一次有什么不同?
DNS缓存、http/1.0下长链接复用、静态文件缓存、携带cookie
四次挥手(从状态到报文控制标志位去讲具体流程)
为什么要四次、2MSL的作用
用过什么抓包软件?(wireshark、fiddle)
脑筋急转弯:1到10层电梯,每层电梯门口有1颗钻石,从1楼坐电梯到10楼,只能拿一次,怎么拿才能拿到最大的钻石?(我放弃治疗,想不出来。)
项目上线了吗?讲项目上线后遇到过什么BUG
问实习经历
TCP和UDP的区别?
UDP不可靠的话,为什么可以用来发送文件?
TCP怎么做流量控制?
发送窗口、接收窗口、拥塞窗口三者的关系
拥塞窗口的变化规律
HTTPS的S是什么意思?
HTTPS的作用是什么?
为什么要用fiddler?
fiddler能看到HTTPS中的内容吗?
什么是时间换空间?有例子吗?
你觉得跟身边的同学比起来你的优点是什么?
有没有解决过复杂的问题?
什么是乐观锁?