第一次面试
1.springcloud的版本,对Springcloud的理解。(暂时不会)
2.Stringbuilder和Stringbuffer的区别。
字符串变量,stringbuffer线程安全。
3.redis缓存穿透。
缓存空数据,或者手写布隆过滤器。
4.根据性别分组统计。
group by
5.统计年龄在13 14 15。
betwennt 13 and 15
in (13,14,15)
6.redis挂了。
1 尽量集群
2 持久化
3 缓存大量穿透
7.微信小程序登录流程。、
前端给code,后端到微信api获取openId,存入到表,
将accessToken存到redis并返给前段。
第二次面试
笔试
1.手写for循环,获得0到100之间的偶数和、奇数和。
int sum1 = 0;
int sum2 = 0;
for(int i = 1; i < 100 ;i++){
if(i % 2 == 0){
sum1 = sum1+i;
}else{
sum2 = sum2+i;
}
}
2.一条sql查询出所有分数都大于80的name。
select distinct s1.name from student s1
where not exists
(select
s2.name from student s2
where s1.name = s2.name and score <= 80 )
3.删除除了自增id,其余都相同的数据。
delete from Student
where id not in
(select * from
(select min(id) from Student group by name,score )temp)
)
4.linux打开txt,并跳到100行。
vi txt
:100
5.如何定义接口。
Interfact 接口名称 [extends 父接口名称]{
public static final 变量名称;//全局常量
public abstract 方法名称;//抽象方法
}
第三次面试
笔试
数据库
1.下列定义结构的语句是:create;delete;insert;select;
create
2.写一个sql查看所有faciity的使用情况(超纲,题目都看不太懂。。)
3.写一段在mysql下删除重复记录的sql(记录完全相同才算重复)
delete from table
where id not in
(select * from (
(
select min(id) from table group by column),temp
))
java笔试题
1.String a = “a”;String ab = “ab”;int i = 100;boolean b1 = a==“a”;boolean b2 = “a”+“b”;boolean b3= i==100;写出b1,b2,b3的结果,并简述一下;
b1:true; 内容比较,“a” ==“a”;
b2:false;地址值比较,不同对象,地址值一定不同;
b3:true;值比较,100==100;
2.简述ArrayList和LinkedList的结构和特点。
ArrayList:底层是数组结构,增删慢,查找快。
LinkedList:底层是链表结构,增删快,查找慢。
3.简述SpringMvc中使用的设计模式及在SpringMvc的应用场景。(一两个即可)
设计模式:
工厂模式:BeanFactory;
动态代理模式:ioc控制反转。
应用场景:
web项目:三层架构
4.简述高并发下的优化方案。
1.缓存数据;
2.集群;
3.mq;
5.编写消费者和生产者的代码。(暂时写不来)
6.编号中0的值与哪些编号的值相等?
class Main {
public static void main(String[] args) {
Object obj = new Object();
System.out.println(“0”+obj);
Main m = new Main();
m.convert(obj);
System.out.println(“3”+obj);
}
public void convert(Object obj){
System.out.println(“1”+obj);
obj = new Object();
System.out.println(“2”+obj);
}
}
与1,3相等,
1和0是同一个对象,所以地址值相同。
2中的obj是一个新对象,会有新的地址值,所有不相等。
新对象修改的obj是方法里的参数,修改不影响原先变量。
逻辑题目
红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉 P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗? 于是,S先生听到如下的对话:P先生:我不知道这张牌。Q先生:我知道你不知道这张牌。P先生:现在我知道这张牌了。Q先生:我也知道了。听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌?
"我不知道":说明该点数的花色有重复。得到红桃AQ4,黑桃4,草花Q,方块A5。
"我知道你不知道":说明该花色全部都是重复牌。得到红桃AQ4,方块A5。
"现在我知道这张牌了":说明牌不是A。
"我也知道了":说明这个花色就两张牌。
所以是方块5。