OPPO内推OPPO内推OPPO内推

OPPO 测开面经,摘自优秀牛油

昨天在等某小厂面试时候,突然接到oppo电话,聊了两句直接就开始问八股了,可能要人要的比较急,没有通过hr约时间。询问内容主要是java的八股,记录如下:

1、接口和抽象类的概念,定义以及区别。

2、synchronized关键字,能够修饰什么,修饰方式的作用

3、什么是单例模式,回答中有提到会减少性能消耗,有揪着这个点继续问,为什么会性能更好,这个是主要目的吗?不同的单例模式实现方法之间的性能差别(没回答出来)

4、Stringbuilder和Stringbuffer之间的区别,为什么一个线程安全一个不安全

5、volatile关键字

6、原子操作

7、Java 的反射机制

8、sql truncate关键字

反问:

工作内容,有无转正机会

真实工作体验~GTM管培生

【过往历程】 9月-10月——湖南轮岗导购 11月-12月——佛山勒流影子业务 24年1月-7月——佛山南海正式业务经理 24年8月-25年3月——上海KA经理 25年3月-至今——上海GTM Reno系列+Find系列操盘 【发展路径】 (导购-业务经理-KA经理-省级GTM经理——定岗海外/中国区);未来定岗选择方向也非常非常多,中国区和海外都有,算是管培体系非常完善的公司了,未来也是把大家往总监/总经理去培养,空间特别特别大 【个人感受】最开始会有学历焦虑,但越往后越不这么觉得,能力更加重要;在OPPO做管培能交到非常多好兄弟,跟大学非常像,全国各地都有自己的管培兄弟,真的很nice!

【关于收入】OPPO开的真的很不错,在未来更是前途无量,空间和机会非常非常多!

OPPO 2026 届寻梦(可转正)实习招聘正式启动

【招聘岗位】AI/算法类,标准研究类,软件类,硬件类,产品类,设计类,工程技术类,销售服务类,品牌策划类,采购类,综合职能类(同学们可同时投递 AI 实习生专项与寻梦实习招聘,每位同学最多可申请2个岗位,我们将优先根据第一志愿进行简历处理)

【工作地点】东莞、深圳、成都、上海、北京、西安、南京、重庆

【福利待遇】极具竞争力的薪资+制化培养体系+多样化发展机制;在岗实习满2个月的寻梦实习生可参与转录用答辩,答辩通过者可获得转录用offer,毕业后可正式加入OPPO。公司没有设置固定的转录用比例,优秀的同学都有机会通过实习获得校招offer 

【内推链接】https://careers.oppo.com/university/oppo/campus/post?shareId=9377

【内推码】24DS1137(内推简历优先筛选,加速流程推进)

留下岗位和姓名缩写~我会帮你跟进大家投递完可以在评论区打上姓名缩写+岗位,我来确认有没有内推成功

#内推#
全部评论

相关推荐

(自我介绍,略)我:介绍项目,提到一些设计的改动就是你这边有提到状态的这弱一致性,那你这边怎么去理解弱一致性和强一致性?你有对这一块有了解吗?我理解,我这边看你还有使用 naocs,充当的部分是什么?是配置中心还是做那个服务发现这一块的能力?想问你的就是对于 Narcos 的 AP 和 CP 是怎么去配置的?然后你是怎么考虑这个 AP 和 CP 的?嗯,对这一块有了解吗?那如果我不用 MQ 的话,能不能实现这一套呢?就是我完全靠,比如说就只靠DB,我不需要 MQ 这样的一个中间件能不能实现同样的效果呢?(分布式事务)定时任务的频率你是怎么考虑的呢?如果是多节点呢?怎么考虑定时任务的同步协作那如果不想用分布式的引擎调度呢?(回答分布式锁)在设计这个分布式锁的时候会考虑到哪些东西?你这边对于定时任务的线程池的配置是怎么样的?如果数据量上来了之后,你定时任务超出了那个执行的时长的话,你是怎么考虑这个情况的呢Redis 常用的一些数据类型有哪些呢?比如 Redis 里面我要存一些对象列表,然后这些对象里面有一些属性,然后我需要对这些对象列表做分页、做搜索、做筛选。有这三个需求, Redis 能满足我,哪一个数据类型能满足我?或者是它这个数据类型的 API 能不能满足这一点?如果不满足的话,有没有其他的解决方案的你这一块提到了lua脚本的话,那如果这个 Lua 脚本很复杂的情况下,你是怎么做调试的边的话,我看你这边对 Java 并发编程这一块了解的比较多,你可以讲一下对于 Java 内存模型的一些理解吗?这边的理解我想我希更希望的是你能表达出这个内存模型,比如说我们都知道计算机硬件,对吧?都知道有CPU,对吧?有内存,多个线程会对这一块数据做进行操作的时候,为什么会有并发的问题?然后我们怎么从那个计算机的硬件角度上去理解它这样整体的一个过程?然后我们又是通过什么样的方式来解决这个问题的?然后我们再去了解这个过程,就是它是通过什么特性或者通过什么协议来保证的,然后或者是它这个协议其实际上原则上没有保证这一点,又是通过什么手段去解决这个问题的?你简单讲一下这边就是提及到两点,一个是 synchronize 的关键字,对吧?嗯,然后还有一个是 retrend lock 这一些对应的一些API,对吧?嗯,是的,然后你刚刚也提到 volatile 这一块的一个关键字,它只能保证内存的数据的一个可见性。那你这边,嗯,能深入聊一下,就是对于 volatile 这一块,它关键字实际上是怎么保证这个内存数据是可见的呢(答了字节码层面的标记变量) return lock 这一块,它你知道它背后它是怎么支持的吗?跟那个 synchronize 的区别是什么呢你理解的 return 的log,它实际上维护的是一个状态数据,这一块状态数据是在哪里存储的呢?使用 spring 事务过程中的时候是怎么使用它的?然后使用它的时候需要注意哪些方面?这些方面会有哪些隐患?说到了使用事务的时候会有你这个就是一开始定好的分布式锁的力度和事务所谓的力度并不一致的情况。那我如果想问一下,我在一个事务方法里面,它可能存在一些异步的一些代码,我可能就是比如说有些代码会去考虑到并行的情况,我想去提速的话,我需会遇到哪些问题?或者说这个问题能不能解决掉?其实想问的一点就是你理解的这一块的事物的数据,如果我们是用声明式的注解去做的时候,这一块事物的数据它是怎么存储的?您知道了解这一块吗?(懵逼,面试官解释了一下:它其实是跟着线程变量来的)就是你在使用这个事务过程中的时候,假如我们这边不用 d b 的事物去做了,然后那我能不能就是相当于我自己去实现套你这一套的事物的一个提交回滚?然后我可能不是放,不是用 DB 的那个statement, prepare statement 去做这一块事情的话,有没有其他的方式去做呢?比如说我把这个数据,就是这些事物的一些数据,因为我们这个东西肯定是存这个这些DB、 MySQL 或者 PG 它们引擎里面,它自己会去存这样的一个事务数据,对吧?它有对应的事务记录,那这个事物的记录你如果我把它迁移到,比如说就假设是一个开放性,等于,就比如说我放到 Redis 里面,那我在 Redis 里面应该怎么存?然后我怎么去用这一块的一个就是这一块的事务记录我是怎么交互的呢?比如说我想在 Java 里我不用 Sprint 事务了,我想自己实现一套AOP,然后这一块我该怎么去实现呢?(完全懵逼)我们实际上我们是有一些业务库和一些用专门用来做查询的一些库,我们是会分开的,就是写库和查库,我们实际上可能并不是统一到数据源,那我们是怎么保证这一块去做的呢?就是你会选择去做实时的时候,双写还是离线的方式去做,那离线去做的时候你又怎么去控制这一块的一个定时任务的频率的?对实时和离线这一块的选择会考虑哪方面的一些事情呢?就是为何选择实施?为什么要选择离线?你有想过这一点吗?(依旧懵逼)----------------------------------------------------------------------彻彻底底被拷打得体无完肤,最服气的一次,面试官人很好,答错时会给出一些解答和考察方向,打断的时候也很有礼貌
查看22道真题和解析 面试常问题系列
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务