中国专利大厦 517房间
外派到国企专利。。。
1、自我介绍、负责项目
2、redis缓存,缓存穿透问题
3、死信队列、为什么不用Redis
4、jvm内存模型
面试地点:电话面试
面试市场:11分钟
1 自我介绍
2 自己负责的模块
3 Java多线程的实现方式
4 多线程sleep和wait的区别
5 什么情况下wait的线程继续执行
6 解释一下依赖注入
7 SpringBean作用
8 Mybatis和hibernate的区别
1.自我介绍一下
Mysql你都是怎么优化sql语句的?
2.Mysql你都用过什么引擎?(我只说了innoDB)
3.InnoDB的特点
4.多表联查)内连接,左连接,有链接。
5.如果使用内连接,左表有数据,有标没数据,能查到么。
6.如果使用左连接,左表有数据,有标没数据,能查到么 ——》 右表数据显示什么
7.你的项目用的什么架构,能介绍一下么?
8.SpringCloud 有哪些组件,你怎么使用的?
9.你项目一般需求下来到结束,你们是怎么处理的,流程是什么?
10.你们项目上线后如果有问题是怎么处理的。
1.自我介绍
2.你们这个项目一共有多少个模块,项目流程是什么,介绍下你负责的模块
3.你们单点登录是怎么实现的
4.倒排索引是什么
5.异步编排你们是怎么实现的,既然你说到了用到了环绕通知,那他是怎么配置的
6.讲一下linux的常用命令
自我介绍
项目
购物车什么时候扣减库存
购物车数据缓存放在哪里
Redis几分钟刷新一次
Redis 定时怎么实现
怎么判断和控制超卖 垃圾数据
Es 怎么保证大批量时使用 Redis里存储什么
缓存与数据库里商品名不同怎么解决 价格变动(如折扣)怎么解决
开发时遇到什么难处理的bug
Sql优化
项目有需求时如何对接 是否与甲方直接对接过 如果组长分配任务不合理怎么处理
几号离职 是否裸辞
有什么问题问我(面试官)
大概这些 有的地方没怎么听清
1.介绍一下你的自己
2.这个项目中用的是分布式事务,你们是怎么处理分布式事务的。
3.SpringBoot的自动装配原理是什么?
4.SpringCloud组件你都用过那些,怎么用的。
5.JVM那些区,用来干什么的。
6.你了解linux系统么。了解那些。
消息队列消息丢失怎么解决的,
高并发时,出现阻塞怎么解决,
MySQL搜索引擎底层原理,
死信队列
es原理
redis怎么设置过期时间
线程池有几种,自定义参数
jvm结构,oom怎么处理
公司几个小组
1.自我介绍
2.学校,专业,专业课程
3.MySQL的三范式
4.最近做的项目
5.你做了那个模块,简单介绍那个模块,模块的具体问题(我的是详情,问了都什么不能放在缓存了,缓存的有效时间)
6.redis缓存击穿
7.mq用在了哪,用来干嘛
8.spring,springmvc,springboot三个框架的区别
9.springcould的组件都有什么(还会问组件的作用和怎么用,我的问的是远程调用)
10.java基础,object的常用类
11.MySQL里char和varchar的区别
12.对未来的职业规划
电话面试
自我介绍
你们项目用的什么技术栈
介绍一下你参与的模块的开发(购物车怎么实现的)
ArrayList和LinkedList的区别
用MQ做了什么
JdK1.8新特性
1 自我介绍
2 谈谈最能展现你技术的模块
3订单超卖问题
4 redis在项目中如何使用
5 阻塞队列
6 谈谈对spring的理解
7 http状态码
8 使用过的前端技术
9 MySQL优化有几个方法
1.介绍项目,你做了什么
2.springboot的核心注解包括哪些注解
2.项目几台服务器 负载均衡怎么做的
3.项目的分布式是怎么做的
4.熔断机制
5.你在哪用到了Redis
6.Redis持久化怎么做的
7.Mysql表是怎么设计的
8.Mysql什么时候会造成联合索引失效
9.加索引后怎么验证
1.介绍项目,你做了什么
2.SpringCloud和SpringCloud Alibaba有什么区别
3.什么时候用的多线程
4.线程池怎么创建
5.什么时候执行拒绝策略,有什么
6.项目中用了设计模式
7.说一下动态代理的底层
8.java8的新特性说一下
9.hashMap底层
10.在多线程的情况下hashMap还能用吗
1.介绍项目
2.自己的优势
3.redis分库分表降低性能怎么解决
4.关于线程池你了解多少
5.redis集群了解吗,集群区别
6.JVM优化
7.分布式事务用到了哪
8.穿透怎么解决的,除了放null
1.自我介绍
2.教育经历怎么没写
3.笔试SQL语句还能用别的方法写吗
4.公司项目上线了吗
5.你主要负责的模块
6.订单模块你是是怎么设计的
7.订单详情的数据放到了吗
8.map和Hashmap的区别
9.MySQL语句的优化,怎么优化
10.拿购物车来说,数据量特别大,你是怎么处理的?
11.算法你接触过哪些? 现场手写冒泡
12.用的什么开发工具,idea快捷键说一下你知道那些?(快速的查找一个类,只知道某些关键字,众多类中 你怎么查找的,倒包的快捷键)
13.你自己优势有哪些
jvm的垃圾回收机制
springboot注解
springboot核心注解内容
数据库的增删改查操作
数据库的排序
Linux的基本命令,插入值
JAVA8的新特性
什么时候用的redis
mq怎么用的
nacos的实现
springboot和springcloud的使用
怎么给两个类中的年龄排序
1,自我介绍一下
2,问我什么时候毕业的
3,介绍一下你那个购物车那个怎么合并的,redis用什么类型存的,key值是什么
4,arraylist和linkedlist区别
上机:
员工增删改查 需要分页查询
添加需要做长度等规范限制
删除是逻辑删除
注:分页及规范限制写了才算完成,一个小时时间
做自我介绍,
项目上线了么,
单点登录如果用户已经登录更新了局域网怎么处理,
单点登录token存在哪,用户是怎么带过去的到后端检验的
秒杀模块的超卖问题怎么解决,list是怎么实现的,为什么使用list就能解决超卖了
秒杀的高并发怎么解决的,redis的单线程是怎么的,作用是什么
使用linux你都做什么
面试官一(人很随和,聊的很好)
介绍一下自己。
介绍一下项目。
简历上写的挑着问。
用过svn吗
用过oracle或其它的数据库吗
平时用linux干什么?
讲一下平时怎么用git的
面试官二(到饭点了,不耐烦,经常看表)
缓存穿透是什么
用过定时器吗
说下部署多台服务器下怎么实现定时器?
讲讲拦截器和过滤器?
介绍一下最近一个项目,具体流程二面时候再讲就可以
数据库查询count高并发如何解决,说一下解决办法 思路即可
boot常用注解
mybatis的XML文件怎么配置
电商项目的日志文件怎么存储的
项目开发模块流程
maven常用命令,打包命令
liunx常用命令,docker常用命令,docker打包命令
Zookeeper可以干什么,作为注册中心怎么配置,
Linux常用命令,
项目中哪些使用到了多线程,
线程池大小怎么设置,线程池满了怎么办?
Mysql条件查询,字符串截取,如何递归取子节点,
mysql如何优化?
springcloud组件有哪些,gateway可以干什么,
项目中哪些用到了rabbitmq,
rabbitmq排队是怎么排的?
数据库中的表怎么导入到excel表格中
1.springboot的核心注解
2.开启事物控制的注解
3.springcloud alibaba 的组件
4.事物的传播特性
5.sql语句的执行计划如何查看
6.spring的理解
集合体系
vector线程是否安全
mybatis二级缓存
分布式锁如何实现
线程池原理
nacos服务注册原理
网络通讯
maven作用
docker常用命令
linux常用命令
git作用
spu sku
1.自我介绍
2.spring的ioc和aop怎么理解
3.Spring和SpringMVC有什么区别
4.Spring怎么整合Mybatis
5.对于github怎么做版本回退
6.Springboot有什么优点
7.idea对于maven的工程怎么打war
8.log4j怎么把日志存到固定文件夹
9.单点登陆流程
10.单点登陆redis中如果有token令牌怎么处理,如果没有怎么处理
11.HashMap的底层是怎么存储的
12.Ajax的跨域请求怎么写
13.怎么创建线程
自我介绍,
根据简历问问题,看过源码嘛?
如果不要你看Arraylist,能写出来里面的add,size一些方法的实现嘛
MySQL性能优化和分库分表概念
介绍下自己最值得提的项目
如果他看上了,会让你现场定下来,给的15k
介绍项目
介绍自己的模块
介绍模块的亮点
Linux基本命令
spring,ioc/aop
Linux上部署东西
docker的部署及概念
jvm内存结果
1.介绍公司
2.自我介绍
3.项目里常用的集合
4.怎么解决安全问题
5.多线程怎么创建
6.线程池参数
7.怎么加锁
8.mysql怎么优化,left join 、inner join、right join那个查询效率快
9.问项目
10.redis缓存雪崩解决方法
11.项目相关
12.离职原因
13上一家公司让你最印象深刻的事
14.上一个项目和你同组的有多少人
15.如果你们之间遇到了分歧,都认为自己正确你怎么办。
16.希望薪资
自己的评分30(啥也不会,多亏是腾讯会议。)
面试官的评分:80(我觉得态度很好,而且挺正式的)
1.口述单例模式的两种方式,哪种有安全问题,怎么解决?
2.spring和springboot核心注解,springboot核心注解组成。
3.spring事物的七种传播类型。
4.mysql事务隔离级别,分别解释一下。
5.spring cloud组件,feign和ribbon的区别。
6.怎么查看SQL语句的执行计划,怎么查看类型
那个项目用了springcloud
springcloud组件
springboot的核心注解
springboot @SpringBootApplication有哪三个注解组成
事务的隔离级别
redis在项目里怎么使用的?
spring常用的注解有哪些?
MySQL中分页的函数?
java代码中数组和集合用什么方法转换?
springmvc工作流程?
spring springbuilder springbuffer 三个有什么区别?
围绕项目,redis怎么用 为什么用redis
设计文档是你写的吗(我简历上写了负责模块设计与开发,建议大家不要这么写,说设计文档是组长写的)
项目组人数情况
1.自我介绍
2.学历专业,专业课,mysql 基础
3.er图,实体关系
4.在工作中最难的点是什么(技术方面)
自我评价:0(我啥都没答出来,是我太菜)
对方评价:60(态度挺好,就是感觉表情有点嘲讽)
朱辛庄国家知识产权局四号楼 (二面)
一、自我介绍和项目
二、商品详情接口
三、订单的接口,库存怎么减的、怎么防止超卖
四、生成订单的时候怎么处理等幂性问题
五、生成订单的时候,优惠卷这块是怎么做的
六、怎么实现的秒杀
七、如果不用rabbitmq使用多线程怎么实现秒杀
八、某件商品在打折时,不使用rabbitmq,使用多线程怎么做,如何保证线程的安全性(吐槽:这俩问题用的服务器得是什么成本)
九、订单表的的结构是怎么样的
十、mysql中怎么查询某一年的订单的(2列,12行的形式)
十一、mysql的join连接中,on和where的区别
十二、mysql的聚合函数有哪些
十三、springmvc的工作流程(后来他又改口说是springboot工作流程)
1. cas算法--------------------------------------------------------------
CAS [CompareAndSwap] 比较并交换,是一种实现并发算法时常用到的技术。是一种非阻塞算法实现,也是一种乐观锁技术,它能在不使用锁的情况下实现多线程安全,所以CAS也是一种无锁算法。CAS具体包括三个参数:当前内存值V、旧的预期值A、即将更新的值B,当且仅当预期值A和内存值V相同时,将内存值修改为B并返回true,否则什么都不做,并返回false。整个比较并交换的操作是原子操作。
缺点:1. 循环时间长、开销大。2. 只能保证一个共享变量的原子操作。 3. 存在ABA问题。
2. 集合体系,常用的集合--------------------------------------------------------------
面试题p31
2.1 List去重
(1)双重循环比较删除
for(int i =0;ii;j--){
if(list.get(i).equals(list.get(j)))
list.remove(j);
}
}
(2)利用hashset剔除重复元素
HashSet set = new HashSet(list);
//使用LinkedHashSet可以保证输入的顺序
//LinkedHashSet set2 = new LinkedHashSet(list);
list.clear();
list.addAll(set);
return list;
(3)利用list的contains方法去重
ArrayList tempList = new ArrayList(list.size());
for(int i=0;i
3. redis持久化--------------------------------------------------------------
面试题p67
3.1 redis哨兵模式简介
面试题p69
4. 介绍一下你最近做的项目-----------------------------------------------------------
5. 秒杀怎么控制入库数量-------------------------------------------------------------
把秒杀商品数量用redis的list存储,利用redis队列的原子性,保证不超卖。如果秒杀商品有n个库存,name我就循环往队列里存入n个队列数据,秒杀开始时,用户进入,就从队列里面出对,只要队列里有数据就说明有库存,队列空了说明商品售罄。
6. MySQL 表去重
distinct关键字
面试时间: 30分钟
1.自我介绍
2.各项目模块业务流程
3.全局过滤器怎么实现,网关怎么进行消息分发
4.SpringCloud用了哪些组件,Fegin怎么配置的
5.服务怎么注册到Eureka的
6.说一说Es,怎么用的
7.Sku怎么设计的,表怎么建的,表与表的关系是怎么样的
8.说一下Dubbo怎么用的,提供过服务吗,消费端怎么调用
9.jvm的内存结构,程序计数器在哪里,堆的结构讲一讲,GC垃圾回收机制
10.Stream流提供了哪些方法
11.用lamd表达式和stream流实现从 list
12.redis持久化具体说一说,项目中怎么用到的,redis集群部署需要那些东西
13.Linux操作系统命令
14.Mq在哪里用过,mq的机制说一下,mq怎么配置的
15.Http清楚吗?有哪些请求方法,区别,请求的后边都可以拼接数据吗
16.你还有什么问题吗?对自己做个评价
17.离职原因,学校,期望薪资。
总结:先看项目,在介绍业务流程时说用到技术,都会问你怎么实现,怎么配置,怎么使用,你还知道哪些,不限于电商。然后问前边列出的知识点。
自我感觉 :第一次面,有点紧张,有的知道但是没讲出来,一问怎么配置就懵
面试官印象 :态度很好,会给你讲一点你不会的
面试地点:北京市海淀区杏石口路甲18号航天信息园
笔试时间:一个多点小时
面试时间:四十多分钟
1.自我介绍
2.各项目模块业务流程
3.购物车怎么实现的
4、Redis的分布式锁 Redis的类型 Redis持久化 Redis 集群
5.jvm的内存结构 垃圾回收机制
6.mq的机制说一下,mq怎么配置的
7.SpringCloud用了哪些组件
8.mysql的join连接中,on和where的区别
9.订单的接口,库存怎么减的、怎么防止超卖
10.springmvc的工作流程
第一题
public class test {
public static void main(String[] args) {
A ab=new B();
ab=new B();
}
}
class A {
static {
System.out.println("1");
}
public A(){
System.out.println("2");
}
}
class B extends A{
static {
System.out.println("a");
}
public B(){
System.out.println("b");
}
}
第二题
指定一个文件和一个字符串,找出字符串在文件中出现的次数
public class CountTimes {
/**
* @param file
* @param find
* @return
* @throws Exception
*/
public int countWords(String file, String find) throws Exception {
int count = 0;
try {
Reader in = new FileReader(file);
int c;
while ((c = in.read()) != -1) {
char a = find.charAt(0);
while (c == a) {
for (int i = 1; i < find.length(); i++) {
c = in.read();
char b = find.charAt(i);
if (c != b) {
break;
}
if (i == find.length() - 1) {
count++;
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return count;
}
public static void main(String[] args) {
String file = "D:/report_data2.txt";
String find = "down";
CountTimes ct = new CountTimes();
try {
int n = ct.countWords(file, find);
System.out.println(n);
} catch (Exception e) {
e.printStackTrace();
}
}
}
第三题,map,set,list是否都实现了collection集合?有什么区别?
第四题,冒泡算法
第五题,手写一个单例
第六题,启动一个线程是调用run方法还是start方法
1.自我介绍
2.redis的过期时间,底层是怎么实现的,让你设计怎么设计
3.线程的创建参数,线程池里核心满了放哪,队列满了放哪,最大满了怎么整
4.sql怎么优化
5.explain怎么看
6.redis里的索引的类型
7.异步编排怎么保证所有都能执行完
8.给你两个有序数组合并成一个数组,最优的办法,并算出时间复习度
面试时间:30分钟
1.自我介绍
2.介绍一下秒杀
3.介绍一下非公平锁
4.lock和synchornized的区别
5.秒杀除了用过list还用过什么思路
6.你们用rabbitmq做过什么
等等
简历上写的什么问你什么
1-负责的业务流程
2-jvm模型
3-map底层
4-springcloud的了解
!!!他家是做索引的es优先,说我没有业务亮点,可以着重讲一下秒杀
1.Springmvc注解
2.Redis数据类型
3.linux常用命令
4.nacos的服务注册与发现开启注解,配置中心开启注解
5.rabbitmq的消息模型
6.vue的控件
7.sql写的多吗,比如
8.nginx的负载均衡策论
9.mybatis的标签
1自我介绍
2.介绍项目,你认为你项目亮点是什么
3.详情的商品价格为什么单独放在数据库
4.redis数据类型
5.mysql索引类型
6.nginx的负载均衡策略
7.cloud都用过什么
8.Fegin你是怎么用的
.....
1.自我介绍
2.mybatisplus好在哪?
3.redis数据类型
4.SpringCloud用到了 哪些组件?
5.分布式锁是怎么实现的?
6.linux的常用命令?
7.feign你是怎么用的?
8.getway和nginx也问了一下。
9.你对咱们公司还有什么想了解的?
。。。其他的没记住(一些基础的问题,也都比较简单),腾讯会议录不了音。
问一堆项目,按照我介绍的内容延伸(rabbitmq,异步编排,分布式锁,项目周期,他觉得七个月有点久)
其他
mysql查询记录,怎么查,让结果不包含重复记录
一个字符串怎么去掉重复的字母,怎么记录出现的次数
mysql分组查询
mysql索引
用过线程池吗
常用哪些集合,用过并发集合吗
有哪些数据结构
jvm垃圾回收算法
什么是反向代理
什么是负载均衡
linux常用命令
查看端口的命令
启动nginx的命令
生产环境下怎么访问后台接口
怎么保证redis和数据库的数据一致性
用过多线程吗,线程数量和队列都满了怎么办
mq,es
linux命令,安装过什么
1.string不能被继承
2.stringbuffer和stringbuiler区别
3.arraylist底层,hashmap底层,扩容机制
4.jvm运行时分哪几个区,new对象在哪,引用在哪,回收机制,程序计数器是干什么的
5.线程池的创建方式,原理,参数,双亲委派机制
6.java类加载的过程
7.mysql的事务隔离级别,4个都是怎么回事
8.查询一个数据比较慢,从哪几个方面分析解决
9.mysql的优化
10.mybatis底层
11.redis缓存穿透雪崩击穿
12.es是什么
13.springcloud用过什么组件
....
自我介绍
介绍最熟悉的模块
秒杀的高并发是多少,怎么控制的
项目上线了么
redis集群怎么搭建的
哨兵模式是什么
什么是es,在项目中哪里用到了
在商品详情页怎么使用的多线程
为什么要使用多线程
为什么离职,以前的公司多少人,几个小组
问上家公司问的比较细,一边查一边问
腾讯会议面试
1自我介绍
2介绍模块
3redis的几种类型
4单点登录
5解决跨越问题
6springcloud的组件
7异步编排
8线程池
1.聊一下你过往的公司,这家做什么?
2.你在那边主要做的什么项目了?
3.聊聊旅游的项目?
4.大学什么专业?
5.你在项目中做了什么角色?
6.你们的架构是用什么做的?
7.你在那里住?
8.你对加班有什么看法?
9.详情模块有没有做静态化,怎么做的,具体的流程?
10.异步编排怎么编排,实现了什么效果,为啥会用异步编排(使用异步编排的目的)?
11.商品搜索怎么用的ES,讲解一下流程?
12.数据量有多大?
13.讲解一下购物车的流程?
14.未登录和已登录是如何转换的(合并购物车)?
15.最终的数据落入到数据库了吗?
16.分布式锁如何实现的,什么情况下使用分布式锁?
17远程调用feign是怎么调用的?
18.MySQL用的什么版本?慢查询怎么检查?如何进行优化?
19InnoDB和MyISAM的区别?
20..MVCC并发锁控制?
21.Spring的AOP怎么使用的,哪里用到了它,干了什么?
22.AOP的原理?
23.JVM中如果有OOM你去怎么处理?
24.SQL的优化?
25.为什么不能使用<>,使用!=可以吗?
26.联合索引你有了解使用过吗?
1.自我介绍
2.介绍项目 负责的模块有哪些
3.购物车是怎么实现的
4.SpringCloud都用了那些组件
5.你们的服务当时是怎么发现与注册的
6.Gateway网关是用来干什么的
7.Spring SpringMVC SpringBoot的区别
8.Spring SpringMVC都属于什么框架
9.说一下IOC和AOP 有自己手写过AOP嘛
10.SpringBoot的常用注解有哪些 SpringBoot的配置文件分为那两个
11.MySQL索引用过哪些 作用
12.在项目中用过乐观锁和悲观锁? 分别是怎么实现的
13.MQ是自己搭的嘛 当时项目中配置是自己配的嘛 都用到了那些业务场景
14.MQ怎么保证消息不被重复消费 消息持久话的原理有了解过吗
15.Redis的五种数据类型 有用过Redis的锁嘛 Redis的监听机制呢
16.Redis的缓存击穿和雪崩
17.Redis在电商项目中都用在哪些方面
18.说一下什么是JVM JVM的主要组成部分
19.Git的常用命令
20.Nginx的反向代理和流程是什么
21.项目有用过线程嘛 说一下进程和线程的区别
22.MyBatis属于什么框架 两种取值方式
23.==和equls的区别
24.String的常用方法有哪些
25.String StringBuffer和StringBuilder的区别
26.Final和Finally的区别 try——catch try中写的什么
27.Map的遍历方式那有些
28.Map List Set 的区别 List主要用来存储那些?
29.ArrayList和LinkedList区别 Array和ArrayList的区别
30.觉得自己的优势在哪
31.介绍一下你觉得自己最熟悉的业务
面试地点:北京市信托大厦3层
面试题:
1自我介绍
2.做过支付吗
3.项目流程
4.线程池7参数
5.缓存击穿与解决方案
6.input框不可编辑用什么属性
7.linux切换用户命令
8.项目上线了嘛
9.查过生产环境的问题嘛
10.订单表里面的主键怎么生成的?有几位?
11.项目用了多少张表
12.做权限认证用了几张表,哪几张?
13.项目用了几台服务器?
14.遇到过session丢失的情况嘛?
15.redis用了几台服务器
16.从redis中获取值,如果服务器没启动起来,报什么错?
17.对接支付服务是什么意思?
18.项目中有优惠活动嘛?
19.优惠券模块怎么实现的?
20.项目做了多久时间?
21.测试谁测的?
22.开发小组多少人?
23.你做项目是只关注自己的模块嘛?
24.开发中自己创建过表嘛?
25.建表有什么注意事项?
26.一张表大概需要哪些固定的字段?
27.有使用过加密解密的技术嘛?
28.你觉得笔试题很难嘛?
29.叙述一个笔试题中的简答题
30.大学哪上的,什么专业,校长是谁?
31.上家公司在哪?
32.能干支付嘛?
33.你为什么总不做核心业务呢?
34.学历问题
35.总分100给自己打分
对于本场面试自己的感受:8成的问题都触及到了知识盲区,全靠蒙
给自己打个分:30
对于面试官的评价:100