当前位置: 首页 > 面试经验 >

华为终端bg Java后端开发实习一面

优质
小牛编辑
77浏览
2024-05-19

华为终端bg Java后端开发实习一面

#软件开发2024笔面经##华为##暑期实习#
base:北京
5.20一面,当天下午约了二面,主管面约到了明天
反正自己有offer了也是面着玩,进池子里泡着快乐玩耍
1.自我介绍
2.我看你去年拿到了华为GTS秋招offer,你怎么不去
我去年秋招试水一下面试,但明年才毕业,所以接不了offer
2.那来聊聊你的项目吧,你里面写了你保证了接口的可扩展性,你知道哪些方式可以保证接口可扩展性呢?
开闭原则,只继承不修改类
3.那你知道继承和接口的区别吗?什么时候需要用到继承,什么时候用到接口呢?
二方包的时候用接口,从属关系用继承?真不太知道这个题怎么答
4.你的项目苍穹外卖使用了Mybatis, Mybatis比起直接连接数据库jdbc有什么优点呢?
使用了数据库连接池池化技术,避免了数据库频繁的连接,节省了资源
5.你知道为什么数据库连接很耗时吗?
没怎么答好,查了一下答案,记录一下,因为数据库连接是基于tcp连接,分为三步,第1步:建立TCP连接,通过三次握手实现;第2步:服务器发送给客户端握手信息,客户端响应该握手消息;第3步:客户端发送认证包,用于用户验证,验证成功后,服务器返回OK响应,之后开始执行命令;用户验证成功之后,会进行一些连接变量的设置,比如字符集、是否自动提交事务等,其间会有多次数据的交互。完成了这些步骤后,才会执行真正的数据查询和更新等操作。执行完成后,还要进行四次挥手断开连接,这些过程加在一起非常耗时
6.那你知道需要频繁数据库连接的场景怎么办吗,比如需要频繁查询每个年龄段的用户?
索引?
7.索引是实际查询过程,从连接的角度呢?你知道SQL预编译吗?
不太知道
8.问你点Java基础吧,你知道Java锁有哪些种类吗?
偏向锁?轻量级锁?重量级锁?公平锁?非公平锁?
9.锁实现的底层原理是怎样的呢?
更改对象头
10.你知道锁升级的过程吗
不太清楚,查了一下,当多个线程同时申请共享资源锁的访问时,这就产生了竞争,JVM会先尝试使用轻量级锁,会以CAS方式来获取锁,成功则获取到锁,状态为轻量级锁,失败,则锁升级到重量级锁。
11.算法:一个最基本的小岛问题,BFS
感觉下来没问什么八股,基本逮着苍穹外卖在问,苍穹外卖问了我半个小时,难顶
 类似资料: