BIGO Java 三面 + HR 面面经(已意向)
2021/10/29 14:11:09
本文主要是介绍BIGO Java 三面 + HR 面面经(已意向),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
9.30 14:30 一面
实习:
- 实习做了什么
- 介绍实习的项目
数据结构:
- 有哪些数据结构
链表和数组的区别- 跳表的原理和插入过程
- 场景题:有很多数据,各自具有依赖关系,采用什么数据结构存储
计网:
- 三次握手和四次挥手的过程
设计模式:
- 工厂模式的设计思路,优缺点
JVM:
- 四种引用
- 场景题:如果是一个服务器用于存储数据,然后里面有一些数据是热点数组,需要缓存,用哪种引用
Java:
- 面向对象和面向过程的区别
- 接口和抽象类的区别
- 多态的分类
- 异常体系
- finally 的作用
- 如果在 finally 块中有 return 语句,发生异常会执行吗?不发生呢?
- ArrayList 的扩容过程
- 非线程安全的集合怎么改为线程安全
算法:
LC 21 合并有序链表
- 分析最差最好时间复杂度
10.8 17:30 二面
实习:
- 实习做了什么
- 介绍实习的项目
项目:
- 介绍项目
- 怎么实现 IOC 的
- 怎么管理 Bean 的
- 一个请求进入,是怎么运作的
- Shiro 怎么集成的
- 怎么解决循环依赖的情况
- 做了这个
项目的收获
Redis:
- Redis 的数据结构有哪些?使用场景?(尬住了,只知道 sorted set 的场景)
- 场景题:记录活跃用户
Spring Cloud:
- 核心组件有哪些以及对应的功能
Netty:
- Netty 的线程模型
算法:
LC 515 在每个树行中找最大值
在上面题目基础上,修改条件(奇数最大,偶数最小)(也是尴尬现场,定义了 flag 变量,忘记更新了)
public List<Integer> largestValues(TreeNode root){ List<Integer> res = new ArrayList<>(); Queue<TreeNode> 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,11}; System.out.println(maxSubArr(nums)); } public static List<Integer> 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<Integer> res = new ArrayList<>(); for (int i = start;i <= end;i++){ res.add(nums[i]); } return res; }
闲聊:
- 对于博客的想法
- 对于新技术的想法
- 如何学习一个新的技术
- 未来规划
- 怎么协调工作与学习
10.25 20:00 HR 面
项目做了什么,有什么收获- 对于前面面试官的看法
- 对于
BIGO 的一个了解 - 对于 YY 和 BIGO 的一个区别了解
- 实习做了什么,有什么收获(这个时候才发现 BIGO 投递简历的时候没有加上实习的内容,我就说怎么面试官听到我说实习的时候问的不是具体的东西)
- 对于企业更加看重的是什么
- 对于薪资的一个要求
- 手上有其他 offer 或者在流程中的吗
10.28 下午收到意向书
面试手册:
最近频繁面试,把面试官们问我的题目都汇总整理成了一份PDF的文档,内容覆盖了Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等,如下图:
以上资料已经打包好上传到百度云了,大家自行下载即可:
PDF文档下载:
链接: https://pan.baidu.com/s/1V7bVck1Q6jxjQaoa_deoYg
提取码: 77f5
百度云链接不稳定,随时可能失效~
如果百度云链接失效了的话,请关注博主的微信公众号:Java团长,发送“ 文档 ”也可获取哈~
这篇关于BIGO Java 三面 + HR 面面经(已意向)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-07如何利用看板工具优化品牌内容创作与审批,确保按时发布?
- 2025-01-07百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
- 2025-01-07质量检测标准严苛,这 6 款办公软件达标了吗?
- 2025-01-07提升品牌活动管理的效率:看板工具助力品牌活动日历的可视化管理
- 2025-01-07宠物商场的精准营销秘籍:揭秘看板软件的力量
- 2025-01-07“30了,资深骑手” | 程序员能有什么好出路?
- 2025-01-07宠物公园的营销秘籍:看板软件如何帮你精准触达目标客户?
- 2025-01-07从任务分解到资源优化:甘特图工具全解析
- 2025-01-07企业升级必备指南:从传统办公软件到SaaS工具的转型攻略
- 2025-01-07一文告诉你IT项目管理如何做到高效