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个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
随机推荐
- Shading-JDBC、ShadingSphere、ShardingProxy 使用详解
ShadingSphere ShardingSphere是一款起源于当当网内部的应用框架,2015年在当当网内部诞生,2016年由主要开发人员张亮带入京东数科,在国内经历了当当网.电信翼支付.京东数 ...
- 齐博x1如何取消某个标签的缓存时间
标签默认会有缓存, 如果你要强制取消缓存时间的话, 可以加上下面的参数 time="-1"如下图所示 标签默认缓存时间是10分钟, 你也可以改成其它时间 比如 time=" ...
- C#--对上传的Excel文档的处理
注:ToString对数值字符串的处理 string nID=555; nID.ToString("00000000"); ---00000555 var oFile = Re ...
- 0基础90分钟会用PS——GenJi笔记
数码图像的相关基础概念 1.位图和矢量图 位图 也叫点阵图像,位图使用也称像素的一格一格的小点来描述图像,图放大后我们可以看到像素点 矢量图 根据几何特性来绘制图形,用线段和曲线描述图像,可以是一个一 ...
- Element Ui 安装以及配置
npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 引入 Element 你可以引入整个 Element,或是根据需要 ...
- JS数据结构与算法-概述
JS数据结构与算法概述 数据结构: 计算机存储, 组织数据的方式, 就像锅碗瓢盆 算法: 一系列解决问题的清晰指令, 就像食谱 两者关系: 程序 = 数据结构 + 算法 邂逅数据结构与算法 什么是数据 ...
- Oracle中新建数据表的两种方法
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- 有趣的 Go HttpClient 超时机制
hello,大家好呀,我是既写 Java 又写 Go 的小楼,在写 Go 的过程中经常对比这两种语言的特性,踩了不少坑,也发现了不少有意思的地方,今天就来聊聊 Go 自带的 HttpClient 的超 ...
- Hashcat使用指南
Hashcat使用指南 免责声明: 0×01 Hashcat破解linux shadow的密码-首先了解shadow文件到底是什么? 0×02 hashcat的使用 参数补充: -m 参数 -a 参数 ...
- Go语言核心36讲23
我在上两篇文章中,详细地讲述了Go语言中的错误处理,并从两个视角为你总结了错误类型.错误值的处理技巧和设计方式. 在本篇,我要给你展示Go语言的另外一种错误处理方式.不过,严格来说,它处理的不是错误, ...