Java开发工程师
约 633 字大约 2 分钟
Java开发工程师
岗位年限:
不限
面试时间:
2024.8.27 14:30
面试方式:
线上面试
面试问题:
序号 | 问题 | 解答 | 备注 |
---|---|---|---|
1 | http协议是什么?除了用于网页还能用于什么? | 超文本传输协议,没答上来 | |
2 | tcp协议是什么?你知道tcp哪些内容? | 传输控制协议,三次握手 | |
3 | DDL、DML是什么?select是DDL还是DML? | 数据库定义、数据库操作、DML | |
4 | spring的两大核心部件? | AOP | |
5 | redis你用过什么模式? | 单节点模式 | |
6 | 主备模式是什么? | 应该就是主从模式,没反应过来 | |
7 | 索引都有哪些? | 主键索引,普通索引,唯一索引 | |
8 | 假如有一个字段name,%name,name%,%name%,哪一个更适合做索引? | 没听懂 | |
9 | 索引的数据结构? | hash索引、B+树索引 | |
10 | hash索引和B+树索引有什么区别? | hash索引不支持范围查询, B+树索引支持范围查询和操作排序。 | |
11 | springboot是什么?为什么用springboot? | springboot是一个基于spring的流行框架,提供约定优于配置的方式简化新应用程序的设置和开发过程,使得构建独立、生产级的 Spring 应用变得更加简洁和高效。 | |
12 | Javaweb 最核心的设计模式是什么? | 没答上来 | |
13 | spring核心功能? | IOC、AOP | |
14 | 什么是IOC? | 控制反转,就是由 Spring 来负责控制对象的生命周期和对象间的关系。 | |
15 | 如何创建bean对象? | @Component、@Service | |
16 | java里的参数传递有哪些方式? | 值传递、引用传递 | |
17 | 用的什么数据库,为什么选择MySQL,MySQL有什么好处? | MySQL,没答上来 | |
18 | 什么是聚簇索引? | 索引的键值的逻辑顺序与表中相应行的物理顺序一致。 |
// 给你一棵二叉树的根节点 root ,请你返回层数最深的叶子节点的和。
//输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
//输出:15
//输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
//输出:19
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
Map<Integer, Integer> map = new HashMap<>();
int max;
public int deepestLeavesSum(TreeNode root) {
dfs(root, 0);
int result = map.get(max);
return result;
}
public void dfs(TreeNode node, int depth) {
if (node == null) {
return;
}
max = Math.max(max, depth);
map.put(depth, map.getOrDefault(depth, 0) + node.val);
dfs(node.left, depth + 1);
dfs(node.right, depth + 1);
}
}