Java面试很好,共1轮面试一面 总结问了好多问题没有答上来,要求仔细了解spring和mybatis有关的基础知识。面试官态度很好,对于他提的问题,我回答不上来没有做出解释和说明。 基本上都是针对简历上的东西进行提问的。 提问1. SpringBoot和Mybatis问了怎么写mybatis的配置文件,在项目开始之前要写什么到里面:2. 一些注解的作用比如@autowired和@resource的区别:3. autowired和resource注解的区别SpringBoot和Mybatis构建项目的后端流程:Controller--->Service--->Mapper4. #与$的区别: #{}传输的是字符串可以防止SQL语句的注入风险(字符拼接), 而${}传的是值无法防止SQL注入5. MySQL三大范式:1NF:原子性; 2NF:必须保证有主键,并且非主键都要完全依赖于主键,不能只依赖主键中的一部分; 3NF: 非主键必须直接依赖主键, 不能存在传递依赖;6. 如何在数据库中实现分页: 使用limit关键字7. 说说对String类的了解, String s = "xxx" 和 String s = new String("xxx")的区别, 如果用==判断的结果我的回答: 回答了一些构造器和常用方法, 判断结果应该是false, 因为前者会在字符常量池中, 后者new出来的在堆中, 地址不一样, 所以是false, 一般用equals来判断.8.说一下你对集合类的了解:9. 说一下你对HashMap的了解:10. 那些集合是线程安全的:Vector、HashTable、Properties是线程安全的; ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是线程不安全的。11. Lambda表达式怎么使用,条件是什么,说一说你都用过那些工具类,聊一聊,用过Stream类吗:12. 创建线程的方式:13. 线程有那些状态,怎么设置优先级:14. Git使用过吗?回滚是怎样的:15. Linux使用过Liunx吗,基本命令知道吗?如果我要修改一个文件怎么做:知道一些基本的命令,知道修改文件权限的命令chmod之类的;用vim打开那个文件,然后使用H,J,K,L移动到要修改的位置,然后按i,修改完后,按esc键进入命令模式输入:wq保存并退出。16. 如果我在liunx有个程序关闭了,但是线程还在执行怎么关闭:用ps -l查出这个线程的PID,然后用kill PID杀死这个线程。
1轮面试:视频面试
面试感受:很好;面试难度:普通难度;面试来源:其他平台