一面,大概五十多分钟。
自我介绍
之前实习做的是xx,实验室的方向是xx,为什么想来做后台开发?
最擅长的编程语言是什么?
答:Java。
Java的集合介绍一下?
答:list(ArrayList、LinkedList、Vector)、set(HashSet、TreeSet)、map(HashMap、LinkedHashMap、hashtable)。
Set怎么判断是否有重复的?
答:根据hashcode()和equals方法()…….
为什么需要hashcode()方法?
Final关键字介绍一下基本用法?
答:修饰类、方法、变量……
重载和重写的区别?
答:重载是一个类里面有多个名称相同但是参数列表不同的方法,重写是子类中对父类中的方法进行重新编写….
几种创建线程的方法?有什么区别?
答:四种,继承Thread类,实现Runnable接口,实现Callable接口,线程池。
线程有几种状态?
答:五种,创建、就绪、运行、阻塞、死亡….
数据库用的什么?
答:MySQL。
解释一下事务是什么?
答:事务是数据库执行业务的最小单位,是一个操作序列,构成事务的所有操作要么全都成功执行,要么全都撤回,不管事务是否执行成功,数据库总能保持一致性状态…..
解释一下什么是ACID特性?
答:原子性、一致性、持久性、隔离性……
有两个表:
员工表:t1:id, name, pid(主管的id);
工资表:s1:id, salary。
找到比主管工资高的员工的name?
力扣题目链接:https://leetcode-cn.com/problems/employees-earning-more-than-their-managers/ 。
个人思路:用cross join交叉连接(笛卡尔积)。
1 | select ts1.name |
有一个Double数组,所有元素都是正数,求连续子数组最大乘积?
如果数组里面有负数和0呢?说一下思路不用写代码。
力扣题目链接:https://leetcode-cn.com/problems/maximum-product-subarray/