栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

BIGO Java 三面 + HR 面面经(已意向),阿里+头条+抖音+百度+蚂蚁+京东面经

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

BIGO Java 三面 + HR 面面经(已意向),阿里+头条+抖音+百度+蚂蚁+京东面经

  • 分析最差最好时间复杂度

10.8 17:30 二面

=============

实习:

  • 实习做了什么

  • 介绍实习的项目

项目:

  • 介绍项目

  • 怎么实现 IOC 的

  • 怎么管理 Bean 的

  • 一个请求进入,是怎么运作的

  • Shiro 怎么集成的

  • 怎么解决循环依赖的情况

  • 做了这个

项目的收获

Redis:

  • Redis 的数据结构有哪些?使用场景?(尬住了,只知道 sorted set 的场景)

  • 场景题:记录活跃用户

Spring Cloud:

  • 核心组件有哪些以及对应的功能

Netty:

  • Netty 的线程模型

算法:

LC 515 在每个树行中找最大值

在上面题目基础上,修改条件(奇数最大,偶数最小)(也是尴尬现场,定义了 flag 变量,忘记更新了)

public List largestValues(TreeNode root){

List res = new ArrayList<>();

Queue queue = new linkedList<>();

if (root != null){

queue.offer(root);

}

boolean flag = false;

while (!queue.isEmpty()){

int cur = 0;

if (flag){

int cur_size = queue.size();

cur = Integer.MIN_VALUE;

for (int i = 0;i < cur_size;i++){

TreeNode x = queue.poll();

cur = Math.max(cur,x.value);

if (x.left != null){

queue.offer(x.left);

}

if (x.right!= null){

queue.offer(x.right);

}

}

}else {

int cur_size = queue.size();

cur = Integer.MAX_VALUE;

for (int i = 0;i < cur_size;i++){

TreeNode x = queue.poll();

cur = Math.min(cur,x.value);

if (x.left != null){

queue.offer(x.left);

}

if (x.right!= null){

queue.offer(x.right);

}

}

}

res.add(cur);

flag = !flag;

}

return res;

}

10.20 17:30 三面

==============

实习:

  • 介绍实习的项目

  • 实习做了什么

  • 实习遇到的困难,怎么解决的

  • 实习的收获

算法:

剑指42 连续子数组最大和

  • 动态规划

  • 二分递归

在上面题目基础上,修改条件(输出子数组,不单单是最大值)

public static void main(String[] args) {

int[] nums = {0,2,3,4,-2,-3,9,

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

11};

System.out.println(maxSubArr(nums));

}

public static List maxSubArr(int[] nums){

if (nums == null || nums.length == 0){

return new ArrayList<>();

}

int[][] dp = new int[nums.length][2];

for (int i = 0;i < nums.length;i++){

dp[i][1] = i;

}

dp[0][0] = nums[0];

int max = dp[0][0];

int start = 0;

int end = 0;

for (int i = 1;i < dp.length;i++){

if (dp[i - 1][0] > 0){

dp[i][0] = dp[i - 1][0] + nums[i];

dp[i][1] = dp[i - 1][1];

}else {

dp[i][0] = nums[i];

dp[i][1] = i;

}

max = Math.max(dp[i][0],max);

if (max == dp[i][0]){

start = dp[i][1];

end = i;

}

}

List res = new ArrayList<>();

for (int i = start;i <= end;i++){

res.add(nums[i]);

}

return res;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463056.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号