华为公共开发部Java开发面经

一面 40min

项目相关

你有很多线程(大于1000),但是你只有16个内核线程,这有什么问题吗?

(线程切换带来的消耗)

泛型是用来做什么的?

用过泛型吗?稍微讲讲

线程池的核心线程满了以后什么情况下会新增线程

线程安全的集合

用过什么设计模式?

ThreadLocal介绍一下

我看你用过Springboot,SpringBoot的Bean怎么加载?(完全没有复习

有用过数据库吗?(直接答没怎么用过

算法题:给定一个数组gropuSize = [1,3,3,3,3,3,3];

groupSize[i]=size, 表示i从属与一个size为3的group,打印出一个可能的组

[0],[1,2,3,],[4,5,6];

思路:HashMap+一次遍历。

本来觉得一面回答的不好,感觉可能没机会,没想到居然过了,觉得很走运。

二面 1h30min

项目相关

HashMap的内部结构

HashMap怎么实现O(1)的数据查找?

HashMap求index怎么取模呢?(答位运算,n - 1 & hash, n为hashMap容量)

Java有哪几种锁?

讲一下读写锁

synchronized和读写锁有什么区别?

volatile怎么实现原子操作(答volatile的内存语义

CAS又是怎么实现原子操作的呢?

AutomicInteger的原子自增怎么实现的

我看你用过Springboot,讲一下对象加载(实在没复习到)

说一下序列化和反序列化

为什么不存储二进制信息而是存储对象信息?有什么好处?

用过什么设计模式吗?

讲一下开闭原则

用过UML吗?说一下继承、组合、聚合

多线程中如何实现先完成几个线程在继续工作?(答CountDownLatch

还有呢?(Thread.join)

用过数据库吗?讲一下数据库中的索引

为什么用索引很快?

说一下死锁

如何检测死锁?(答环路检测

实际开发中怎么发现死锁呢?

算法题:

1.对于一个String,存在字母,+/-,数字,求出第一个整数,整数不会溢出。

条件判断+遍历

2.在上一题的基础上,求出所有整数,整数会溢出。

使用StringBuilder存储整数

3.在上一题的基础上,求出所有整数之和。

有两种情况,同符合相加,不同符号相加。

同符号比较简单,逆序遍历+进位信息。

异符号其实也类似,逆序遍历+借位信息。(可惜时间不够,只给面试官讲了思路)

最后使用归并求和。

二面结束很快就通知二面通过了,今天的面试官人都很好,给我的感觉非常不错,这也是最近面试进度最好的了。希望后天的主管面也能通过,许愿OC。

#华为##面经##java工程师#
全部评论
为什么不存储二进制信息而是存储对象信息?有什么好处? 这是啥意思哇
点赞
送花
回复
分享
发布于 2021-09-16 20:52
lz投的哪个城市的?
点赞
送花
回复
分享
发布于 2021-09-17 16:14
秋招专场
校招火热招聘中
官网直投
同18号主管面,共同许愿
点赞
送花
回复
分享
发布于 2021-09-17 16:52
粤港澳地区的同学欢迎来我这,一样的公共开发部,一样好的面试官 联系方式:15012592693  (微信同号),注明来自牛客网 目前岗位空缺比较大,其他部门没通过的也欢迎来我们部门试一下
点赞
送花
回复
分享
发布于 2021-09-17 17:13
楼主是投的通用软件开发吗?为什么我一面1h,二面30min呀😥
点赞
送花
回复
分享
发布于 2021-09-20 15:14

相关推荐

查看36道真题和解析 软件开发2024笔面经
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
05-11 18:19
1. 简述多态实现的原理。2. 链表和数组有什么区别?3. 简述队列和栈的异同。4. &&和&、||和|有什么区别?5. C++的引用和C语言的指针有什么区别?6. typedef和define有什么区别?7. 关键字const是什么?8. static有什么作用?9. extern有什么作用?10. 流操作符重载为什么返回引用?11. 简述指针常量与常量指针的区别。12. 如何避免"野指针"?13. 常引用有什么作用?14. 构造函数能否为虚函数?15. 关键字volatile有什么含意(举例说明)?16. 程序什么时候应该使用线程,什么时候单线程效率高?17. Linux有内核级线程吗?18. C++中什么数据分配在栈或堆中,new分配数据是在近堆还是远堆中?19. 使用线程是如何防止出现大的波峰?20. 函数模板与类模板有什么区别?21. 动态连接库的两种方式?22. 什么是平衡二叉树?23. 冒泡排序算法的时间复杂度是什么?24. C和C++中的struct有什么不同?25. 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。26. 不能做switch()的参数类型是?27. 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?28. 8086是多少位的系统?在数据总线上是怎么实现的?29. 局部变量能否和全局变量重名?30. 结构传递和返回是如何实现的?为什么sizeof返回的值大于结构大小的期望值,是不是尾部都有填充?答案在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
点赞 评论 收藏
转发
3 30 评论
分享
牛客网
牛客企业服务