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个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
随机推荐
- Azure Kubernetes(AKS)部署及查看应用资源
简介 上一篇文章讲解了如何使用Azure DevOps持续部署应用到Azure Kubernetes上.但是部署是否成功?会不会遇到什么问题?项目运行中是否会出现问题?我们该怎么样查看这些问题,并且对 ...
- linux 自动备份mysql数据库
今天一早打开服务器.13W个木马.被爆破成功2次,漏洞3个.数据库被删.这是个悲伤的经历 还好之前有备份,服务器也升级了安全机制,只是备份是上个月的备份.所以想写个脚本,试试自动备份数据库. 1. 先 ...
- JUC(4)Callable和常用的辅助类
1.Callable 1.可以有返回值 2.可以抛出异常 3.方法不同.run()/call() future Task 细节: 1.有缓存 2.结果可能需要等待,会阻塞 2.常用的辅助类 2.1 C ...
- MasaFramework -- 缓存入门与规则配置
概念 什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有: 本地缓存 内存缓存:IMemoryCache 分布式缓存 Redis: Stack ...
- 基于GA遗传算法的TSP旅行商问题求解
import random import math import matplotlib.pyplot as plt import city class no: #该类表示每个点的坐标 def __in ...
- 题解 P6355 [COCI2007-2008#3] DEJAVU
kcm的原题.. 貌似是个组合数(? \(\sf {Solution}\) 对于每一个点,我们需要统计与它同一行的点数\(a\) 和同一列的点数\(b\) ,则该点对结果\(ans\) 的贡献为\(( ...
- Python基础之模块:5、 第三方模块 requests模块 openpyxl模块
目录 一.第三方模块的下载与使用 1.什么是第三方模块 2.如何安装第三方模块 方式一:pip工具 方式二:pycharm中下载 3.注意事项 1.报错并有警告信息 2.报错,提示关键字 3.报错,无 ...
- 长事务 (Long Transactions)
长事务 长事务用于支持 AutoCAD 参照编辑功能,对于 ObjectARX 应用程序非常有用.这些类和函数为应用程序提供了一种方案,用于签出实体以进行编辑并将其签回其原始位置.此操作会将原始对象替 ...
- 开源项目在线化 中文繁简体转换/敏感词/拼音/分词/汉字相似度/markdown 目录
前言 以前在 github 上自己开源了一些项目.碍于技术与精力,大部分项目都是 java 实现的. 这对于非 java 开发者而言很不友好,对于不会编程的用户更加不友好. 为了让更多的人可以使用到这 ...
- WPF之MVVM实践中的Command与CommandParameter
先记录一下,方便以后复习. https://www.cnblogs.com/babietongtianta/p/3474101.html