华为OD—Java+测试面经—双非本1年经验

个人情况

广东工业大学科班本,一年小公司java开发经验,后续空窗2年。24年底考过一次od机考没通过,25年5月份又联系到西瓜姐,开始准备第二次机考。9月份通过机考,面的java开发,结果技术面挂了,只能转测试。10月底重新面测试岗,不过幸运的是这个部门刚好需要java开发,说可以测试面进去做开发,11月底拿到offer,12月初入职。我的情况算比较复杂的,所以整个流程有点长,正常应该是一个月左右。面经是测试岗的,实际也有涉及一些java八股。

资格面 10/24

1.自我介绍

2.为什么离职,离职后续在干什么

3.空窗期:为什么不继续干之前的行业

4.意向城市

5.开发方面掌握了哪些技能

6.为重新工作做了哪些准备,如何学习的,自学吗,学习了什么

7.反问

技术一面 11/04

  • 测试相关

1.软件开发过程中,以开发和测试的角度,你需要参与哪些流程

2.模块跟模块间的关联你是怎么搞清楚的,别人跟你说的,还是你自己想的

3.你是如何测试你写的接口的

4.从用户角度发现了哪些从前没有发现的问题,用你的项目举例说明

5.在测试阶段,你能为测试提供哪些软件质量的保证Linux常用命令

(1)如何配置环境变量

(2)如何查看磁盘剩余空间

(3)如何全局替换

(4)已知文件名如何查找文件

  • 项目相关

1.做了哪些模块

2.项目中的数据同步,是实时同步的还是非实时的;你觉得哪些情景下需要实时同步,哪些不需要

  • 手撕代码

给出一个数字集合,包含各不相同的若干正整数。找到最大的子集,使得这个子集里的任意两个元素 (Si, Sj) 满足 Si % Sj = 0 或者 Sj% Si = 0。

示例 1: 输入: [1,2,3] 输出: [1,2] ( [1,3] 也是正确的)

示例 2:输入: [1,4,2,8] 输出: [1,2,4,8]

技术二面 11/08

  • 项目相关

1.项目介绍,做了哪些,有什么难点,如何解决

2.项目并发量有多大,数据表有多大,如何考虑处理并发的问题

  • 手撕算法

计算用户输入的有效单词个数

用户输入1:num表示要输入的文本行数

用户输入2:多行文本

多行文本的每一行中有大小写字母组成的单词、逗号、句号和 \,这里 \ 只会出现在行末,意为续行符,表示这一行未结束,

下一行出现的首个字母或者单词和本行的最后一个单词是一体的。

(注意 \ 也可能会独占一行);最终让我们计算由字母组成的单词的数量。

如:

4

engineerings, worldwoide,,.course part

y...vendors.

,hell\

O

输出:

7

  • 测试相关

1.给上面的代码写几个测试用例进行测试

2.有一个 malloc(int size) 分配内存的接口,如何测试

3.问面的部门是什么语言;除了Java,还会哪些语言

  • Java八股

1.Java有哪些锁

2.有哪些方法可以让线程等待

3.sleep 和 wait 有什么区别。

加面 11/12(一二面定级不一致)

  • Java八股

1.项目中用Redis做过什么

2.Redis缓存,项目如何保证数据库和Redis缓存的一致性

3.SQL执行过慢是什么原因,如何处理

4.建立SQL索引需要注意哪些问题

5.ArrayList 和 LinkedList 的区别

6.HashMap、HashTable哪一个是线程安全的

7.HashTable、ConcurrentHashMap的底层数据结构,如何保证线程安全

8.单例模式是什么,如何实现;工厂模式了解吗,有在项目中用过吗

9.接口和抽象类的区别

10.方法加static和不加static有什么区别

11.除static之外,Java还有哪些修饰符,分别有什么作用

  • 手撕算法

请设计一个租房信息管理类RoomManager,需要实现如下方法。

public boolean addRoom(int id, int area, int price, int rooms):在系统中增加一套编号为 id,面积为 area,月租金为 price,卧室数量为 rooms的房源:

1)若系统中不存在编号为 id的房源,则添加该房源,返回 true;

2)若已存在,则将对应房源信息 更新 为新传入的 area、price、rooms,并返回 false;

public boolean deleteRoom(int id):删除系统中编号为 id 的房源:

若存在编号为 id 的房源,删除此房源并返回 true;若不存在,返回 false。

public int[] queryRoom(int area, int price, int rooms):查询系统中符合筛选条件的房源id。返回结果按照价格升序排列,价格相同则按照面积降序排列。

Ø 筛选条件:面积大于等于 area,月租金小于等于 price,卧室数为 rooms 的房源;

主管面 11/13

1.自我介绍

2.空窗解释:为什么当时没有继续找开发的工作,为什么现在又重新进入这行

3.之前的工作相关的问题:具体在做什么,如何安排时间

4.在之前的项目中做了什么,有哪些印象深刻的bug

5.如何学习,学了哪些内容,面试准备了多久

6.说下简历上写的学习项目

7.你觉得可以适应之后的工作节奏吗,入职之后怎么快速上手新项目

8.反问

#华为od求捞##华为od面经##华为od题库##华为od##面试问题记录#
全部评论
空窗期怎么补
1 回复 分享
发布于 01-08 18:34 云南
西瓜姐,你是不是在b站有发布名侦探柯南的视频,那个up主就叫西瓜
点赞 回复 分享
发布于 01-09 15:36 广东

相关推荐

一、 个人背景与综合意向- 自我介绍:请进行简单的自我介绍。- 业务背景:该规则引擎主要应用于唯品会的哪些具体业务场景?- 团队情况:你所在组的整体开发团队规模是多少?纯后端开发人员有多少?- 实习时间:如果入职,什么时候可以开始实习?打算实习多长时间?二、 Java 基础(重点考察 HashMap)- 数据结构:请介绍一下 HashMap 内部的数据结构。- 设计原理:为什么 HashMap 要引入红黑树?这样设计的根本目的和好处是什么?- 底层支撑:为什么底层要基于数组加链表的形式来实现哈希表?数组的作用是什么?- 哈希计算:JDK 1.8 中,哈希函数是如何计算哈希值并确定元素在桶中位置的?(扰动函数的作用)- 并发安全:HashMap 是如何保证线程安全的?具体到 JDK 1.8,它是如何利用 CAS 和 synchronized 实现的?- 不安全场景:在多线程环境下使用普通的 HashMap 会出现哪些具体的并发安全问题?(例如:值覆盖、扩容死循环等)三、 Spring 框架- 核心机制:请解释一下 Spring 的循环依赖问题以及它是如何通过三级缓存解决的?- 缓存细节:每一级缓存分别存的是什么?为什么非要引入“三级缓存”而不能只用二级缓存?(涉及 Bean 生命周期与 AOP 适配)四、 项目深度挖掘(规则引擎)- 项目核心:请详细介绍一下你负责的规则引擎项目,包括你的角色和核心产出。- 难点与挑战:在该项目中,让你印象最深刻的技术难点或业务难点是什么?- 稳定性治理:你是如何实现规则的多版本快照和回滚功能的?- 数据库设计:为了兼容旧表并实现多版本功能,你在表结构上做了哪些具体修改?- 业务逻辑:当规则出现问题时,业务人员如何通过后台系统排查过去的执行情况?- **回调机制**:业务回调功能是如何设计的?为什么要做异步优化?- 可靠性考量:如果系统在回调过程中重启,线程池阻塞队列里的任务丢失了怎么办?如何保证数据一致性?- 性能优化:你是如何发现规则执行链路存在耗时问题的?具体的优化手段(核心与非核心链路拆分)是什么?- 系统指标:该系统的平均耗时(RT)和峰值 QPS 大约是多少?五、 工程能力与运维排查- 监控手段:你们是如何对线上规则的执行时间进行监控的?- 线上排查:如果线上出现问题,你的排查流程是什么?- 容器化知识:线上系统是容器化部署吗?你对 Docker 或 K8S 有多少了解?- 日志定位:在容器环境下,你如何查找和定位历史日志文件?
查看25道真题和解析
点赞 评论 收藏
分享
评论
3
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务