你好,我是 Guide,看了这么多面试成功的经验分享,今天来看一个读者分享的 Oppo 秋招面试失败经历。

面经合集请看:Java面试题&面经精选集

下面是正文(文中的我为读者本人)。

个人情况

我的学校可能比大部分同学都比较差,是一个很一般的二本,土木专业转的计算机专业。

大三之前一直在做 C 语言开发,期间只在课堂上学习过 Java ,对其并不是特别熟悉,仅仅使用 Java 基于 Java FX 做过一个小的课程设计,主要用到了爬虫、MySQL、网络编程等技术。

大三上学期听学长们说,Java 后端的岗位比较多,比较容易找到工作。于是,我开始主攻 Java 后端。在学长的推荐下,我使用尚硅谷作为主要的学习资料,通过 JavaGuide 在线网站(https://javaguide.cn/ ) 作为课后复习资料并使用其准备对应的八股文和知识点,平时没事就会拿出来看看。

这两份资料都是学长推荐的,很不错,他毕业之后去了美团,也算是大厂了。

大概花了快一年的时间完成了 Java 后端常见知识点的学习。简历上一共两个项目,一个已经上线,另外一个是跟着视频做的。跟着视频做的这个项目改了个比较像正式项目的名字,简单完善了一下放在了简历上。

笔试了很多家公司,可能是因为自己没有重视笔试或者学校比较差的原因,只有 Oppo 的笔试通过了,给了面试机会。

技术面试体验还不错,但终究还是凉了。。。心塞。。。

一面

  1. 万年不变的自我介绍,突出个人优势即可。
  2. 面试官夸我长的很精神,我:???。然后,问我平时是怎么安排学习时间的,项目都是和谁一起做的。
  3. 开始疯狂问项目。讲讲项目的整体业务,技术架构,自己负责哪一块。
  4. 你们用的 Java 版本是什么?Java8 有哪些让你印象深刻的新特性?
  5. 为什么会考虑使用多线程优化?有什么好处?
  6. 如何创建线程?你比较推荐哪一种方式?为什么?
  7. Java 线程的状态有哪几种?
  8. Java 如何保证变量的可见性?(volatile 关键字)
  9. volatile 可以保证原子性么?(volatile 关键字能保证变量的可见性,但不能保证对变量的操作是原子性的)
  10. 了解 synchronized 和 ReentraLock 吗?有何区别?如何选择?
  11. 多级缓存的是怎么做的?为什么还要再多加一层本地缓存呢?对性能提升大吗?QPS提升多少?
  12. Redis 数据类型有哪些?String 的应用场景有哪些?String 还是 Hash 存储对象数据更好呢?
  13. 如何保证缓存和数据库的一致性?
  14. Redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
  15. 想来深圳工作吗?如何看待加班?
  16. 有什么想问的?(自己进入公司之后可能会做什么,自己的表现)

一面的面试官还挺不错的,很有耐心,没听太懂的问题会再继续给我解释,点赞!

面试官对我评价应该还挺好的(二面面试官说的),虽然也有一些问题没有回答上来或者回答的并不好。

个人觉得一面还是比较有难度的,问了很多并发和 Redis 相关的问题,面试官还是很有水平的。

二面

  1. 自我介绍
  2. 问项目。项目的整体业务,技术架构,怎么分配工作的。
  3. 数据库表的设计思路。
  4. 项目是如何部署的?上线了吗?每天有多少人访问?
  5. 为什么要用线程池?项目中使用的线程池是使用内置的还是自己创建的?
  6. 线程池的原理,饱和策略有哪些?你项目中用到的是哪种饱和策略?为什么?
  7. 项目开发过程中进行过 SQL 优化吗?
  8. 如何找慢 SQL?(MySQL 慢查询日志是用来记录 MySQL 在执行命令中,响应时间超过预设阈值的 SQL 语句)
  9. 如何分析 SQL 的性能?(可以通过 EXPLAIN 命令分析对应的 SELECT 语句)
  10. 项目中是怎么使用索引的?联合索引了解吗?
  11. Java 多态的优点?
  12. String 为什么是不可变的?
  13. 你在校的代码量怎么样?
  14. 有什么想问的?(自己进入公司之后可能会做什么,自己的表现)

挺奇怪的。。。个人感觉和面试官聊的还挺好的,结果直接挂了。

说实话,看到结果的时候,我真的一脸懵逼,很绝望。还是不要抱太大的期望,期望越大,失望越大!

今年是真的难啊!!!

总结

简单复盘了一下自己的面试过程,个人反思自己或许在下面这些方面存在问题:

  1. 项目经历的一些细节没有回答好,可能会让面试官觉得项目比较假,并不是真实的。
  2. 八股文的回答过于书面化,还是没有吃透成为自己的知识。
  3. 性能优化相关的问题回答的过于简单,面试官的一些追问没有回答好。

寒假好好准备一下,继续完善一下简历,刷一波笔试题,冲击一波明年的春招,希望能够找到满意的工作。感谢你能看到这,也祝大家能够找到满意的工作!

OPPO 后端开发 一、二面面经的更多相关文章

  1. Python后端开发要求

    关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...

  2. 后端开发实践——Spring Boot项目模板

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

  3. 微信小程序后端开发(Java语言)笔记

    前言: 因为是第一次真正接触后端开发,从编码到部署服务器到上线,所以做个笔记,也供和我一样的开发小白一些参考. 一.前期工作:开发环境与工具: 1. 编程语言:Java    #笔者还没学PHP,只想 ...

  4. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  5. 杂记:腾讯暑期实习 Web 后端开发面试经历

    今天面试(一面)腾讯暑期实习 Web 后端开发,一言难尽. 第一部分,常规的自我介绍. 介绍完,面试官问我对人工智能有什么理解?深度学习和机器学习的区别?对调参有什么见解?语音识别中怎样运用了机器学习 ...

  6. Java后端开发奋斗之路

    本人方向:Java后端开发方向,本文中内容持续更新中 Java技术栈:https://www.cnblogs.com/wyb666/p/10222070.html 推荐书籍:<程序员代码面试指南 ...

  7. app后端开发系列文章文件夹

    一点废话 每个程序猿心中,都有一个大牛梦.我们在晨曦之光中敲击着代码,在寒冬覆雪中思考着0与1. 夏练三伏 冬练三九这说的就是我们这群[江湖]中人.在这里我们门派林立,C语言派历史悠久,在程序界就是嵩 ...

  8. Java后端开发工程师是否该转大数据开发?

    撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人 背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我 ...

  9. Java 后端开发常用的 10 种第三方服务

    请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 严格意义上 ...

  10. 后端开发实践:Spring Boot项目模板

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

随机推荐

  1. Application保存作用域

    Application保存作用域,作用范围:一次应用程序范围有效.Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据. ServletContext在服务器启动时创建,在服 ...

  2. C语言------选择结构

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4.小结 1 .实训名称 实训4:选 ...

  3. 齐博x1万能数据统计之fun函数

    使用 fun("count@info",'数据表名','用户uid') 可以统计指定任何数据表的记录条数 fun("count@info",'cms_conte ...

  4. 实现etcd服务注册与发现

    转载自:实现etcd服务注册与发现 0.1.目录结构 . ├── api │   └── main.go ├── common │   └── common.go ├── docker-compose ...

  5. apijson 初探

    apijson 初探 本文试着用 5W1H 方式切入,试图快速建立自己对 apijson 的整体认知,所以这不是一趟快速入门的 demo 之旅,而是显得比较务虚的探索式知识体系整合过程. 持续更新中. ...

  6. MyBatisPlus 常用知识点总结

    @ 目录 完整的Mybatis-Plus项目 常用注解 设置表名(@TableName) 设置实体类字段 (@TableField) 通过 @TableField(fill=FieldFill.INS ...

  7. CentOS6/7 配置守护进程

    CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式. 一.相关命令 通过initctl help可以查看相关命令 [root@localhost ~ ...

  8. Scrapy 如何传递 get请求的params

    我们都知道 在requests中可以使用 requests.get(url,params)的方式传值 那么在scrapy中如何传值呢 直接看代码 from urllib.parse import ur ...

  9. Helm干货!速度围观!

    最近个人学习Helm,感觉Helm的功能很强大!分享一些干货给大家吧,希望有所帮助! 基本概念 Chart 一个Helm包,包含在K8S集群内,运行一个应用,工具或者服务所需要的所有的资源定义,类似于 ...

  10. TreeUtils工具类一行代码实现列表转树 实战Java8 三级菜单 三级分类 附视频

    一.序言 在日常一线开发过程中,总有列表转树的需求,几乎是项目的标配,比方说做多级菜单.多级目录.多级分类等,有没有一种通用且跨项目的解决方式呢?帮助广大技术朋友给业务瘦身,提高开发效率. 本文将基于 ...