OPPO 后端开发 一、二面面经
你好,我是 Guide,看了这么多面试成功的经验分享,今天来看一个读者分享的 Oppo 秋招面试失败经历。
面经合集请看:Java面试题&面经精选集。
下面是正文(文中的我为读者本人)。
个人情况
我的学校可能比大部分同学都比较差,是一个很一般的二本,土木专业转的计算机专业。
大三之前一直在做 C 语言开发,期间只在课堂上学习过 Java ,对其并不是特别熟悉,仅仅使用 Java 基于 Java FX 做过一个小的课程设计,主要用到了爬虫、MySQL、网络编程等技术。
大三上学期听学长们说,Java 后端的岗位比较多,比较容易找到工作。于是,我开始主攻 Java 后端。在学长的推荐下,我使用尚硅谷作为主要的学习资料,通过 JavaGuide 在线网站(https://javaguide.cn/ ) 作为课后复习资料并使用其准备对应的八股文和知识点,平时没事就会拿出来看看。
这两份资料都是学长推荐的,很不错,他毕业之后去了美团,也算是大厂了。
大概花了快一年的时间完成了 Java 后端常见知识点的学习。简历上一共两个项目,一个已经上线,另外一个是跟着视频做的。跟着视频做的这个项目改了个比较像正式项目的名字,简单完善了一下放在了简历上。
笔试了很多家公司,可能是因为自己没有重视笔试或者学校比较差的原因,只有 Oppo 的笔试通过了,给了面试机会。
技术面试体验还不错,但终究还是凉了。。。心塞。。。
一面
- 万年不变的自我介绍,突出个人优势即可。
- 面试官夸我长的很精神,我:???。然后,问我平时是怎么安排学习时间的,项目都是和谁一起做的。
- 开始疯狂问项目。讲讲项目的整体业务,技术架构,自己负责哪一块。
- 你们用的 Java 版本是什么?Java8 有哪些让你印象深刻的新特性?
- 为什么会考虑使用多线程优化?有什么好处?
- 如何创建线程?你比较推荐哪一种方式?为什么?
- Java 线程的状态有哪几种?
- Java 如何保证变量的可见性?(volatile 关键字)
- volatile 可以保证原子性么?(volatile 关键字能保证变量的可见性,但不能保证对变量的操作是原子性的)
- 了解 synchronized 和 ReentraLock 吗?有何区别?如何选择?
- 多级缓存的是怎么做的?为什么还要再多加一层本地缓存呢?对性能提升大吗?QPS提升多少?
- Redis 数据类型有哪些?String 的应用场景有哪些?String 还是 Hash 存储对象数据更好呢?
- 如何保证缓存和数据库的一致性?
- Redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
- 想来深圳工作吗?如何看待加班?
- 有什么想问的?(自己进入公司之后可能会做什么,自己的表现)
一面的面试官还挺不错的,很有耐心,没听太懂的问题会再继续给我解释,点赞!
面试官对我评价应该还挺好的(二面面试官说的),虽然也有一些问题没有回答上来或者回答的并不好。
个人觉得一面还是比较有难度的,问了很多并发和 Redis 相关的问题,面试官还是很有水平的。
二面
- 自我介绍
- 问项目。项目的整体业务,技术架构,怎么分配工作的。
- 数据库表的设计思路。
- 项目是如何部署的?上线了吗?每天有多少人访问?
- 为什么要用线程池?项目中使用的线程池是使用内置的还是自己创建的?
- 线程池的原理,饱和策略有哪些?你项目中用到的是哪种饱和策略?为什么?
- 项目开发过程中进行过 SQL 优化吗?
- 如何找慢 SQL?(MySQL 慢查询日志是用来记录 MySQL 在执行命令中,响应时间超过预设阈值的 SQL 语句)
- 如何分析 SQL 的性能?(可以通过
EXPLAIN命令分析对应的SELECT语句) - 项目中是怎么使用索引的?联合索引了解吗?
- Java 多态的优点?
- String 为什么是不可变的?
- 你在校的代码量怎么样?
- 有什么想问的?(自己进入公司之后可能会做什么,自己的表现)
挺奇怪的。。。个人感觉和面试官聊的还挺好的,结果直接挂了。
说实话,看到结果的时候,我真的一脸懵逼,很绝望。还是不要抱太大的期望,期望越大,失望越大!
今年是真的难啊!!!
总结
简单复盘了一下自己的面试过程,个人反思自己或许在下面这些方面存在问题:
- 项目经历的一些细节没有回答好,可能会让面试官觉得项目比较假,并不是真实的。
- 八股文的回答过于书面化,还是没有吃透成为自己的知识。
- 性能优化相关的问题回答的过于简单,面试官的一些追问没有回答好。
寒假好好准备一下,继续完善一下简历,刷一波笔试题,冲击一波明年的春招,希望能够找到满意的工作。感谢你能看到这,也祝大家能够找到满意的工作!
OPPO 后端开发 一、二面面经的更多相关文章
- Python后端开发要求
关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...
- 后端开发实践——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 微信小程序后端开发(Java语言)笔记
前言: 因为是第一次真正接触后端开发,从编码到部署服务器到上线,所以做个笔记,也供和我一样的开发小白一些参考. 一.前期工作:开发环境与工具: 1. 编程语言:Java #笔者还没学PHP,只想 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史
---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...
- 杂记:腾讯暑期实习 Web 后端开发面试经历
今天面试(一面)腾讯暑期实习 Web 后端开发,一言难尽. 第一部分,常规的自我介绍. 介绍完,面试官问我对人工智能有什么理解?深度学习和机器学习的区别?对调参有什么见解?语音识别中怎样运用了机器学习 ...
- Java后端开发奋斗之路
本人方向:Java后端开发方向,本文中内容持续更新中 Java技术栈:https://www.cnblogs.com/wyb666/p/10222070.html 推荐书籍:<程序员代码面试指南 ...
- app后端开发系列文章文件夹
一点废话 每个程序猿心中,都有一个大牛梦.我们在晨曦之光中敲击着代码,在寒冬覆雪中思考着0与1. 夏练三伏 冬练三九这说的就是我们这群[江湖]中人.在这里我们门派林立,C语言派历史悠久,在程序界就是嵩 ...
- Java后端开发工程师是否该转大数据开发?
撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人 背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我 ...
- Java 后端开发常用的 10 种第三方服务
请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 严格意义上 ...
- 后端开发实践:Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
随机推荐
- JS逆向实战5--JWT TOKEN x_sign参数
什么是JWT JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式).它是在Web环境下 ...
- 在CentOS7下安装Oracle11教程
前言 安装oracle时,发现网上的文章总是缺少一些信息,导致安装不顺利,因为我对一些文章进行了整合,用以备忘. Oracle安装 首先下载linux版本的oracle安装文件,然后通过XFTP上传到 ...
- 上下文管理器 context managet
定义:实现了上下文管理协议的对象,主要用于保存和恢复各种全局状态,关闭文件等,它本身就是一种装饰器. with语句 with语句就是为支持上下文管理器而存在的
- [leetcode] 713. Subarray Product Less Than K
题目 Given an array of integers nums and an integer k, return the number of contiguous subarrays where ...
- 前端面试HTML和CSS总结,这一篇就够了!
一,面试基础 HTML和CSS ps:这俩面试答不上来的,基本就可以回去了,以下是HTML题,一般来说这地方不会出太多题,面试官也不愿意花太多时间在这上面. 1,HTML语义化,如何理解语义化? 让人 ...
- 基于SpERT的中文关系抽取
SpERT_chinese 基于论文SpERT: "Span-based Entity and Relation Transformer"的中文关系抽取,同时抽取实体.实体类别和关 ...
- Java开发环境安装与配置(干货详细教程)
Java开发环境安装与配置(干货详细教程) 对于文章中出现的任何错误请大家批评指出,会及时做出修改! 安装JDK JDK是 Java 语言的软件开发工具包要学习 链接Java中国官网https:/ ...
- __init__、__all__
在python中 引用模块包的时候,要先进入此模块的__init__.py中畅游一遍,因此,我们多次需要一个语句的时候,就可以将这些语句写入到__init__.py中: 在使用*号的时候我们可以用__ ...
- matplotlib详细教学
Matplotlib初相识 认识matplotlib Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的 ...
- B-神经网络模型复杂度分析
前言 一,模型计算量分析 卷积层 FLOPs 计算 全连接层的 FLOPs 计算 二,模型参数量分析 卷积层参数量 BN 层参数量 全连接层参数量 三,模型内存访问代价计算 卷积层 MAC 计算 四, ...