八股部分
网络相关
ARP协议
数据结构
如何用数组模拟二叉树的遍历过程
两个队列可以实现一个栈吗
我觉得可以,就是拿另一个队列兜住出队元素,出到的最后一个元素就是出栈元素。
深入分析二分法,深入分析归并排序
操作系统相关
进程和线程的区别
数据库相关
Linux相关
Java 相关
java中的双亲委派能说一下么?有什么问题?那些地方需要打破?
tomcat里的类加载机制了解吗?也是双亲委派机制吗?
Spring 相关
spring框架中的设计模式了解过吗?
spring中的注解底层原理是什么(注解是根据 JavaConfig实现的)
JDBC打破双亲委派
什么是 SpringBoot 自动装配? blog.csdn.net/u014745069/…
SpringBoot 是如何实现自动装配的?如何实现按需加载?
如何实现一个 Starter?
杂
utf-8、GBK这些编码格式之间有什么区别?
红黑树插入删除
你怎么看待华为奋斗者文化?
算法部分
问还记不记得笔试的题目,后面有没有在深入的去优化这个代码X2
讲一下第一题的思路
判断回文字符串
有效括号
求连续数字删除几个后得到的最大数字?
四个坐标算是不是正方形
查证:力扣593 有效的正方形
解法:使用HashSet来做,将所有的长度放进hashset,看看是不是只有两种长度(边长和对角线)
删除链表的倒数第k个节点
给你一个M×N的矩阵, 只能向右、向下走,问从左上角到右下角有多少种走法。
判断括号匹配
复原IP地址
最大的不重复的数字
最大数
查证:力扣179 最大数
对于每两个位置的数,我们拼接o1+o2 和o2+o1,并且比较这两个结果的大小,更大的那个顺序,就是o1和o2在结果中的相对顺序。根据这个排序方式对整个字符串数组进行排序。
leetcode 445 两数相加 ii
因为数是逆序存在链表中的,第一个是最高位,所以把两个链表都压入两个堆栈里面,然后再依次往外拿,注意处理进位就行
每日温度
判别是否需要使用单调栈,`如果需要找到左边或者右边第一个比当前位置的数大或者小`,则可以考虑使用单调栈;单调栈的题目如矩形米面积等等
行星碰撞
维护一个栈,栈里面保持一个性质,向左的都在左边(可以没有),右边的向右(也可以没有)。新加入的如果是向右,则直接添加到栈里,如果向左,就开始轰炸栈里面向右的元素,直到炸完栈中向右元素或者自己被炸。
岛屿数量
标准的dfs,维护一个与地图一样大的visited数组,记录路径,保证让每个节点只会被访问一次(可能是入口或者dfs的时候触及)。
优化:找到一个单位的陆地,就让它被水淹没,
项目部分
1.你在项目中有没有遇到什么问题,你是怎么解决的?举个例子?(X2)
2.用户登录的session如何解决分布式的问题
- 放在客户端
缺点:安全性/cookie长度,类型收到限制/如果cookie过大,增加网络通信消耗
- Session复制
放在一个机房,在一个网关内用广播的方式进行同步
- Session绑定
使用Nginx ip-hash,让一个ip地址只能被一个服务器服务
缺点:容易出现单点失败
- 用Redis存储Session
3.在实际项目中cookie和session是如何配合的?
关于Session: Session 不是一种实现,不是Http协议的实现内容,而是一种架构。广义上来说它是服务器用来保存用户状态的解决方案。狭义上来说 ,由于各种用于web开发的语言在一定程度上都提供了对这种解决方案的支持,所以在某种特定语言的语境下,session也被用来指代该语言的解决方案,比如经常把Java里提供的 javax.servlet.http.HttpSession简称为session
举例:
org.apache.catalina.session的存储结构
Tomcat中实现了session
对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap;
4.你是如何实现注册功能的
5.项目的开发流程
智力题部分
有一块金子,一个工人干7天才能得到这个块金子,但是现在这个工人想日结工资,问你怎么分割这个金子?只能将金子分成3块(1/7、2/7、4/7)