欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java面试——2021校招提前批牛客面试经验的总结问题

程序员文章站 2022-07-07 20:11:04
1Mybatis的#和$的区别?2mybatis的executor的相关问题3Mybatis的中的xml的配置4java编码方式 ?java的GBK和UTF-8的有什么不同呢?数据库里面的编码到java中到的应用到整个流程是如何实现编码和解码的?5页面提交数据库的整个过程6分页的逻辑是什么?7配置的注解的原理8 自动装配的过程9接口的方法的拆分和设计10 手撕代码:最长的路径(一定手写代码,不能用IDEA)......

1Mybatis的#和$的区别?

2mybatis的executor的相关问题

3Mybatis的中的xml的配置

4java编码方式 ?java的GBK和UTF-8的有什么不同呢?数据库里面的编码到java中到的应用到整个流程是如何实现编码和解码的?

5页面提交数据库的整个过程

6分页的逻辑是什么?

7配置的注解的原理

8 自动装配的过程

9接口的方法的拆分和设计

10 手撕代码:最长的路径(一定手写代码,不能用IDEA)

11 说说Java的utils包下面的类

12 arraylist ,linkedlist

13 map用过吗,hashmap说一下

14 hashmap扩容为什么要2的整数次幂

15 链表长度到8变成红黑树,为什么是8

16 comcurrenthashmap说一下

17为什么1.8改用cas+synchronized

 18 刚刚说到红黑树,红黑树说一说

19 分析红黑树的算法复杂度(没答上来,忘了,小哥哥建议我之后去了解)

20 谈谈其他树,分别的应用(说了b+树,查找树,平衡树)

21 b+树为什么适合做innodb底层数据结构

22 手撕:二叉树层序遍历

23 说说其他数据结构(栈,队列,图)

24 dubbo架构及原理说一下

25 Redis哪些数据结构,底层分别怎么实现

26 项目中的难点分别解释一下

27 对java虚拟机的了解

28 说说Java内存模型

29 说说juc包,原子类的底层实现

30 聊聊aqs,说说aqs的原理

31 reentrantlock非公平锁,线程如何抢占的具体(有点忘了)

32 手撕:一个单链表,求最大的前k个数

33手撕:最大子数组。一个数组[1,3,4,8,9],另一个数组[2,3,4,8,10],他们最长子数组是[3,4,8]。

34 问有没有开源项目或者博客,给看了博客,给了建议,不要做了业务代码就抛弃刷算法题

35http 协议 转 dubbo 协议怎么做的?

36 dubbo 的架构设计说一下;

37mq 通知时,消费者没消费到怎么办

38redis 是单线程了吗?有什么好处

39一般设置过期时间吗,业务场景有哪些,过期策略有哪些40redis 持久化了解不,你们线上怎么用的

40你们线上为什么这么用?只用AOF行不行

41抽象类和接口你倾向用哪个?什么场景下用抽象类

42如何更好的实现一个单例

43synchronized 和 lock 区别

44公平锁和非公平锁

45、怎么实现自定注解

46、类加载机制

47、如何实现自己的classloader

48、如何动态加载类

49、如何触发full gc

50、用jvm命令如何触发

51、了解过netty吗

52、微服务了解过吗,Service Mesh呢

53、五亿数据,找出数量top100

54、10G数据,在内存小于10G如何分片

55、分片处理完如何汇总

56、分布在多个节点上如何汇总

57、哈希取模如何哈希?哈希冲突怎么办?能完全解决哈希冲突吗

58、数据库乐观锁和悲观锁

59、秒杀系统如何设计?

60、redis分布式锁如何玩?超时时间如何设置

61、zk的监听原理,你来实现你怎么做

62、主动推送怎么实现

63、消息如何保证一定被消费,如何没有消费到怎么办

64、Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢

65、Redis 集群,生产环境Redis 如何做数据迁移

66、一致性hash算法

67、数据库是怎么保证一定不会丢失数据的

68、浏览器敲入一个域名,尽可能详情的说下接下来网络协议层面发生了什么

69、了解过哪些锁,volatile 说下

70页面置换算法 (FIFO LRU LFU等)

71http cache了解吗(不了解)

72java annotation用过吗(不太熟悉,只使用过框架提供的)

73hashmap线程安全吗(不安全,put方法不安全以及1.7的resize)

74GC机制(三种算法,分代收集等)

75MySQL索引(B+树,相对B树的优点)

76SQL查询缓慢怎么处理(用explain查看是否走索引,建立索引)

77业务中使用了多句SQL,怎么处理(应该是问怎么定位到改SQL语句,不太懂,只能答一句一句测试)、

78MySQL走索引怎么查到数据(innodb引擎以页的形式将数据储存到磁盘,查询时将页读入内存,在叶子节点中查取数据,叶

79点内部通过二分法查找,找不到转到该页指向的下一个页继续查询)

80编程题
1 2 5 分硬币不限,凑成1元有多少种方法
完全背包问题

81进程的内核态和用户态(用户程序是不安全的,对操作系统敏感的操作需要用内核态执行保证安全)

82为什么需要三次握手(保证全双工链接的建立以及确定seq)(答得不完全)

83滑动窗口(服务端响应客户端缓存窗口的大小,客户端来作拥塞控制和重传)

84进程调度算法(RR算法,Linux采用的实时进程的FIFO和RR,普通进程的CFS)、

85设计模式(单例,工厂,代理,适配器)

86LFU的设计,读取删除达到O(1)怎么设计 (HashMap再加多个链表,每个链表维护某个频数的数据,leetcode原题)、

86智力题 两颗筛子,可以写0-9 10个数字,用来表示一个月的每一日(01-31),怎么分配数字在面试官的提示下完成了。 0,1,2必须在每个筛子上都有,然后可以6倒过来变成9,这样一个筛子为0,1,2,3,4,5  另一个为 0,1,2,6,7,8

87编程
寻找二叉树相距最远的两个节点的距离
每个节点的左右子树高度和的最大值 中途有些bug,在提示下修正

88JavaGC机制(答过了)

89 设计模式(答过了)

90 写一个单例模式(双重检查加syn和valotile)

91c++多态怎么实现的(不太懂c++,讲了Java的,根据周志明的书讲的)

92编程题判断树是否是完全二叉树

93编程题:求二叉树的深度

94、 编程题:求一个数组中的众数    如果输入的数组为空,你会输出什么

95、 输入网址后,会经历哪几个步骤

96、 其中DNS解析具体是解析什么

97、 如果每个DNS对应一个ip,那么这个是怎么存储的,存在哪里

98、 Java中引用分为几种,分别解释一下

99、 HashMap底层原理,当HashCode发生碰撞之后,怎么解决这个问题

100、 HashMap的负载因子可以改变吗,可以改为1吗?

101、HashMap的构造函数有多少种

102、HashMap线程安全的吗?多线程使用会发生哪些问题,具体解释一下怎么发生问题,有哪些安全的Map

103、线程和进程的区别

104、进程中必须有线程吗

105、为什么说TCp协议是安全的

106、怎么确认客户端和服务器端进行传输数据时,数据有没有丢失,如果发现数据块丢失会怎么办,会发送什么请求,跟三次握手四次挥手有关系吗

107、其他的流量控制有了解吗

108 .假如面试的牛客网崩溃了,可能的原因有哪些呢?

109.网页视频传输是用的什么协议??

110.说一下http和https协议的区别?当服务器向客户端发送文件的时候是怎么加密的?

111数据库:假如建立一个学生成绩表,你会怎么建立?

112.常见的排序算法有哪些?

113.什么是树?什么是图?什么情况下的图是一颗树。图的出度与入度

114.java多线程

115.java的信号量与线程的区别

116.当我们执行一个APP时,发生了什么??

117.你会怎么学习客户端开发?

118 手撕代码:求pi

119 编程,leetcode03

网络

120.http和https的区别

121.https建立连接的过程

122https抓包工具是如何实现的

语言

123java的equals()和==的区别

124.java常用的容器有哪些

125.java的多态和继承是如何实现的

126.java的内存管理机制

127.java多线程中的锁你用过哪些

操作系统

128.进程间通信哪几种方式

129.线程间通信有哪几种方式

130.虚拟内存,共享内存和常驻内存的区别

131.虚拟地址,逻辑地址和物理地址的区别

132.逻辑地址如何转成物理地址

133.死锁发生的条件

本文地址:https://blog.csdn.net/weixin_41605937/article/details/107175419