7.19美团移动端提前批一面面经(53min)
自我介绍
项目
方法参数传个数组,方法体中修改数组元素会影响原来的数组吗?(值传递)
你了解的集合容器有哪些?
描述一下集合的继承实现关系
数组和链表的区别,分别适用于什么场景
list扩容机制
hashmap底层,1.7 1.8区别
hashcode和equals方法的区别
hashcode具体怎么实现
tcp udp区别
http状态码
osi七层模型,每层的功能
三次握手的目的
算法题:二叉树的最近公共祖先
class Solution {
TreeNode ans = null;//全局变量记录结果
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
dfs(root, p, q);
return ans;
}
public boolean dfs(TreeNode root, TreeNode p, TreeNode q){//深度优先 自底向上
if(root == null) return false;
boolean leftNode = dfs(root.left, p, q);//左子树是p或q的祖先吗
boolean rightNode = dfs(root.right, p, q);//右子树是p或q的祖先吗
//如果满足上述的复杂条件 找到了 赋给ans
if((leftNode && rightNode) || (root.val == p.val || root.val == q.val) && (leftNode || rightNode)){
ans = root;
}
//当前节点的左/右子数是p/q的足下 或 当前节点是p/q?是的话返回true
return leftNode || rightNode || root.val == p.val || root.val == q.val;
}
}

海康威视公司福利 1160人发布
查看12道真题和解析