去比亚迪面试,问的贼细!

3 阅读1分钟

大家好,我是程序员小灰。最近有一位读者朋友在我的知识星球后台发帖子,讲述了他最近面试的情况。

今天给大家分享一个读者,他是一个二本的硕士生,机械专业,自学Java转码的。投递了西安比亚迪,最终成功上岸。感觉真的很励志!

今天,他把自己的面试经历,经历HR面以及技术面、综合面的面试问题,跟大家进行了细致分享。希望能对大家有所帮助。

总体面试难度:

比亚迪的面试难度相比于互联网行业算是中等偏下的,尤其在去年的23届秋招中,比亚迪被号称是“点击就送”的秋招之光,哈哈哈!

比亚迪的薪酬待遇:

比亚迪感觉也是偏向于“学历厂”,以下是2023届的秋招薪资汇总表,今年整体来说,与去年持平,我个人觉得很有性价比!C9的计算机科班硕士,月薪税后2W1,真的是很有不错了,而且没有互联网加班狠,挺值得推荐。

但是就这位同学说,今年24届的同学普遍反映,难度已经上升了不少,这位读者记录了自己面试比亚迪的大部分问题以及自己总结的心得。

投递部门:西安比亚迪 Java后端开发

面试者背景:

本科:广东某双非本

硕士:杭州电子科技大学硕士

专业:机械工程专业

学术成果:有一篇中文核心论文,蓝桥杯三等奖,数学建模校赛等奖项,导师实验室项目,无实习。

**面试轮数:**一轮HR面+一轮技术面

HR面核心问题汇总:

1. HR:同学你好,你为什么想投递比亚迪,而且将base选择在西安?

我:西安的生活节奏不快,去西安旅游过,感觉西安整体生活氛围不错,房价比较适中。想努力在西安直接定居,同时也是对比亚迪公司的大名如雷贯耳,慕名而来!

2. HR:你的意向岗位什么? 有没有挂过科,英语过没过四六级?

我:我本科学的机械工程专业,硕士阶段转到了车辆工程,主要和导师的研究方向是无人车相关的软件开发,使用的主要编程语言就是Java。因此意向岗位投递的Java后端开发。

本科阶段和硕士阶段均没有挂过科;英语六级在大三的时候考过的,一次性通过,450分。

3. HR:在研究项目方案的时候,如果你和领导的意见出现了不一样,你会怎么处理?

我:我会选择首先和领导沟通,详细听一听领导对项目方案的看法以及选择此方案的原因,然后和领导进行技术谈论。同时再向其他同事请教,毕竟自己作为一个新人,多去了解学习是第一位。

4. HR: 你谈谈你在找工作中看重哪些因素?

我:我在工作中,一部分看中薪资,另一方面更看重工作的方向。我在硕士期间和导师做了很多Java的web开发项目,同时考虑生活成本,希望节奏不要太快,觉得西安不错。

5. 我反问:投递部门所负责的项目内容是什么?

HR: 你的部门主要负责大模型的相关部署应用开发,技术方向我不太了解,应该是使用在无人驾驶汽车平台上的智能对话助手。但是进来之后,部门会根据每个人的技术栈进行适当的调剂。

HR面经验小结:简历是找去年的师兄内推的,所以处理的比较快,今年比亚迪确实对简历筛选严格了不少,比亚迪是先进行HR面,再约技术面的面试。

HR面感觉比较侧重于你为什么要来比亚迪?希望看到你的忠诚态度。因为去年很多人鸽了比亚迪。

同时比亚迪还能感觉到有一点国企的味道,会看你和同事的相处以及性格特色。其他的同学还有被问过家庭情况,比如是不是独生子女之类....

面试结果:三天后,HR发微信消息,说约了技术视频面

技术面核心问题汇总:

1. 面试官:介绍一下你熟悉的Linux 终端操作命令?chmod 命令是什么意思?

我:ls:用于列出目录中的文件和子目录。

cd:用于更改当前工作目录。

rm:用于删除文件或目录。

cat:用于查看文件的内容。

其中chmod命令是用于更改文件或目录的权限,使用以下命令可以将文件file.txt的所有者给予读和写权限:

chmod u+rw file.txt

2. 面试官:怎么查看Linux系统主机的网络连接状态?并且判断网络连接是否正常?

我:使用ping命令,测试与另一个主机的网络连接。使用ping命令发送数据包并等待目标主机的响应。如果收到响应,那么连接通常是正常的。

查看网络连接状态可以使用netstat或ss命令来查看系统的网络连接状态。查看当前的连接以及监听端口,特别是关注状态为"ESTABLISHED"的连接,表示已经连接的网络端口。

3. 面试官:Redis支持哪些数据结构?

我:Redis支持多种数据结构,以下是一些Redis支持的主要五种数据结构:

字符串(String):Redis的最基本数据类型,可以存储任何类型的数据,如文本、二进制数据等。

哈希表(Hash):哈希表是一个关联数组,用于存储字段和与其相关联的值。在Redis中,可以对字段进行增加、删除和获取操作。

列表(List):List是列表集合的数据结构,存储多个元素,允许在集合执行快速插入和删除操作。

集合(Set):Set是一个无序的字符串集合,它支持添加、删除和查找成员元素。集合内元素是唯一的,不允许重复元素。

有序集合(Sorted Set):有序集合类似于集合,但每个成员都有一个分数,使其可以按分数排序。它用于构建排行榜等应用。

4. 面试官:计算器网络的七层OSI模型包括哪七层?HTTP 和 TCP 在七层模型哪一层?

我:七层OSI模型包括以下七层,自底向上分别为:

物理层 、数据链路层 、网络层 、传输层、会话层、表示层、应用层。

其中HTTP工作在应用层,而TCP工作在传输层,它们协同工作以实现Web通信。

5. 面试官:了解多线程吗?多线程为什么快?切换之后怎么恢复到当时的状态?

我:多线程是一种并发编程技术,允许一个程序同时执行多个线程子任务,每个线程都有自己的执行路径和状态。

多线程可以允许多个线程在同一时间片内并行执行,异步操作。

操作系统通过保存和恢复这些状态信息来实现线程的切换和恢复。当线程再次执行时,操作系统会加载之前保存的状态信息,确保线程能够继续执行,就好像没有发生过切换一样。

6. 面试官:介绍一下Java垃圾回收中CMS垃圾回收器的优缺点?

我:CMS是Java虚拟机中一种旧的垃圾回收器,用于执行老年代的垃圾回收。尽管CMS垃圾回收器在减小停顿时间方面表现出色,但也存在一些限制和缺点。

CMS执行清理操作时可能会产生内存碎片,从而限制了老年代的可用空间,可能导致内存不足错误。CMS的并发执行会增加一定的CPU开销,因为它必须与应用程序并发运行。

并且随着老年代中存活对象的增多,CMS的停顿时间可能会增加,甚至可能导致Full GC的发生。

7. 面试官:简单介绍Java I/O,其中NIO、BIO、AIO三种I/O模式的区别

BIO是阻塞I/O,NIO是非阻塞I/O,AIO是异步I/O。BIO每个连接对应一个线程,NIO多个连接共享少量线程,AIO允许应用程序异步地处理多个操作。

NIO和AIO通常比BIO更适用于高并发的网络应用,可以更有效地管理多个连接和I/O操作。

AIO是适合高吞吐量的应用程序,可以异步处理多个I/O操作,而不需要线程等待。但AIO在Java中的支持相对有限,不是所有操作系统都支持。

8. 面试官: Spring运用了哪些设计模式?问到了Bean的生命周期?

包括工厂模式、单例模式、依赖注入、模板方法模式、观察者模式、代理模式和策略模式等。这些设计模式有助于实现松耦合、可维护和可扩展的应用程序。

关于Bean的生命周期,Spring容器管理Bean的生命周期,包括实例化、属性设置、初始化、使用和销毁阶段。在初始化和销毁阶段,开发人员可以插入自定义逻辑,以确保Bean的正确配置和资源释放。

9. 算法题手撕代码考察:

LeetCode 21. 合并两个有序链表

10. 我反问:咱们部门主要的技术栈是什么?我进来之后的工作方向是什么?

面试官:你的部门主要负责大模型的相关部署应用,使用在智能汽车平台上的智能对话助手。

因为目前还是新成立的部们,所以可能需要同学进来后除了Java的技术内容外,再学习一下Python以及大模型相关的知识,不过不用担心,我们部门的压力不是很大,可以进来再学习也来得及。

面试结果:两天后,HR说面试同学,过段时间签订两方协议

整体面试总结:将今年的面经给去年23届毕业的同学们看了一下,23届的同学感叹,今年比亚迪确实不再是点击就送了,但是感觉难度以及筛选的难度还在可接受范围之内,比起来大厂的那种死扣字眼的八股文面试,还是很有性价比的。

其实也能感觉到比亚迪的面试难度也是在逐渐的上升,所以想要赶紧抓住最后风口上岸的同学,抓紧了,比亚迪的工资很有性价比!