Java工程师研发面经大合集

百度研发面经整合版

软件研发工程师

基础研发工程师

百度智能云

百度核心搜索部

百度今年的提前批有点奇怪,好像都不走流程,牛客上好几个百度内推的帖子,我投了几个,基本上都是百度智能云的,当然也有其他部门。

下面是我的面经,包括三个部门的面试,每个部门侧重点不太一样。

百度智能云

一面

1 项目

2 讲一下AOP吧

3 动态代理和静态代理有什么区别

4 TCP和IP报文是否会分片,分别在什么情况下会分片。

TCP分包之后是否还会进行ip分片

5 做个题

无限长轨道。两辆车同方向开,车会滴水,怎么让他们相遇。这题简直像脑筋急转弯。

6 写一个斐波那契数列

递归式,要求改进

dp方式,要求优化空间

用三个变量代替数组进行dp,要求改进

我说数学公式,OK。

7 讲一下Linux的内存结构,我说只会JVM的,他让我说一下。

两者的内存如何映射,是什么关系,不会。

8 没了

二面

1 项目讲一下,10多分钟去了。

2 排序算法,复杂度,比较。快排的空间复杂度是logn

3 讲一下OSI七层模型,我说了5层模型,然后他让我再补充一下,问了每层的作用,问了wifi属于哪一层。

4 线程间的同步用什么方式,说了object方法。

问我使用hashmap时重写哪两个方法,为什么要重写,巴拉巴拉,什么场景下重写。

5 平时用过什么数据结构,list用哪些有啥区别。

6 Spring中的ioc和aop。ioc的注解有哪些。

autowired和resource有什么区别,作用域有哪些。

autowired如何配置两个类中的一个吗

7 写一个单例模式,有点忘却了,巴拉巴拉搞出一个双重检测的,中间改了多次。

8 Java会有内存泄漏吗,三个区分别什么情况下会产生内存泄漏

三面

1 主要了解哪些技术

2 分布式系统怎么设计,说了CAP和BASE,最终一致性

3 问我最终一致性是什么,举一下强一致性和最终一致性的例子。分布式事务和消息队列

4 分布式事务的消息id怎么确认顺序,我说使用zk

5 zk的性能瓶颈怎么克服,我说使用redis和redis集群。

6 跨机房的网络延迟怎么解决,我说不懂,他让我猜一侠华北到华南的延迟时间大概是多久,我说大概十秒内。

7 网络这块熟么,说一下socket编程吧。说了一下java的socket

8 网络编程的NIO和BIO区别,阻塞指的是什么意思呢。

9 socket客户端和服务端的连接过程和通信过程说一下。

10 操作系统熟么,一般版,shell和命令熟么,不熟。

11 算法熟么,答不熟。

12 系统怎么设计,设计模式怎么用

13 系统优化怎么做,cpu,IO,内存分别怎么排查问题和调优

14 家乡,女朋友,巴拉巴拉

百度核心搜索

一面:

1 自我介绍

2 docker和k8s了解多少

3 研究生学了哪些课程

4 操作系统了解么,讲一下进程和线程

5 死锁和处理方式

6 内存,虚拟内存和页面置换

7 网络了解么,讲一下三次握手和四次挥手

8 数据库了解多少,mysql索引,事务,锁讲了一些

9 Redis呢,讲了一下数据结构,持久化方式,使用场景

10 分布式了解哪些,负载均衡有哪些方式,说了dns,nginx,lvs和硬件,一致性问题怎么解决,说了2pc,3pc,raft和paxos,zab

10 mysql大表数据查询,怎么优化,分表,分库。

11单链表判环

使用快慢指针解决

12 完全二叉树判断:

二面

1 项目

2 docker和kubenetes的原理和了解程度

3 docker的cgroup了解么

4 kubenetes的架构,扩容是怎么完成的。

5 Java的四种引用

6 Java的线程通信方式

7 Linux的进程通信方式

8 Java的线程池

9 算法

1 - N 1这些数中取出N个,问剩下的是哪个。。

我说加起来相减,面试官说取巧了,不能这样。

我说比较数组下标,他还是说取巧。

于是我让他提示我一下,他说了排序再找。。额

然后想了两个空间换时间的办法,一个是用hashmap遍历两个数组。一个是合并数组后统计数字出现次数,也是hashmap

给定一串数字,找出所有可能的IP地址组合,比如192168111,组合是192.168.1.11,192.168.11.1。

应该LeetCode的题。之前自己没写完整,现场憋出来了。

这个代码应该没错。面试官看了二十分钟才说ok。

然后我们就这样沉默了20分钟,中间他就说了几句话。

三面

1项目

2家庭情况

3学习生活的挑战

4学新技术的方式

5解释一下docker

6意向城市和岗位方向

百度智能云

基础研发工程师

一面

1 项目

2 队列和栈区别

3 两个栈实现队列,两个栈实现最小值栈

4 数据库的事务性质,如何实现这些性质

5 事务隔离级别有哪些,默认是什么级别。

6 已提交读有什么问题,用于什么场景

7 二叉树了解么,平衡二叉树呢,有什么场景会用到呢。

8 僵尸进程和孤儿进程是什么,分别有什么危害。

9 主从复制怎么实现。

10 Redis你用来做什么,为什么不用mq做异步队列

11 分布式文件系统了解么,HDFS讲一下原理

12 Java中一般用什么类型表示价格。

13 Java如何把byte类型转换成字符串

14 Java的string类型为什么是不可变的

15 有什么问题

阿里巴巴研发面经

阿里中间件研发面经

研发工程师(Java)

我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。这是我的面经,在这里分享给大家。</

<think> 我们正在讨论如何准备牧原公司大数据研发工程师岗位的试。根据之前的引用内容,我们可以总结出一些通用的试准备策略,但需要结合大数据研发工程师的具体要求进行调整。 引用[1]提到要“少加班,回家就拿起各种试经刻苦背题。把底层原理搞清楚”,同时提醒这是一条内卷之路,要注意身体健康。引用[2]则给出了一些具体的技术要求,如自动化工具、缺陷管理工具等,但这些是针对测试工程师的,我们可以类比到大数据的相关技术栈。 因此,针对牧原公司大数据研发工程师岗位,我们应关注以下方: 1. 基础知识:大数据技术栈的基础原理(如Hadoop、Spark、Flink等分布式计算框架,Hive、HBase等存储组件,以及数据仓库建模、ETL流程等)。 2. 编程能力:通常要求熟练掌握至少一门编程语言(如Java、Scala、Python),并能处理大数据场景下的编程问题。 3. 项目经验:准备自己过往的大数据项目,重点描述项目背景、技术选型、遇到的问题及解决方案。 4. 系统设计:可能涉及大数据平台架构设计、实时/离线数据处理方案等。 5. 工具使用:熟悉相关工具,如数据可视化工具、调度工具(如Airflow)、版本控制(Git)等。 6. 公司和行业了解:了解牧原公司的业务(畜牧业、生猪养殖等)以及大数据在其中的应用场景(如智能化养殖、供应链优化等)。 由于引用中提到的内卷问题,我们也要注意劳逸结合,避免过度消耗。 下我将根据这些要点,整理牧原公司大数据研发工程师试经验分享。 </think> 针对牧原公司大数据研发工程师岗位的试准备,结合行业通用要求和引用内容的核心建议,整理关键试经验如下: ### 一、技术能力准备重点 1. **大数据核心组件**(必考): - Hadoop生态:$$ \text{HDFS读写原理} \quad \text{MapReduce优化} \quad \text{YARN调度机制} $$ - Spark核心:$ \text{RDD特性} $、$ \text{Spark \ SQL优化} $、$ \text{内存管理} $ - 实时计算:Flink/Storm架构设计(如$ \text{Checkpoint机制} $) 2. **数据仓库与建模**: - 维度建模实践($ \text{星型/雪花模型} $) - ETL开发规范(引用工具如Kettle/Airflow)[^2] - 数据治理方法论(元数据/数据质量) 3. **编程与算法**: ```python # 典型大数据场景编码题示例 def process_rdd(rdd): return rdd.filter(lambda x: x>0) \ .map(lambda x: (x%10, 1)) \ .reduceByKey(lambda a,b: a+b) ``` - LeetCode中等难度题(侧重$ \text{树结构} $、$ \text{动态规划} $) ### 二、项目经验包装要点 1. **数据驱动业务案例**: - 突出畜牧业相关场景(如生猪养殖数据预测、供应链优化) - 量化成果:$ \text{如"QPS提升3倍"} $、$ \text{"存储成本降低40%"} $ 2. **架构设计能力**: - 说明技术选型依据(如Spark vs Flink对比) - 故障处理经验($ \text{数据倾斜解决方案} $) ### 三、行业认知准备 1. **牧原业务聚焦**: - 智慧养殖大数据应用(物联网传感数据分析) - 农产品供应链优化模型 - 环保数据处理(养殖废弃物监测) 2. **行业趋势**: - 农业大数据政策解读 - 养殖业数字化转型痛点 ### 四、试技巧 1. **底层原理深挖**: - 准备HDFS/Spark源码级问题(如$ \text{NameNode HA实现} $) - JVM调优经验($ \text{GC算法选择} $) 2. **工具链演示**: - 展示大数据平台搭建能力(CDH/TDH) - 持续集成工具实践(Jenkins部署流水线)[^2] > **重要提醒**:引用中强调的"底层原理搞清楚"和"工具熟练度"是核心考察点[^1][^2],但需平衡学习强度与身心健康,避免过度内卷消耗[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值