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年由主要开发人员张亮带入京东数科,在国内经历了当当网.电信翼支付.京东数 ...
- 强国杯东杯分区赛miscwp
目录 不要被迷惑 PCAP文件分析 平正开 不要被迷惑 编辑 导出http 编辑 得到flag.zip后直接爆破密码 编辑 得到编辑 然后一键解码 编辑 flag{WImuJeqSNPh ...
- 微服务组件--注册中心Spring Cloud Eureka分析
Eureka核心功能点 [1]服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址.端口.运行 ...
- C语言爱心表白程序
#include <stdio.h> #include <math.h> #include <windows.h> #include <tchar.h> ...
- 亚马逊云 RDB数据故障转移(多可用区)
RDB关系数据库(Relational Database,RDB) 创建名为VPC for RDS的vpc 两个可用区,两组公内网 创建安全组 创建RDS数据库实例用的数据库子网组 创建RDS数据库实 ...
- wpf下的图片放大缩小
WPF下实现图片的放大缩小移动 在windows 7里面有自带的图片查看器,这个软件可以打开一张图片然后以鼠标在图片中的焦点为原点来进行缩放,并且放大后可以随意拖动.下面我们在WPF中实现这个功能 ...
- 二、Celery执行一步任务
二.Celery执行异步任务 2.1.基本使用 创建项目celerypro 创建异步任务执行文件celery_task: import celery import time backend='redi ...
- numpy常用知识点备忘(2)
x.ravel() 和 x.flatten() : 将多为数组降维到1维.ravel()返回元素的引用(对象不一样,但是元素是引用),flatten()返回新的元素. np.meshgrid(x, y ...
- go: can only use path@version syntax with 'go get' and 'go install' in module-aware mode
一: 非gomod模式 需要在go文件目录下的src创建代码 但是后面的版本一般做项目部管理不适用上述方法 也不会出现 go: can only use path@version syntax wit ...
- Intel GPU Gen 9 架构
* 参考spec:the-compute-architecture-of-intel-processor-graphics-gen9-v1d0.pdf SOC 架构 Gen9 架构是早期用在igpu ...