2020Java后端开发面试

一、2020/11/05 公司:

1、初试(过了)

1)、笔试题
  • 笔试题:给了5个SQL的查询语句的题(基本上都写出来,就是稍微有点问题,主要是SQL语句写的比较少,以后还需要加强)
2)、面试题
  • Spring(IOC,AOP)、SpringMVC(MVC的执行流程)、SpringBoot(主要的用途)他们是做什么的?
  • JVM的组成部分?
  • New一个新的对象,在堆区是如何存储的(考虑多种情况)
  • 机器学习算法中的线性回归和逻辑回归是怎么做的?
3)、总结
  • SQL语句写的不是太准确,多少还是有点问题的,
  • Java基础方面还是可以的。

二、2020/11/05 公司:

1、初试

1)、面试题
  • 15/22=5(/的优先级高于的,先做/,在做^,15/2,不管是7.5,7.6,都是向下取整,在做按位异或)
  • final修饰类,变量,方法,不能修饰构造函数
  • 拦截器,过滤器,SpringAOP怎么实现的?举几个应用场景?
  • 消息队列常见的有哪些,有什么区别?为什么要用消息队列?
  • 给了一个数据库业务的设计题:建表和查询语句
  • Java8的流函数的一个简单应用和对一个ArrayList数据的遍历输出
public static List<String> test2(){
        ArrayList<String> strings = new ArrayList<String>();
        strings.add("ASDD");
        strings.add("DEFR");
        strings.add("ERTY");
        strings.add("GHYU");

//        使用流函数过滤掉含有“Y"的字符串
        List<String> y = strings.stream().filter((item) -> {
            if (!item.contains("Y")) {
                return item;
            }
        }).collect(Collectors.toList());
        return y;
        
//        遍历输出
        for (String item:strings){
            System.out.println(item);
        }
    }
  • finally{}语句块中的return
public static int test1(){
    int i=10;
    try {
        return i;
    }finally {
        i=20;
        return i;
    }
}
  • 基本类型
byte ab=127;
//        byte ac=128;   byte的范围是-128 ~ 127
        
        char ad='a';
//        char ae="a";   char只能放一个字符,并且只能是单引号
//        char af='as';
  • 一个线程题,怎么才能输出指定的值,根据指定位置插入的程序?(wait()、join()、notify()、之类的)
2)、面试题
  • java的基本类型有哪些?(8种)
  • JVM的组成,那部分是不会报OutOfMemoryError(程序计数器)
  • RabbitMQ的简单介绍,实际开发场景中有没有用到(解耦,异步,削峰)
  • Liunx常用的命令?在里面是怎么查看日志的
  • 前端Js是如何得到标签里面的内容的getElementByID(获取到id的对象)、getElementByName(得到列表)、getElementByTagName(得到列表)
  • 使用Java读取一个文件,在控制台输出
  • mysql用到什么优化?
  • JVM有什么调优技巧?
  • 表单的前后端校验是怎么做的?
  • Nacos是用来做什么的?里面的配置中心和注册中心是做什么的?怎么用?用了有什么好处?
  • 机器学习算法中有哪几个自己觉得比较好的算法?
  • 项目是怎么做的?前后端的代码是自己写的吗?熟悉VUE和JS吗?
  • 平时都是自己怎么学习新技术的
  • 在SQL语句中什么函数和破坏索引(不能使用索引)
3)、总结
  • java的基础有些还是掌握的不好
  • java的拦截器,过滤器也没怎么接触过
  • mysql的设计和优化做的很一般
  • JVM的调优不怎么会
  • 前端的基础很一般
  • 后端的中间件也不怎么会用
  • 项目说的也不是太好
  • Liunx相关的知识也很一般

三、2020/11/06公司:

1、初试

1)、笔试题
  • Java的四大特性
  • JSP的内置对象
  • Java的基本类型有哪些
  • java的修饰物
  • 拦截器,过滤器、SpringAOP是什么,有什么不同?
2)、面试题
  • String的赋值:
String a="ab";
        a="cd";
        System.out.println("a:"+a);

//        output:a:cd
  • AOP可以在什么地方应用到,具体如何实现?
  • AOP应用到事务如何去实现?
  • 事物的传播行为有哪些?
  • 事务的隔离级别有哪些?这些隔离级别能解决什么问题?
  • session和cookis的区别?
  • 登陆页面怎么实现?
  • 微服务是什么?和分布式有什么区别?
  • 同步和异步的区别?
  • final关键字的用途
  • static的作用?(static修饰的构造函数,不能被实例化)
  • GET和POST的区别?

四、2020/11/9 公司:万贸科技(复试过了)

1、复试

1)、面试题
  • 数据库表之间有哪些关系(一开始有点蒙,就知道是主表和从表,面试官提了下才想起来是三种,一对一,一对多,多对多)然后这三种关系是怎么实现的?
  • Nacos是做什么的?怎么用的?
  • 同源策略?