java面试题

  1. 什么是java虚拟机,详细介绍一下内存结构

  2. GC垃圾回收机制算法

  3. Jdk与jre的区别

  4. 接口与抽象类的区别

  5. 线程创建的4中方法,状态情况

  6. Hashmap与hashtable区别,hashmap的实现原理

  7. Map与set、list的区别

  8. SSM及springboot框架

  9. 简单介绍一下最近的项目

  10. 项目中出现的逻辑及业务实现功能

  11. Nginx的反向代理、负载均衡如何实现的

  12. Dubbo原理

  13. SSM框架原理

  14. Git与svn的使用

  15. jvm调优

  16. SpringCloud与dubbo区别

  17. 数据库表不同表操作的一致性

  18. Docker

  19. 基础知识问的多

  20. SSM框架的配置

  21. 单点登录

  22. 负责的模块

  23. 详情界面的实现功能,如何存储信息

  24. 单点登录如何实现
    3.项目中如何解决高并发问题4.sql优化
    1.在项目中主要担任什么角色,负责哪些模块,
    2.项目中用的mysql哪些事务,几种事务的区别,在项目实际场景中的应用,mysql使用的数据库引擎是什么?为什么要用这种隔离级别?
    3.购物车在Redis中的存储结构,购物车实现
    4.单点登录如何实现,具体步骤,是怎么保证只有一个用户登录的。
    5.session中如何存储登录信息的
    6.java中有哪几种数据类型,几种数据类型的转换,int可以转换为boolean吗,boolean属于什么类型
    7.购物车有几张表,表的关系,结构
    8.为什么要用ActiveMQ?不用不行?
    9.JVM内存模型,各部分的作用
    10.常用的GC算法,项目中用到的那种GC算法?
    1.spring父子容器
    2.mysql有几种事务隔离级别,以及他们的区别https://www.cnblogs.com/phpfeng/p/9333829.html
    3.spring 事务如何管理 https://www.cnblogs.com/niceyoo/p/8729525.html
    4.POI Excel导入
    5.购物车失效时间(放多少天)
    6.购物车价格失效如何处理
    笔试:
    1.SpringMVC的工作原理
    2.Spring的核心
    3.Overload和Override的区别
    4.异常处理中的关键字throws,throw,try,catch,finally
    5.写一个ajax实例
    1.自我介绍
    2.SpringMVC和struts2
    7.前端插件
    8.webUpload用过没有
    9.富文本编辑器
    10.jquery常用选择器
    11.div的隐藏和显示
    12.一个JSON字符串怎么转换成JSON对象 JSON.parse(jsonstr);//括号内为你需要转化json对象的内容
    13.ajax改成同步的 async:true/false 默认true
    14.js做字符串分割、替换、下标截取、
    15.thymeleaf与jsp的c标签的区别
    16.thymeleaf循环用什么
    17.thymeleaf怎么在页面直接取值
    16.购物车怎么存储
    17.redis存储那些属性的数据
    18.nginx反向代理
    19.map和linkedhashmap的区别
    20.=的区别
    21.String,StringBuffer,StringBuilder的区别
    主要问了项目上线没,支付宝的流程,git命令很简单
    没有笔试
    面试直接按照简历上的问
    dubbo+zookeeper 的流程图
    dubbo的负载均衡
    redis怎么用的
    所以下特色
    没有笔试
    面试:
    1.自我介绍
    2.怎么查询当前数据库时间
    3.怎么使用命令给表中插入一个字段
    4.怎么隐藏div
    5.redis怎么用的
    6.离职原因
    1.项目流程
    2.你负责的模块
    3.生成订单失败怎么购物车怎么回滚
    4.SpringCloud中的配置中心
    5.关于微服务的配置 调用服务 快速失败

  25. redis在项目中怎么使用,String类型怎么用?
    我们用的hash,在购物车中使用,添加购物项,因为hash是key,filed,value,比较符合我们添加购物车

  26. Redis更新会重新设置过期时间吗?
    如果用DEL, SET, GETSET会将key对应存储的值替换成新的,命令也会清除掉超时时间;如果list结构中添加一个数据或者改变hset数据的一个字段是不会清除超时时间的;如果想要通过set去覆盖值那就必须重新设置expire。

  27. Redis key过期了怎么删?
    三种。1立即删除,可以保证最大新鲜度,但是会占用cpu的资源。
    2,惰性删除,下次使用时先检查,如果过期就删除,被动删除
    3.定时删除,隔一段时间检查,删除redis中过期的键。

  28. 手写单例模式

  29. JAVA 找那个可重入锁有什么?
    Synchronized 和 ReentrantLock(重点说说)。

  30. Mysql主从是同时实现的吗?
    不是

  31. Es的结构,是否有副本?
    有副本,故障转移,集群恢复,进行负载均衡。

  32. 线程池是否用过没,核心参数是什么?

  33. 核心线程数5,最大线程数10,阻塞队列20,拒绝策略默认丢弃,来50个线程怎么分配?
    创建一个线程池,在还没有任务提交的时候,默认线程池里面是没有线程的。当然,你也可以调用prestartCoreThread方法,来预先创建一个核心线程。
    线程池里还没有线程或者线程池里存活的线程数小于核心线程数corePoolSize时,这时对于一个新提交的任务,线程池会创建一个线程去处理提交的任务。当线程池里面存活的线程数小于等于核心线程数corePoolSize时,线程池里面的线程会一直存活着,就算空闲时间超过了keepAliveTime,线程也不会被销毁,而是一直阻塞在那里一直等待任务队列的任务来执行。
    当线程池里面存活的线程数已经等于corePoolSize了,这是对于一个新提交的任务,会被放进任务队列workQueue排队等待执行。而之前创建的线程并不会被销毁,而是不断的去拿阻塞队列里面的任务,当任务队列为空时,线程会阻塞,直到有任务被放进任务队列,线程拿到任务后继续执行,执行完了过后会继续去拿任务。这也是为什么线程池队列要是用阻塞队列。
    当线程池里面存活的线程数已经等于corePoolSize了,并且任务队列也满了,这里假设maximumPoolSize>corePoolSize(如果等于的话,就直接拒绝了),这时如果再来新的任务,线程池就会继续创建新的线程来处理新的任务,知道线程数达到maximumPoolSize,就不会再创建了。这些新创建的线程执行完了当前任务过后,在任务队列里面还有任务的时候也不会销毁,而是去任务队列拿任务出来执行。在当前线程数大于corePoolSize过后,线程执行完当前任务,会有一个判断当前线程是否需要销毁的逻辑:如果能从任务队列中拿到任务,那么继续执行,如果拿任务时阻塞(说明队列中没有任务),那超过keepAliveTime时间就直接返回null并且销毁当前线程,直到线程池里面的线程数等于corePoolSize之后才不会进行线程销毁。
    如果当前的线程数达到了maximumPoolSize,并且任务队列也满了,这种情况下还有新的任务过来,那就直接采用拒绝的处理器进行处理。默认的处理器逻辑是抛出一个RejectedExecutionException异常。你也就可以指定其他的处理器,或者自定义一个拒绝处理器来实现拒绝逻辑的处理(比如讲这些任务存储起来)。JDK提供了四种拒绝策略处理类:AbortPolicy(抛出一个异常,默认的),DiscardPolicy(直接丢弃任务),DiscardOldestPolicy(丢弃队列里最老的任务,将当前这个任务继续提交给线程池),CallerRunsPolicy(交给线程池调用所在的线程进行处理)

  34. docker的理解
    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
    3.Springmvc和Springboot区别
    我说了下Springboot的优点

1、 HTTP滑块?
2、 HTTP协议两个版本的区别
3、 SQL如何优化
4、 SpringCloud 组成和原理
5、 Spring核心类都有哪些
6、 如何解决死锁

1、Spring AOP的具体应用和底层原理
2、Spring事务的传播原理和底层实现
3、同一个Service 互相调用的时候如何调用才能使事务不失效

6、商城的业务流程、包括购物流程、支付流程、退款流程等
7、是否手写过动态代理,具体怎么写的?
1、 spring IOC和AOP的原理
2、 wait和sleep的区别
3、 redis的五大数据类型
4、 spring boot和Spring MVC的区别
1、 点单登录这么做的
2、 如何保证登录互斥
3、 es如何使用的
4、 购物车怎么做的
5、 如何登出/注销
6、 fastdes有什么优势
1、 spring IOC和AOP的原理
3、 如何解决缓存穿透的问题
4、 如何解决数据同步的问题
6、 商场业务流程

1.深拷贝浅拷贝区别。
2.threadlocal.。
3.hashmap,ArrayList。
4.过滤器拦截器监听器的区别。
5.explain,索引优化相关的。
6.什么是线程安全什么是线程不安全。公平锁和非公平锁 。
7.jvm调优策略

1.nginx负载均衡配置参数
2.AOP,IOC,bean是如何被Spring管理的。
3.POI。
4.标记清除标记压缩.
5电商项目这一块

1、索引优化
2、linux常用命令
3、nginx负载均衡
4、SpringAOP实际应用

1、项目中nginx反向代理
2、es是如何实现
3、dubbo底层原理
4、分布式事务

1、项目中如何实现一处登陆处处使用。
2、Springboot启动流程
3、Spring事务
4、多线程、
5jvm、
6、dubbo底层实现

说一下对IOC,AOP的理解,项目中哪里用到了AOP。切面的注解是什么。
GC中的垃圾回收算法有哪几种。HashMap是否线程安全,怎样解决HashMap的线程不安全。JVM内存模型

springboot,springboot和springcloud有什么区别。
如果用java程序去调用一个其他语言写的方法该怎么解决。
注解变成的好处,注解在什么时候编译到源码当中(预编译,还是编译过程中)
除了zookeeper+dubbo 还有什么分布式框架

异常的顶级借口是什么,#{}${}区别,List下面有哪些接口,
spingmvc中获取前台参数有哪几种方式,
ActiveMQ的概念使用,是否用过定时器。
Springmvc四个注解@component和@repository的区别

1项目流程
2 电商表的构建
3 超卖问题
4 多线程

7 支付流程
8 阿里云oss上传流程
9 悲观锁乐观锁怎么实现
10 事务的隔离级别
11 mysql的默认隔离级别

1基础
2 IO流
3 elasticsearch
4 spring,springmvc、常用注解
5 hashmap底层
6 arrayList与linkedlist
7 limit后边两个参数

1多线程
2 线程池的参数,
3 dubbo原理
4 zookerper原理
5 自定义线程池
6 分布式事务不用锁怎么解决
7 算法
8 hashmap底层
9 arrayList与linkedlist
10 nginx
11 内部类
12 redis的锁
13 volitale关键字

1月估量多少
2 项目流程,

4 elasticsearch
5 mq
6 多线程(当时我说我对这个没有实际用过,但是有过了解,没问)

1有笔试
2 JVM内存分配,
3 springmvc常用注解
4 springcloud常用组件
5 项目流程

问的东西都比较底层,大部分问的源码级别,
主要问redis,比如redis删除key得方式有哪几种,
数据库死锁之类的问题,还有事务的隔离级别,
可重复度能解决幻读得问题吗,怎末解决,
springIOC源码,问你spring怎末管理bean得,还有aop在项目中具体应用

1.重点问了redis,依赖购物车问redis的用处,问到了缓存击穿2.问了多线程3.动态sql的实现

1、登录模块问session是怎么保存的
2、如何防止订单重复提交(生成流水号)
3、并发量大的时候会不会引起超卖问题
4、没有做活动吗?(第一版还没做)
5、拆完单,这些单是怎么显示的用户会显示多少个订单,是显示这一个还是多个?
6、Object有哪些方法?
7、equals和==的区别
8、什么时候重写equals()什么时候重写hashCode()
9、Spring的AOP和IOC
10、Cookie和session
11、mybatis的#和$的区别
12、mybatis的懒加载机制
13、String和StringBuffer的区别
14、他说他面的可能不太全面,叫我说一下自己的亮点

1、项目中哪里用到多线程,怎么用的
2、wait和sleep的区别,他们两个谁会释放锁
3、dubbo的原理,和zookeeper是怎么使用的
4、当zookeeper挂掉后还能继续调用服务吗?
5、项目中redis有没有搭建集群,这么搭的
6、有么有在Linux系统上安装配置过中间件,工具之类的
7、nginx负载均衡的算法

1、重写和重载的区别
2、构造方法和普通方法的区别
3、类加载成员变量、静态代码块构造器的加载顺序
4、concurrentHashMap的理解,concurrentHashMap和HashTable的区别
5、java异常处理机制
6、finally和fianl的区别
7、volatile关键字
8、ArrayList和数组的区别
9、常用的GC算法,如何确定哪些是要被清除的哪些是不能被清除
10、什么是内存泄漏和什么是内存溢出
11、SpringMVCD额运行流程
12、AOP和IOC
13、TCP的三次握手
14、Linux中修改文件的所属用户是用哪个命令
15、修改文件的访问权限
16、查看Linux后台运行的进程,有哪几种方式
17、如何查看Linux下装了几个版本的java(所有的)
18、如何卸载Linux自带的java jdk

1、项目的工作流程,就是有一个需求是怎么拆分,
怎么设计,拆分需求你们会不会参与,会不会讨论一些设计上的方案

2、在开发中遇到的最大的问题是什么?
3、springBoot的实现原理
4、springboot开发相对于springmvc这些什么地方好用什么地方不好用?
5、Springboot为什么加了注解就可以使用那些功能了?
6、springboot是自己搭建的吗?是什么版本的?
7、在项目中AOP用的多吗?
8、说一下springboot中IOC是怎么使用的?
9、springboot中怎么声明一个自定义的类型并注入到spring容器里面
10、Springboot的常用注解
11、@configuretion注解在什么地方使用?
12、拦截器是怎么使用的,是怎么实现的,你怎么保证自定义的拦截器注入到spring容器中
13、你怎么指定拦截器过滤那些请求不过滤哪些
14、配置雷士怎么实现的
15、springboot中属性配置使用过哪些?
16、自定义的属性怎么在代码中使用?
17、除了value注解获取自定义的属性配置还有什么办法来获取自定义的属性配置
18、属性配置大概有多少条?
19、springboot中Bean注解怎么使用的
20、申明了一个Bean后怎么向里面注入参数?
21、Mybatis的缓存了解吗?一级缓存的有效范围是什么?是不是什么时候查询都会缓存?一级缓存和二级缓存有什么区别?
22、mybatis平常使用注解多还是xml多?用没用过注解?
23、xml是怎么使用的?
24、第三方的通用mapper
25、mapper中常用的标签
26、mapper中返回自定义的对象的时候怎么声明?
27、mapper传参传多个参数,单个参数和封装对象的参数都有什么区别?
28、mapper中返回对象中包含数组或者集合要怎么做?里面包含多个对象怎么做?
29、dubbo和zookeeper平时怎么使用?
30、分布式架构是你自己搭建的还是有现成的来使用
31、平时怎么用的zookeeper
32、zookeeper的原理
33、平常优化过有问题的SQL吗?
34、你怎么确定哪个字段要加索引,或者有没有索引?
35、where条件有三个,怎么区分三个条件那个要加,要加在那个上
36、mysql库表的设计是由谁来做的?是你项目经理还是自己?
37、设计一个表单,从前端页面到后端到数据库,说一下流程怎么设计的(表单怎么封装这么提交,如果需要动态扩展行的话怎么做?)
38、Tomcat在Linux怎么部署的
39、怎么查进程
40、git是公司自己部署的还是github上的
41、maven一般都是怎么使用的,比如jar爆冲突怎么解决
42、平常使用maven做什么?
43、平时编译打包怎么做的?
38、在IDEA上怎么使用maven打包
39、项目打包是统一打包还是谁做完谁打包?
40、如果想把这个项目达成一个jar包,怎么打?要打成jar包要怎么打,需要做什么配置吗
41、springboot在IDEA中怎么启动的?
42、springboot中怎么打断点怎么调试
43、jQuery比较常用的都是什么功能?
44、jQuery要加载一个界面要怎么加载,比如要加载一个百度接面要怎么加载
45、jQuery怎么获取一个标签,怎么改变他的HTML这么改变,怎么控制他的样式,如果样式是写好的样式表要怎么改变,
46、AJAX有几种使用方式,AJAX想要接受一个json返回值要怎么配置
47、事务是怎么做的
48、springmvc中怎么把方法声明成一个对外的接口
49、requestMappering怎设置它的action属性
50、get,post,put,delete的区别
51、springmvc的实现原理
52、springmvc底层使用什么实现的?核心处理器是什么?
53、挑一个你熟悉的项目介绍一下
54、这个项目做了多久,你是从项目一开始就跟进的吗?
55、功能设计是你实现的吗?
56、redis是怎么使用的?
57、使用springboot为什么使用jedis客户端?你们引用的redis的是redis的jar包还是redis的starter?
58、redis在springboot中除了使用jedis还有哪些客户端?
59、ES在那块功能上使用的?
60、开发过程中又遇到什么深刻的问题吗?
61、平时有了解一些java的开源框架吗?有没有上一些技术论谈学习?
62、使用ES实现一个全文检索的功能能不能实现?

2、集合类,有哪些集合类,大致的原理
3、Mybatis框架的实现原理,如何使用xml文件实现操作数据库
4、redis怎么做的集群
5、问了上家公司的情况,公司人数,项目组的人数,在项目组中的角色,项目周期
6、还问了有没有培训过???

1.在项目中主要担任什么角色,负责哪些模块,
2.项目中用的mysql哪些事务,
3.购物车在Redis中的存储结构,购物车实现

自我介绍
介绍项目模块
1、介绍一下你了解的redis
2、项目springboot+cloud拆分到什么程度
集群规模多大,怎么部署的
3、部署方便了解过么?
4、springcloud用什么组件了么?
6、做全文搜索的时候为什么选用es不用其他的
7、三年做三个项目么?开发周期是多长时间啊?
一直做的java么?
8、直接规划有什么想法么?
9、mvc的运行流程
10、redis和mysql有什么区别,什么样的数据选择redis,什么样的数据选用mysql

1、问网络协议,http协议
2、问post和get请求的区别,
3、问集合arrylist,linklist区别
4、hashmap,hashtable区别,hashmap原理清楚么
5、接口和抽象类的区别
6、spring和springboot的常用注解、
7、面试官不聊项目,
8、redis的类型
9、redis,RDb持久化执行策略
10、redis在集群中有哪几种角色
11、解释一下缓存穿透
12、redis满了怎么办

1.怎么导入js,我想用js中的方法
2.redis的数据类型有哪些?
3.dubbo和eureka的区别?
4.谈谈你对高并发的处理?
5.spring的事务是什么?
6.spring怎么把bean创建出来对的?有几种方式?
7.简单手写下怎么使用id,class类,还有标签选择器?
8.url中的请求怎么传入到前端页面?
9.get和post的区别?
10.nginx有配过吗?都是干什么用的?什么是反向代理?

1.上来简单聊聊你填写的信息
2.问你简历上的知识,Linux,中的命令scp,chmod775都是什么意思?查看日志的命令,vi和vim的区别,打开文件怎么到最后一行?怎么下一页?
3.如果都回答不出来,问了我最后一个问题,栈:请用代码给我写三个方法体现出来栈的特点?写出来面试通过,面试官说很简单,感觉是在用气场吓唬你,千万不要紧张好好想想。
4.git和maven具体怎么使用的

1.throw和throws的区别?
2.http和https的区别?
3.dubbo和eureka的区别?
4.zookeeper你是怎么单独使用的?怎么通信的?
5.项目里redis集群具体怎么搭建的?
6.基本都是按着笔试题来问的,没有写笔试题上口述笔试题?
7.springboot的缺点是什么?
8.cookie和session的区别?
9.activeMQ是干什么用的?你还知道哪些类似的?Kafka能说说吗?
10.i+1<i这个场景存在吗?
11.说下spring的核心是什么?分别是什么意思?

1.基础偏多,集合的父类是谁?哪些安全的?集合怎么排序?
2.创建线程的方式哪些?创建线程池的方式哪些?7个参数是什么?
3.sql出几个场景口述下怎么实现?
4.日志里时间的格式化怎么做的?
5.springmvc怎么引入spring的?说一下具体的过程?
6.springmvc的核心配置文件是什么?

1.引入springboot的注解是什么?它下面还有三个是什么?分别是什么意思?
2.说下你在项目中负责的模块?
3.你在项目中遇到的问题是?
4.什么是zookeeper?
5.场景题,给你一个组数有白球和黑球,怎么排序让白球全部在前面黑球在后面?
6.最后会有一个发散思维的题,怎么设计电梯比较好?你自由发挥

1.zookeeper下的目录结构是什么?
2.dubbo的工作流程是什么?怎么初始化dubbo?你在实际开发中dubbo会遇到什么问题?
3.redis你们是集群?怎么存数据的?集群之间是怎么通信的?
4.说一下springmvc是什么?工作流程是什么?
5.你们实际开发中是怎么处理日志的?
6.简单说说spring
7.sptingboot的缺点是什么?

1.object类中的方法有哪些?
2.string为什么是不可变的?stringBuffer和stringBuilder的区别
3.集合有哪些?说说
4.redis的数据类型
5.springmvc的工作流程
6.说说自己的亮点技术

问到了SpringBoot原理

一面:MVC注解,分布式框架,dubbo,三层架构中各层的注解,sql问的比较多,包括动 态sql,问了前端框架
二面:mysql,有没有参与数据库设计(没有),现场出个简单场景让你设计表关系及字段,冒泡排序(怎么优化)

问的面比较广,偏大数据,mysql问的比较多(linux命令、git命令、redis持久化、http状态码、抽象类和接口的区别、单点登录、高并发的解决方案,说解决层面和思路、mysql索引失效情况、sql优化分析重点看什么信息、慢查询日志)

主要问项目,单点登录

mysql,redis的string类型是怎么存储的,现场描述场景问解决思路(算法)

问电商项目,问的特别细,mq消息丢失,消息重复消费问题等

上来就问springcloud相关组件,mysql优化,索引失效(为什么不满足最佳左前缀会索引失效),jvm,redis的数据类型及持久化

简历上写的技术精通哪一块?
有深入读过Spring、Mybastis、Dubbo、ZooKeeper、任意一种MQ的源码?

1.如果请求进来要通过两个拦截器流程是什么样的? 2.问了jvm内存 3.在缓存中如何查出未使用以及访问量最低的把它给去丢掉 4.说出你知道的异常 以及解决方法 5.

1.问了购物车 2.问了token加密 3.如何设置一个三级权限 4.你写过最复杂的sql是什么?现场写一个。在线教育的视频播放是如何实现的 5.短信注册的具体流程怎弄的。6.在哪些情况下不应该使用索引 7.为什么要加索引,及优缺点。

1.画出最近整个项目流程图并说说自己负责的模块,用到什么技术,怎么用的,遇到什么问题怎么解决的
2.画出dubbo的流程图,并说出具体流程,说出原理
3.说说jvm并画出图说说里面的具体怎么回事以及GC垃圾回收的几个方法和GC的四大算法各自的有缺点和在哪里用那种算法,说说jvm是如何调优的。
4.说说你对zookeeper的数据结构。如果zookeeper宕机了对dubbo有什么影响。
5.说出java多线程 有哪些参数,以及线程池的底层原理。
6.java多线程的两个锁有什么不同
7.hashMap底层原理

1.SpringBoot开发方便在什么地方
2.依赖包管理有什么优势?
3.zookpeer主要做什么?
4.zookpeer实现什么功能?
5.说出linux的五个命令,linux如何查看文件

1.讲述整个项目的大体流程是怎样的和自己负责的模块(自己负责的模块问的特别细)用到了哪些技术,怎么用的
2.token如何生成的,集体过程
3.redis你是怎么存储购物车的?说说缓存击穿问题
4.多线程锁在项目中怎么用的
5.说说dubbo和zookpeer用的具体过程,如果没有注册中心消费者如何获取到生产者的消息
6.问了token和session和redis三者的区别
7.说出jvm图里面的具体运用和GC垃圾回收,内存如何调优?
8.说出mycat主从复制原理。sql语句执行慢的原因有哪些?你是如何解决的。sql级别优化有哪些?

1.activemq起到什么作用
2.购物车分了几个服务
3.微服务是个什么样的概念
4.MySQL优化
5.购物车不存在数据库中是怎样做持久化的
6.Dubbo,zookeeper是做什么的
7.在做购物车时遇到什么困难
8.集合说一下哪些是线程不安全的
9.使用POI操作Excel表的大致流程,怎样解决插入数据库是数据重复的问题,怎样解决效率问题

1.电商项目的基础架构
2.Dubbo的远程调用协议RPC
3.springMVC请求到响应过程
4.spring的IOC和AOP
5.AOP的切点如何植入
6.说一下自己了解集合的框架
7.list和set的比较
8.set和map的比较
9.简单说一下TCP和UDP
10.JVM的内存模型
11.垃圾回收机制的3种回收算法
12.SpringCloud的两种调用方式
13.数据库设计有没有参与过

springBoot如何实现不同服务之间的调用,不使用Dubbo、zookeeper

面试官有事,需求面试
1.单点登录怎么用的
2.单点登录用在什么场景
3.在开发中有什么难点
4.git怎么用的(有分支吗)
5.电商大概做了多久
6.项目流程
7.activemq
8.购物车涉及了多少接口
9.编码规范
10.上家公司离职原因
说后期有电话面试,到现在还没收到

1.单点登录怎么做的
2.activemq怎么用的(消费者怎么写的)
3.spring IOC和AOP的实现原理
4.一个类不放入spring管,但是当中的方法需要调用spring的对象,怎么调用
5.创建对象有哪些方式
6.单例模式怎么写的,大致描述一下
7.怎样创建多线程,怎样获取当前线程的某些状态或者值
8.说一下hashmap
9.redis的持久化方案(什么是快照,如何实现快照)
10常用的设计模式有哪些
11.Redis怎么搭建的
12.dubbo,zookeeper怎样实现的服务调用,如果zookeeper全挂掉了怎么办
13.git常用命令

1.springMVC运行原理
2.nginx怎样做负载均衡
3.jquery常用选择器
4.div的隐藏和显示
5.sql查询当前时间
6.ajax改成同步怎么改

1.购物车模块的开发

2.spring的配置

笔试:1选择题记不住
2.final.finally.finalize区别
3.hashmap和hashtable的区别
4.设计模式中的适配器模式
5.打印1—100质数
6.递归
7.3表关联查询备注:收手机
面试:一顿瞎问
1.hashmap,初始值16是怎么算的
2.了解哪些设计模式
3.redis数据类型,对mongdb有了解吗
4.string如何转成int,类型不对怎么处理
5.在linux安装一个jdk,用那些命令,查看日志用什么命令
6.进程和线程,能否多进程,进程和进程是如何通信的
7.springboot对比springmvc

项目有多少张表
jvm性能、参数、关注点
springmvc运行流程、常用类和接口、事务
spring 启动

项目介绍
redis
sql
map的遍历方式

1.几道笔试的做题思路
2.项目介绍
3.es分词规则、es怎么做的价格区间查询
4.单例模式中为什么用volatile
5.栈是如何运行的
6.在线的单点登录

sql、多线程、spring、反射

说到了阻塞队列和docker

dubbo和springcloud的区别、docker、mycat、linux用的什么系统

1,对称加密和非对称加密
2,redis在项目中都哪里用到了
3,线程池以及拒绝策略
4,分布式锁以及在项目中的使用
5,项目上线都有什么步骤,模块之间有依赖启动顺序

1.SpringBoot的原理和在项目中使用的部分,
2.Dubbo和Zookeeper在项目中使用的部分
3.Spring中IOC的原理和Aop原理
4.redis集群配置了什么文件

1.springboot和springcloud的区别
2.如何定位cpu过高
3.dubbbo
4.spring事物
5.redis在项目中如何使用的,都使用过哪些数据类型

1.主要问项目,订单的流程,购物车的实现,以及防止超卖
2.事物
3.分布式事务的实现
4.单点登录的实现

1.没有讲啥东西,主要是问了fastdfs在项目中怎么使用的,怎么存储文件的

1.支付流程,怎么保证幂等性2.介绍一下jvm3.项目中使用的哪个GC4.购物车流程

1.主要问最近写的项目
2.未登录状态(购物车添加物品后)更换另一个浏览器购物车内商品怎么实现
3.项目用几台服务器
4.nginx会搭建吗
5.注册中心用几台
6.springboot版本
7.版本控制工具都是什么
8.mybatisPlus分页这么分的,用的什么插件。
9.mybatis和mybatisPlus区别
10.#{}和${}区别用哪个好
11.sql优化,索引有哪几种类型,怎么建,建立规则
12.redis数据结构有哪些,用过几种
13.Redis集群部署架构(会配代理吗,负载均衡会搭建吗)
14.spring :ioc理解(用过xml配置吗)
15.springboot有哪些优点

1.剩下的日子15天,到30号
2.背过,挑出ssm,redis,Linux,高级部分会出现的题
3.把电商的流程吃透
4.这是你的杀手锏。。

  1. 项目介绍

  2. 购物车是怎么做的

  3. 未登录为什么使用cookie存储购物车

  4. Cookie和session的区别

  5. Cookie里边存储哪些东西

  6. Redis购物车的存储时间

  7. 如果redis的key过期之后,还想再看到失效之后的购物车,怎么做

  8. 登陆有验证码吗,短信验证码有吗?

  9. 发短信验证码之前有什么条件吗?先验证后短信验证

  10. 在短信验证之前,必须先图片验证后才能发送短信,这么做

  11. Redis用作什么,主要用了哪些数据结构

  12. 在线教育的点播怎么做的

  13. 上传视频用的什么

  14. 视频从上传到上传成功大概用多长时间??

  15. 怎么才能知道上传成功了呢?

  16. 都遇到了哪些异常

  17. 对集合的认识

  18. Hashmap的key重写了equals方法为什么要重写hashcode方法

  19. 在ArrayList数组里存储6个值[1,2,3,4,5,6]只要是偶数,就删除,讲出思路

  20. 动态代理和静态代理的区别

  21. JDK提供的动态代理的接口

  22. http了解吗

  23. get和post有什么区别

  24. 交互的时候传输的数据格式是什么

  25. Linux常用的命令

  26. Redis在项目中存的哪些数据

  27. 用户没有登陆网站是怎么加入购物车的

  28. 购物车中Cookie的key存的是什么

  29. 不同的人用相同的电脑将不同的商品加入购物车是怎么进行区分的

  30. Redis挂了这些购物车的数据怎么办

  31. Redis的数据分片

  32. Dubbo的rpc是怎么实现的远程通信的

  33. Es主要存哪些东西,es里0 面的shard

  34. Es的集群是?

  35. 单点登录是怎么做的

  36. 别人拿了tooken是不是可以随便登录你的账号

  37. 登陆的过期时间

  38. Springcloud的组件

  39. Euker和zookeeper的区别

  40. Dubbo为什么使用zookeeper作为注册中心,使用的哪些东西

  41. Zookeeper的特性

  42. 工厂模式—-简单工厂,抽象工厂,工厂方法的区别

  43. 单例模式什么时候用单例,什么时候不能用单例,原型模式?

  44. Mysql的存储引擎

  45. 行级锁的排他性

  46. 事务的隔离级别

String和Stringbuffer的区别

写一个类让他实现单例,为什么要设计单类。

实现字符串反转有那些方法写出来。

程序输出题:两道类加载执行顺序

手写输出2-1000000的质数和非质数。

给了两张表,一张部门表id和name两个字段,一张员工表id name deptid三个字段。员工表的外键是部门表的主键。

查询大于部门平均薪资的员工的姓名,平均薪资,和部门的平均薪资。

项目中遇到过什么难题,怎么解决的。

出了一个场景sql问,类似于百度搜索JAVA怎么让java排在前面,而不是文章里描述中的JAVA大概就这个意思。问一条SQL怎么实现。

还是场景sql:一个表中只有一个name字段

把名字重复的字段统计出来。

问了购物车未登录放在哪里的,我说了可以cookie和Redis都可以。我们是放Redis 问我为什么,怎么确定未登录的身份。

说完了以后我又给他扯了一些放在cookie里,好像他对放在cookie更感兴趣。

又问在Redis里,如果在未登录的情况下,关闭浏览器三四天,再打开的时候购物车还存在吗

还问了商品分类怎么实现的,都涉及到那些字段,那些表。重点说了没有设计外键,包括为什么没有设计外键。从面试题里看出来,他们公司还用的是主外键。

问了些关于sql优化的问题,用户查询变慢你怎么去分析解决

面试官开始介绍他们公司的业务 公司规模等

我前端用了那些技术,vue的版本也问了。项目中商品存哪里的,Redis怎么保证高可用,用了那些技术。你们项目分表从那个维度来分的,他说是时间吗。我怕他下套。我说不是,是按照和商品的密切度划分的。

  1. 重写的返回值类型的类型和异常
  2. 返回给用户一个详情页面,我在controller中怎么写,
  3. Jsp知道多少
  4. JavaScript知道多少
  5. Jquery了解多少
  6. Final
  7. Static修饰方法
  8. Equs和==的区别
  9. Integer a1 = new Integer(18)
    Integer a2 = new Integer(18)
    判断 a1=a2
  10. List集合ArrayList linkdList
  11. JVM常用的调优策略
  12. SpringBoot怎么用啊你们
  13. Dubbo的流程
  14. 远程调用他们这个类你是怎么引过来的??????
  15. SpringBoot里边这个启动类你们是怎么起的??
  16. 类怎么加载进来
  17. @value怎么用
  18. 拦截器是什么,怎么用
  19. 自定义注解是怎么访问到注解的???
  20. Spring的理解
  21. Spring的监听器,入口的监听器叫什么
  22. Filter
  23. Mybatis的标签
  24. Redis常用的命令,加一个缓存
  25. 用户加入很多个商品,再redis里是怎么存的

没有笔试题
1.项目的简单介绍
2.讲一下JWT
3.JWT的有效期限
4.假如tooken已经泄露了,第三天的时候想让这个tooken失效你怎么实现,
5.activeMQ你们是怎么用的?为什么用这个?
6.你们是怎么使用这个ES的
7.你们怎么用的redis
8.nginx你们怎么用的
9.nginx怎么做到负载均衡
10.nginx的轮询策略,过来一个请求,nginx是怎么进行分发
11.你对zookeeper的理解,和存储方式
12.使用springboot对项目的优点
13.权限管理SpringSecurity的理解
14.Spring中出现的单例??
15.ArrayList线程安全吗?为什么?
16.你对Hashset的理解
17.bean中按某个属性来排序,你怎么实现?
18.web项目中四大对象的作用域和生命周期

(1)ServletContext
ServletContext是最大的Web域对象,在整个工程内有效,可以存储一些需要全局部署的配置文件,也可以存储其他信息,不过因为它的生命周期最长,是随着服务器的开
启而开启,随着服务器的关闭而销毁,或者项目从服务器中移除工程而销毁。所以ServletContext中存储数据,会一直储存在内存中,所以少用这个对象会比较节省内存。

(2)Session
session的生命周期,随着getSession方法的调用而创建,默认是30分钟不调用就会销毁这个session对象,服务器非正常关闭也会销毁session,服务器正常关闭只会将
session序列化到磁盘中,在下一次开启的时候会再加载进内存,所以一次会话结束,浏览器结束,并不会销毁session,但是会使得该浏览器失去密钥,从而无法访问这个
session;还有手动调用session.invalidate()会销毁session。session的作用范围是一次会话,也就是从打开浏览器到关闭浏览器。

Session与Cookie的比较:
1)、cookie是存于浏览器端,而session是存于服务器端。
2)、cookie有数量和大小限制,而session没有,可以无限创建。
3)、session因为几乎只有一次的作用,会对服务器产生较多的垃圾,所以还是慎用。

(3)Request
Request的作用范围是一次访问的过程,生命周期随着访问开始而开始,随着服务器的响应完毕而结束,所以
更多的数据会添加到这个域对象。
1)、转发会携带这第一次的ServletRequest的信息,传递到下一个文件,而重定向是重新开启一次访问,不会携带。
2)、转发上面的地址栏不会发生改变就访问了别的内容,重定向会发生改变。
3)、转发只能存在于服务器内部,重定向可以访问任何其他的网页。
4)、因为转发只创建了一次客户端和服务器的链接,所以相对而言转发会比较节省网络资源

(4)Page域
Page的作用范围为当前页有效,只能用于jsp页面中,是四个域对象中作用范围最小的的一个域对象。
19.跳转和重定向
请求转发和请求重定向的实现方法
请求转发:利用RequestDispather接口中的forward方法实现请求转发。
请求重定向:利用HttpServletResponse的sendRedirect方法实现请求重定向。

1.Linux命令,查日志cat。binlog日志,查名字

2.项目自己在屡屡

3.集合这款,几个的区别,跑不出去,尽可能跟他多说点,自己不要晕了。

4.问JUC的时候,多想想,比如问锁lock,reentretlock问的可能是。过来过去也就这里边的东西跑不出去,所以,自己多想下,在说出来。。

5.项目的表关系,自己一定要熟,才能稳住,他不知道我们怎么设计的,我们自己记住大胆的说就行了

6.设计模式知道哪些,先说spring的工厂模式,在说spring中其他的

7.final的几个区别

9.echart用法。。

10.数组啊,大哥已经忘没了,还有哪些题

11.写sql???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值