能详细地解释下n=3为什么最后输出结果是A到B,A到C,B到C吗到底形参执行的流程是怎样的?

  1. django请求的生命周期?
  1. 简述什么是FBV和CBV?
  1. 如何给CBV的程序添加装饰器?
  1. 列举django的内置组件?
  1. 列举django中间件的5个方法?
  1. Django重定向是如何实现的?用的什么状态码?
  1. 如何使用django orm批量创建数据?
  1. django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新。
  1. 接口的幂等性是什么意思?
  1. rest_framework序列化组件的作用,以及一些外键关系的钩子方法
  1. 给用户提供一个接口之前需要提前做什么
  1. 什么是跨域以及解决方法:
  1. 如何实现用户的登陆认证
  1. 如何将dict转换成url的格式:
  • 提到新能源汽车,很多人首先想到的就是特斯拉。在Model 3国产后,月销量破万的数据似乎更是加强了特斯拉的“神话”。当特斯拉还在主打Model 3的时候,国产电动汽车元老——比亚迪再推出汉EV。并且以27万+的超低价格为消...

  • 苹果在官网公告中加入了一项针对 iPhone 11 的全球维修服务计划。苹果表示部分在 2019 年 11 月至 2020 年 5 月之间制造的设备会出现停止响应触摸的问题,如果用户设备符合条件则苹果可为其免费维修(更换屏幕)

  • 133-134这两集简直国漫巅峰了,真的太精彩了

  • 我看了好几个测评,直线8/90满配那种 好家伙,各种双爆攻击的,石化打控制的 就只看到一个是堆了4w4血的 我寻思钟离怎么看都是个纯堆血套盾辅助啊?要攻击干嘛? 我现在钟离只有1级,但可以看到血量是所有1级角色里...

正在加载,请稍候...

扫二维码下载贴吧客户端

此面经合集主要来源于网络(牛客网、博客网站等),个人按公司进行分类整理。

2.知道哪些数据结构以及他们的特点
3.链表增删快,那如何提高其查询效率,有没有什么想法?
4.B+树了解吗?B+树如何范围查询?B+树退化的极端情况是什么?
6.大顶堆、小顶堆了解吗?
7.实现长地址请求到服务端,然后服务端重定向短地址给客户端,如何实现长短地址的互相映射?
8.那我现在有10份数据,有1000个线程来争抢,你要怎么处理?
9.分布式是什么?为什么要分布式?分布式又会有哪些问题?分布式系统是如何实现事物的?
10.Redis集群了解吗?如何处理宕机的情况?Redis的同步策略?
11.LRU算法了解吗?你会如何实现它?这个算法可以应用在哪些场景下?
12.TCP为什么是三次握手?两次行不行?多次行不行?
13.TCP的安全性是如何实现的?两台服务器之间可以同时建立多条TCP链接吗?怎么实现的?
14.客服端输入一个网址后,是如何拿到客服想要的数据的,是怎样在网络中传输的?
16.java有哪些锁?共享锁是什么?CAS?乐观锁和悲观锁?synchronied的底层原理?锁升级?死锁怎么形成的?如何破解死锁?

3、HashMap扩容为什么是扩为两倍?
4、Java线程同步机制(信号量,闭锁,栅栏)
5、对volatile的理解:常用于状态标记
6、八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)
7、线程阻塞几种情况?如何自己实现阻塞队列?
可达性分析->引用级别->二次标记(finalize方法)->垃圾收集 算法(4个)->回收策略(3个)->垃圾收集器(GMS、G1)。
11、进程和线程的区别
13、ThreadLocal(线程本地变量),如何实现一个本地缓存
14、JVM内存区哪里会出现溢出?
15、双亲委派模型的理解,怎样将两个全路径相同的类加载到内存中?
16、CMS收集器和G1收集器
17、TCP流量控制和拥塞控制
18、服务器处理一个http请求的过程
19、例举几个Mysql优化手段
20、数据库死锁定义,怎样避免死锁
22、面向对象的设计原则
24、操作系统的内存管理的页面淘汰 算法 ,介绍下LRU(最近最少使用算法 )
25、B+树的特点与优势

自我介绍,说简历里没有的东西
说几个你最近在看的技术(MySQL,多线程)
口述了一个统计数据的场景题
如果这个统计数据场景不用MySQL,而是用Java来实现,怎么做
如果数据量过大,内存放不下呢
用面向对象的思想解决上面提出的问题,创建出父类,子类,方法,说一下思路
下一个场景,口述了一个登录场景,同学用线程池做登录校验,会有什么问题
你给出的方案弊端在哪里,还有哪些方案

16g机器,让你分配jvm内存怎么分配。

详细说明raft协议。

服务注册的时候发现没有注册成功会是什么原因。

1.synchronized原理,怎么保证可重入性,可见性,抛异常怎么办,和lock锁的区别,2个线程同时访问synchronized的静态方法,2个线程同时访问一个synchronized静态方法和非静态方法,分别怎么进行

2.volatile作用,原理,怎么保证可见性的,内存屏障

3.你了解那些锁,乐观锁和悲观锁,为什么读要加锁,乐观锁为什么适合读场景,写场景不行么,会有什么问题,cas原理

4.什么情况下产生死锁,怎么排查,怎么解决

5.一致性hash原理,解决什么问题,数据倾斜,为什么是2的32次方,20次方可以么

6.redis缓存穿透,布隆过滤器,怎么使用,有什么问题,怎么解决这个问题

7.redis分布式锁,过期时间怎么定的,如果一个业务执行时间比较长,锁过期了怎么办,怎么保证释放锁的一个原子性,你们redis是集群的么,讲讲redlock算法

8.mysql事务,acid,实现原理,脏读,脏写,隔离级别,实现原理,mvcc,幻读,间隙锁原理,什么情况下会使用间隙锁,锁失效怎么办,其他锁了解么,行锁,表锁

9.mysql索引左前缀原理,怎么优化,哪些字段适合建索引,索引有什么优缺点

10.线上遇到过慢查询么,怎么定位,优化的,explain,using filesort表示什么意思,产生原因,怎么解决

11.怎么理解幂等性,有遇到过实际场景么,怎么解决的,为什么用redis,redis过期了或者数据没了怎么办

1.hashmap原理,put和get,为什么是8转红黑树,红黑树节点添加过程,什么时候扩容,为什么是0.75,扩容步骤,为什么分高低位,1.7到1.8有什么优化,hash算法做了哪些优化,头插法有什么问题,为什么线程不安全

2.arraylist原理,为什么数组加transient,add和get时间复杂度,扩容原理,和linkedlist区别,原理,分别在什么场景下使用,为什么

3.了解哪些并发工具类

4.reentrantlock的实现原理,加锁和释放锁的一个过程,aqs,公平和非公平,可重入,可中断怎么实现的

6.threadlocal用过么,什么场景下使用的,原理,hash冲突怎么办,扩容实现,会有线程安全问题么,内存泄漏产生原因,怎么解决

7.垃圾收集算法,各有什么优缺点,gc roots有哪些,什么情况下会发生full gc

8.了解哪些设计模式,工厂,策略,装饰者,桥接模式讲讲,单例模式会有什么问题

9.对spring aop的理解,解决什么问题,实现原理,jdk动态代理,cglib区别,优缺点,怎么实现方法的调用的

11.mysql聚簇索引,覆盖索引,底层结构,主键索引,没有主键怎么办,会自己生成主键为什么还要自定义主键,自动生成的主键有什么问题

12.redis线程模型,单线程有什么优缺点,为什么单线程能保证高性能,什么情况下会出现阻塞,怎么解决

13.kafka是怎么保证高可用性的,讲讲它的设计架构,为什么读写都在主分区,这样有什么优缺点

1.线程有哪些状态,等待状态怎么产生,死锁状态的变化过程,中止状态,interrupt()方法

2.你怎么理解线程安全,哪些场景会产生线程安全问题,有什么解决办法

3.mysql多事务执行会产生哪些问题,怎么解决这些问题

4.分库分表做过么,怎么做到不停机扩容,双写数据丢失怎么办,跨库事务怎么解决

5.你们用的redis集群么,扩容的过程,各个节点间怎么通信的

6.对象一定分配在堆上么,JIT,分层编译,逃逸分析

7.es的写入,查询过程,底层实现,为什么这么设计

8.es集群,脑裂问题,怎么产生的,如何解决

11.设计一个秒杀系统能承受千万级并发,如果redis也扛不住了怎么办

1.讲讲你最熟悉的技术,jvm,mysql,redis,具体哪方面

2.new Object[100]对象大小,它的一个对象引用大小,对象头结构

3.mysql主从复制,主从延时怎么解决

4.怎么保证redis和mysql的一致性,redis网络原因执行超时了会执行成功么,那不成功怎么保证数据一致性

5.redis持久化过程,aof持久化会出现阻塞么,一般什么情况下使用rdb/aof

6.线上有遇到大流量的情况么,产生了什么问题,为什么数据库2000qps就撑不住了,有想过原因么,你们当时怎么处理的

7.限流怎么做,如果让你设计一个限流系统,怎么实现

9.给了几个场景解决分布式事务问题

1.怎么理解用户态,内核态,为什么要分级别,有几种转换的方式,怎么转换的,转换失败怎么办

2.怎么理解异常,它的作用是什么,你们工作中是怎么使用的

3.你们用redis么,用来做什么,什么场景使用的,遇到过什么问题,怎么解决的

4.jvm元空间内存结构,永久代有什么问题

5.你平时开发中怎么解决问题,假如现在线上有一个告警,你的解决思路,过程

6.你们为什么要用mq,遇到过什么问题么,怎么就解决的

你为啥用redis做缓存
你自己测的他的并发量有多少-5000
10万请求进来会面临什么问题?
数据量多的话,销峰-令牌桶
令牌桶在哪实现-nginx
二叉排序树和平衡二叉树的区别
100万数据里找重复数据 -set
这相当于两次hash,有啥优点
网络出现拥塞怎么办-拥塞机制
门限值指的是什么-包的个数还是包的数据量

了解Nginx,那设计一个具体的负载均衡策略方案
了解MySQL主从复制,那自己设计一个主从复制方案

2、redis持久化策略?

(1)RDB:快照形式是直接把内存中的数据保存到一个dump的文件中,定时保存,保存策略。当Redis 需要做持久化时,Redis会fork一个子进程,子进程将数据写到磁盘上一个临时RDB文件中。当子进程完成写临时文件后,将原来的RDB替换掉。

(2)AOF:把所有的对Redis的服务器进行修改的命令都存到一个文件里,命令的集合。使用AOF做持久化,每一个写命令都通过write函数追加到appendonly.aof 中。aof的默认策略是每秒钟fsync一次,在这种配置下,就算发生故障停机,也最多丢失一秒钟的数据。缺点是对于相同的数据集来说,AOF的文件体积通常要大于RDB文件的体积。根据所使用的fsync策略,AOF的速度可能会慢于RDB。Redis默认是快照RDB的持久化方式。

5、zookeeper主节点故障,如何重新选举?

7、线程池的核心参数;

8、threadlocal的实现,原理,业务用来做什么?

12、标记清除算法的过程,标记清楚算法如何给对象分配内存空间?

13、cms算法的缺点;

4、Java数据类型,同步机制;

6、如果线上用户出现502错误你怎么排查?

7、并发量很大,服务器宕机。你会怎么做?

1、syn和lock的区别,哪个更好?怎么选择?

2、hashmap源码,为什么8个节点变成红黑树又为什么到了6个节点才恢复为链表?

3、缓存穿透,怎么解决?

4、负载均衡算法,实现;

5、轮询和随机的缺点;

7、dns迭代和递归的区别;

8、算法题:最长回文串

9、为什么连接的时候是三次握手,关闭的时候却是四次握手?

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK 报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN 报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN 报文,因此不能一起发送。故需要四步握手。

1.自我介绍 就背景进行一些提问

2.简单说说计算机网络

3.简单描述一下从浏览器输入一个地址到服务端整个交互过程

7.查看一个进程监听了哪些端口

8.详细介绍项目(简历上的域名访问不了)

9.讲解之前工作经历中做的东西

10.做一道算法题(判断二叉树是否对称)

11.java 如何从源代码转换成机器码执行的

18.了解现在市面上主流的 cpu 架构

20.市面上的图数据库

22.图数据库底层存储

23.b 树,b+树的概念和区别

24.红黑树平衡二叉树优缺点和应用场景

  • 2.2 调用一个函数在堆中的过程
  • 2.3 密码学 中间人攻击、RSA、DSA密码的差别、加密过程,私钥加密公钥加密,数字签名的过程(跟本人网络空间安全背景有关)
  • 1.一个无序数组,求其topK

    2.时段统计。动态规划。

一年经验,Java开发

  1. 手撕算法:NC95 最长连续子序列
  2. 手撕算法:NC91 最长递增子序列
  3. 线程和进程的区别?怎么创建线程?有哪些状态?有什么区别?
  4. OSI七层协议和TCP/IP五层协议有什么区别?TCP/UDP在哪一层?对TCP了解多少?
  1. 求从一个树的左边的叶子节点到一个树右边的叶子节点的最短路径)
  2. 给定一个数N,求(1-n)所有的可能子序列。比如给个1 返回1 给个2 返回1,2,1 2

为什么进程切换开销比线程切换开销大?

你知道逻辑地址和物理地址么?

三次握手四次挥手相关(细节,以及为什么三次,为什么四次)

红黑树和二叉搜索树,二叉树之间的区别

为什么hashmap不直接用红黑树

1.IM系统用户登录怎么实现的?

2.登录状态是怎么保存的?session是怎么获取的?sessionid是怎么识别的?整个流程是什么样的?有没有考虑分布式session?

4.Redis数据类型的底层数据结构

5.三次握手、四次挥手

8.哪些SQL的关键字会让索引失效

9.队列、栈、数组、链表

2.爬虫抓到的数据不清洗吗?不去重吗?

3.对爬虫有什么更多的了解吗?

6.线程私有的数据有哪些?(不是Java线程)

7.讲一下堆排序,每次调整的时间复杂度?堆排序是稳定的吗?

8.哈希表的原理,怎么减小哈希表的冲突,怎么保证哈希表的并行读写

9.Kafka用过吗?说说Kafka的原理?怎么保证Kafka的高可用?Kafka怎么保证消息有序?

10.项目里的set实现点赞,zset实现关注,为什么?

11.zset底层实现?说一下跳表?节点的高度是多少?怎么决定节点的高度?

13.中间人攻击知道吗?怎么做https的抓包?https怎么篡改?

14.虚拟地址到物理地址的映射过程

15.算法题:给一个数组,建一颗最小高度的二叉树(递归和非递归)

1.介绍一下做过的项目,哪些挑战性比较大,比较有难度的

2.IM项目怎么用Netty的,为什么要用Netty,长连接交互是怎样的

3.消息怎么存储,怎么发送,怎么知道消息已读和未读的

4.读了5条消息、又来5条消息,你是怎么去更新的,你的消息是幂等的吗?

5.项目里怎么用ES的,ES怎么支持搜索的

6.技术论坛网站的评论是怎么存储的

7.查询评论是在DB里扫表查询吗?怎么展示所有的评论?性能如何?想要查询更快可以做哪些优化?

8.结合缓存和DB的时候会出现哪些问题?要怎么解决?

9.快排了解吗?介绍一下快排?时间复杂度是多少?为什么会退化成O(n^2)?单链表可以做快排吗?快排最核心的逻辑是什么?写一下单链表快排

4、什么是指令重排序,举个例子
13、算法: 股票问题

  1. 项目为啥立项,你做了什么模块
  2. 你的日志模块是怎么设计的,怎么开发的
  3. 你的token怎么做的,怎么保证唯一
  4. 你开发的业务模块怎么设计数据表的,具体用了哪些中间件
  5. B+树索引具体是怎么实现的
  6. 为什么B+树的中间节点不储存数据?
  7. 给一个索引,在有的查询过程中他没有走索引查询,说说你能想到的原因
  8. 聊一下你对git的理解
  9. 聊一下你对工作流的理解

给四个整数,判断是否只通过四则运算加()优先级能否运算出24

5、排序(介绍下你知道的排序和复杂度)
6、Arrays.sort底层的排序算法(有三种策略)
8、linux,操作系统的开机流程
10、进程切换会发生什么
11、进程调度算法有哪些
13、java锁,关键字区别
14、公平锁、非公平锁解释一下

1.算法题:由前序遍历中序遍历重建子树;
2.为什么静态类中不能使用非静态类(从类加载过程回答);
3.1.加载阶段中,为什么要有自定义的类加载器;
3.2.双亲委派原则的机制;
4.1.为什么小于6是链表,大于8变成红黑树;
4.6.CAS能保证线程安全吗(我回答能,面试官说不能。。估计想考ABA问题),volatile关键字能保证线程安全吗;
5.随机数求根,比如根号二的值。(二分查询)
6.有n个筐,筐固定,每个筐内有不同数目的苹果,移动苹果,使每个筐苹果平均(移动的代价:1~2算1步,1~3算2步)使步数最小;

2、解决什么问题,做了些什么?(项目)
3、多个接口,有失败怎么办(项目)
4、redis分布式锁怎么实现
6、ArrayList怎么扩容,时间复杂度O(n)?插尾部O(1),平均是多少,答案O(2)需要考虑扩容。
8、mysql索引什么原理、B+树
9、mysql和redis区别(讲一下各自优缺点)
10、为什么不用redis存数据?
11、算法:LRU缓存(),先讲一下再写

4.讲一下你自定义协议怎么解决粘包问题的?
5.算法题:LeetCode 二叉树根节点到子节点的路径和
7.为什么用B+树呢?
9.聚簇索引、非聚簇索引
10.聚簇索引比非聚簇索引的优点
11.mysql的四个隔离级别,应用场景
12.如何在可重复读隔离级别解决幻读问题
15.Spring哪里用到了动态代理?
17.MQ如何保证消息不会丢失

微服务之间怎么做负载均衡
Oauth2基本流程、原理
购物车为什么用Redis存,是永久存储吗
Redis怎样清除过期key,有哪些策略
Redis字典底层怎么实现的
普通的哈希表怎样实现的
MQ解耦和微服务解耦的区别
https建立连接的过程(SSL/TLS协商的过程)
对称加密和非对称加密的优缺点
为什么要区分内核态和用户态
什么时候从用户态切换到内核态
你编程的情况下,系统调用什么时候会发生

MySQL可以不指定主键建表吗,背后的逻辑是什么
聚簇索引和其他索引有什么区别
建唯一索引,插入数据时是怎么处理的
重复插入会报错,是怎么处理的
不同事物隔离级别的实现

做项目的过程中遇到过什么问题
什么情况下会出现多线程访问
缓存与数据库数据一致性
集群环境下,Redis内存里的数据怎么保证一致
算法:给定一个字符数组,和一个字符串,在字符串里找到任意一个完全由字符数组组成的子串,字符顺序无所谓(滑动窗口)

项目介绍;(问的比较深,包括权限校验、SQL优化、索引相关)
手写SQL:获取一个商铺最近一周每一天的销售总量。
如何判断是否命中索引?如何优化索引?
线程有哪些状态?阻塞状态又分为哪些,有什么区别?
手撕算法:NC90 包含min函数的栈
手撕算法:寻找二叉树每层结点的最大值
简述上述两个算法的思路和时间空间复杂度。
优化上述两个算法,要求分别在O(1)和O(N)时间复杂度内解决上述问题。

volatile,如何感知到变量变化的
http如何操作浏览器缓存。
怎么自己扩展validator(参数校验那个)
什么是上下文切换,URL解析过程
http有那些方法,get那些
和别人协作出现冲突怎么办

你刚刚说的多路复用针对的是各个请求(比如set,get),那返回值Redis是怎么处理的(愣住)
MySQL B+树一般几层,怎么算的
脏读、不可重复读、幻读(结合具体场景来讲)
MySQL隔离级别分别怎么实现的

项目是自己练手的项目吗,怎么找的
项目是从0开始搭建的,还是有用开源的脚手架
秒杀大概用到哪些东西,怎么实现的
MQ幂等性和消息积压问题
缓存与数据库数据一致性
Java里怎么保证多个线程的互斥性
创建的Bean是单例还是多例的
使用Spring和直接使用Java语言面向对象开发,有哪些好处
框架里打破双亲委派机制的SPI大概怎么实现的
垃圾回收主要回收哪些区域
TCP为什么要握三次手,为什么要挥四次手,大概什么流程
实现环形队列(数组,增加和删除功能)

经常听音乐吗,什么时候开始喜欢听音乐的
你说两个具体的歌名我听听
平时是怎样的一个人,有什么特点
有做过什么有成就感的事吗
后面选择百度的概率有多少
想过自己5年后、10年后是怎样的吗

1.面试官介绍自己,然后自我介绍
2.java中的线程池有哪些?为什么使用线程池?你在哪里使用过或是见过?
3.Mysql底层是怎么实现的?从内存布局,磁盘布局说起?
4.Mysql有哪些索引?B树和B+树的区别,分别解决了什么问题?
6.为什么要使用SpringBoot做开发?与传统的开发有什么不一样的?
7.什么是微服务?微服务是如何实现服务的注册与发现的?
8.java中的集合分类有哪些?知道Queue吗?她下面有哪些实现类?重点说说HashMap?
9.在集合中哪些集合类是线程安全的?
10.什么是数字签名,作用是什么?使用的是什么算法?
11.常见的网络攻击有哪些?
12.在表单提交的时候,容易发起什么样的攻击?
13.在进行服务调用的时候如何进行身份验证,如何防止网络攻击?
14.你见过哪些安全框架?具体怎么使用的?(shiro)
15.两道算法题:1)普通的二分查找,问了其中的一些细节,二分查找存在的问题? 2)判断S1中是不是有S2的排列,找到返回true,否则返回false
18.说说自己做过的java项目?使用了哪些框架?
19.说说自己教研室的项目,你在其中扮演的角色,解决了什么问题?

线程池实际应用及如何设计参数

算法:两个栈实现队列、链表找环的入口

4、Nacos原理,如何保证nacos和服务实例发生网络分区服务丢失问题

4.mq在项目中的用法
5.遇到的多线程问题,如何解决

说一下项目难点以及如何解决

线程的几种状态,以及状态的转换
阻塞状态和等待状态的区别
synchronized可重入吗,为什么需要可重入
怎么判断JVM里是否出现死锁

为什么数据库索引用B+树,而不用list、map、二叉树或红黑树

二进制有原码,为什么还要有反码和补码

一个数组,可以不断地添加元素,而不出现数组下标越界异常。怎么实现?
有A、B两个大文件,每个文件几十G,而内存只有4G,其中A文件存放学号+姓名,而B文件存放学号+分数,要求生成文件C,存放姓名和分数。怎么实现?

2、四次挥手,每一次挥手之后客户端和服务器的状态,为什么TIME_WAIT是2倍最大报文存活时间
4、同步和异步的区别,异步底层的实现原理
5、Bean的生命周期
7、Bean实例的创建有哪几种方式
8、AOP的理解,代理方式,代理底层怎么实现的
10、线程池,拒绝策略,任务执行流程,worker线程管理
11、synchronized和Lock的区别,sync在jvm里怎么实现的,公平和非公平的区别,抢占是怎么体现的,是队列里的线程去抢占锁吗,AQS解释一下
12、数据库的事务并发有哪几种,隔离级别有哪几种,还有哪种方式可以解决幻读

1、项目中遇到什么困难
2、粘包半包问题怎么解决
3、你的自定义协议怎么解决的
5、编解码在reactor的哪一步
6、超时重传和快速重传
7、给定一个数组,找出现频率最高的前m个数,讲下思路

高内聚,低耦合啥意思,如何去设计
设计一个电梯场景,实现面向对象,高内聚,低耦合的情况
统计学校内共享单车数量,你有啥想法(开放题)

消息队列如何保证可靠性
消息队列如何保证消息幂等性
聚集索引和主键区别,其他引擎怎么做的
http报文参数有哪些吗?
做题,链表奇偶有序输出

  1. 介绍下快排/堆排/归并排序。
  2. 数据库中的索引应该如何设计?
  3. 有哪些索引失效的情况?
  4. 你们用到的HTTP接口用到了什么提交方式?
  5. 面向对象的基本原则?再详细说下依赖倒转。
  6. 介绍下策略模式和观察者模式?
  7. 如何保证用户请求的等幂性?等幂性指的是用户可能连点提交三次支付请求,返回同样的结果(支付成功),但实际后台只执行一次,保持一致性。
  8. 介绍下TCP四次挥手?
  9. 第四次挥手后客户端是立刻就关闭了吗?是什么状态?
  10. 两个大文件,分别每行都存一个url,查找两个文件中重复的url。
  11. 一个大文件中,每一行有一个整数,怎么找第100大的数?
  12. 一个大文件中,每一行有一个整数,怎么找中位数?
  13. redis的基本数据结构?
  14. zset是怎么实现的?有哪些命令?
  15. 算法题 力扣221. 最大正方形

自我介绍、项目介绍,问了数据量

了解微服务吗?(有没有自己在做项目时进行调研,了解企业目前常用的工具、方法)

一台机器无法满足运载需求,怎么办呢?答:多搞几台机器,问:多台机器如何协同工作?

如果有一个很大的文件,TB级别,文件里是乱序的数字,如何排序?mapreduce如何实现?

排序过程中的归并排序,请描述一下其过程?时间复杂度

进程、线程区别,问使用Java时,里面多线程的概念和os里的线程进程的区别是什么?真正使用时,Java里的线程和进程是如何调度?

多线程的同步互斥的方法?答了信号量,问具体怎么实现,答pv操作,给了具体的场景,问变量如何初始化(等同于口述代码)

有哪些索引?(mysql为例)

b树、b+树是什么样的树结构,查询复杂度?是平衡二叉树吗?

使用过redis吗?具体做什么?

手撕代码:LRU算法;正反序层序遍历二叉树

Java基础:容器、反射、范型
Q3:说一说Java有哪些容器;

Q4:List和Set的区别?不可重复是什么意思?

Q5:HashMap是线程安全的吗?如果想用线程安全的HashMap怎么做?

Q6:如果让你设计一个线程安全的HashMap怎么做?

Q7:Java反射了解吗?什么场景下使用反射?

Q8:知道什么是范型吗?编码:写一个范型类

Q9:说一说Java的垃圾回收(从确认垃圾算法和回收垃圾算法说)

Q10:你刚刚说的都是垃圾回收相关算法,那具体回收的垃圾回收器知道吗?

Q10:编码:写一个单例模式

Q11:单例模式有很多,你这个属于哪一方法实现?还有哪些方法?

Q12:Spring里面的bean也有单例,那这个单例和Spring里面的bean单例是一个吗?

Q13:有哪些排序算法?他们的性能怎样?

Q14:编码:写一个快排(没写出来,耽误了10多分钟??)

Q15:知道二叉树吗?二叉树的特性有哪些?(这个没get到咋回答,应该是满足一定条件的二叉树子节点和父节点的关系,节点数量和深度之类的关系吧)

Q15:给了一个二叉树,写出前序,中序,后序遍历方式

知道哪些优化网络的方法?(延申到MySQL主从同步、TCP传输机制、Redis缓存等);
知道哪些确保线程安全的方法?(延申到AQS、ThreadLocal、Synchronized、锁升级等);
知道SSM和SpringBoot的区别吗?如何搭建项目?如何迁移两者项目?
知道Spring中的IOC和AOP吗?底层是如何实现的?在项目中哪些地方体现?
JVM内存结构和Java反射机制体现在Spring中哪些方面?
手撕代码:(归并+二分)在保证一个数组安全的情况下使其有序,并且找到目标值又或者最接近目标值的数。
基础乐理了解多少?制作一首音乐的流程有哪些?如何利用大数据预测下一首爆火歌曲(乐理+代码层面)?

项目相关(项目的架构、项目中的重难点)
算法题糊脸:最长回文子串
了解MySQL的数据结构吗,B+树
脏读、幻读、不可重复读
MySQL事务隔离级别怎么实现的(锁机制+MVCC),怎么解决的幻读(间隙锁、next key)
Redis中zset的数据结构(数据结构由编码决定,zset有两种编码,对应的数据结构分别是压缩列表 | 跳表+字典)
如何解决哈希冲突(拉链法、开放定址法、再哈希法)
三次握手、四次挥手(越详细越好,说了详细的过程、状态变换、第一次握手占不占序列号、不携带数据的ack占不占序列号等等)

项目相关(模块划分,项目需求,技术方案,数据库设计,表的结构及关系,担任角色)
http协议的关键字段,比如request和response头部信息有哪些关键字段,有什么含义
三次握手、四次挥手(详细过程+状态变化)
出现大量的close_wait可能是什么原因,解决方案,通过什么工具看出来网络有问题等等
Java中常见的集合有哪些,List、Set、Map初始容量加载因子了解吗
Java中线程通信的方式有哪些,大概的原理
MySQL如果遇到性能不好的问题,比如说慢查询,怎么做
数据库优化方案(索引 | 分库分表)
有哪些索引,数据结构,建立索引的原则
分库分表的原则,说说场景(水平 | 垂直、热数据 | 冷数据 blabla)

从白板实现一个双向链表,并且写出增删改查
从白板实现一个二叉树,并且补充遍历方法

主要从你觉得的难点,以及考察一些对项目的理解程度
题目:给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串

聊研究生的事情,学了什么课,自己觉得优势在哪,以后想在哪发展

1、集合八股文(list接口下的、map接口下的)
4、线程池任务提交流程、线程池的任务执行流程。
5、mysql的事务隔离级别,以及解决的问题
6、mvcc的实现原理

整理不易,如果觉得对你有帮忙,可以点个赞鼓励一下!

我是程序员大彬 ,专注Java后端硬核知识分享,欢迎大家关注~

我要回帖

更多关于 什么是三观怎么解释 的文章

 

随机推荐