文章目录

  • 一、前言
  • 二、一面
  • 三、小插曲
  • 四、二面
  • 五、中场休息
  • 六、HR 面
  • 七、小结

一、前言

OPPO 我参与的是南京的线下面试,因为投递的时间比较晚(10.8),所以笔试都没有让我做,直接让我过去了

线下面分为两天,第一天技术面,第二天是业务面和 HR 面

除了技术面之外,业务面和 HR 面对于我来说都是新的东西

闲话少说,咱们打板儿就唱哦

二、一面

1、自我介绍

年龄,学校,专业,技术栈,竞赛,项目,实习

2、怼项目

3、实习负责的模块,具体讲一讲

js 逻辑核查引擎,讲了一下大概的业务

4、算法题:找众数,数据大约 10000 个(其实多少个都无所谓)

方法1:

使用 map ,统计每个数出现的次数,然后返回出现次数最多的那个数

空间 O(n),时间 O(n)

方法2:

排序,然后遍历统计

空间 O(1),时间 O(nlogn) <在使用快排或归并排序的情况下>

我为了求稳,写了一个归并排序

方法3:

使用大根堆,后面的逻辑和方法二类似(这个方法有点炫技,堆排序和构建不熟悉的同学不要写,不然可能会自己打自己脸)

空间 O(1) 时间 O(n),这个照理说是最优解(但还是那句话,堆构建除非自己十分熟悉,否则不要写!!)

5、创建线程的方法

继承 Tread 类,实现 Runnable 接口,实现 Callable 接口

然后重写 run 方法,调用 start() 方法

6、还有什么方法

可以使用线程池

7、介绍一下线程池

四个讲了一下,并对 ThreadPoolExecutor 多费了些口舌讲了一下其中参数的含义

8、线程怎么按照顺序启动

9、介绍一下 java 内存模型

(面试官是把内存模型和内存结构的概念搞混了,后来核实了,其实是要问内存结构)

每个线程私有一个虚拟机栈,程序计数器

还有本地方法栈

还有堆区,方法区

10、GC 算法

复制-清除

标记-清除

分代-清除

然后将 minor GC ,major GC 的过程讲了一下(新生代的 Eden区 s1,s2区,老年代是经过新生代多次 GC 放入,或者是触发了担保机制,或者是一开始申请的就是很大的对象)

11、OOM 怎么排查

(这一块儿的内容没看到,但是我在实习的时候遇到过内存泄露)

实习公司使用 ThreadLocal 导致内存泄露;处理方案

12、TCP UDP 区别

这个老问题了,几乎每个面试官都会问

13、http和 https 的区别

讲了一下区别,和https 加密流程

14、还有什么区别?

(这我还真就不知道了)

15、你了解哪些加密算法

MD5 ,非对称加密,(还有哪些我就不知道了)

16、数据库三范式

1-3 NF 分别表示什么

17、面向对象编程的注意点

多用组合,少用继承(MVC 架构经典方式)

开放扩展,关闭修改

(我记得高软课上上过好多,但是我只记得这些)

18、设计模式有哪些

我说了几个常用的,结果面试官是让我把 23 个全部说出来,这我哪儿记得

OPPO 后端开发 一、二、HR 面面经 (已 OC)相关推荐

  1. 纯干货!Java后端开发十二条经验分享!

    前言 本文是博主从事后端开发以来,对公司.个人项目的经验总结,包含代码编写.功能推荐.第三方库使用及优雅配置等,希望大家看到都能有所收获 一. 优雅的进行线程池异常处理 在Java开发中,线程池的使用 ...

  2. OPPO后端开发面试经历

    约的下午,过去发现好多人,等了一会.总体来说过程体验还是不错,特别是面试官很好. 面试过程主要如下: 面试官:今天人比较多,我们在这开始吧,先自我介绍一下. 我:... 面试官边听边看我的简历. 面试 ...

  3. Flask后端开发(二) - Flask的练习(入门)

    建议食用官方文档:Welcome to Flask - Flask Documentation (2.1.x)https://flask.palletsprojects.com/ 前言:避免文章篇幅过 ...

  4. 2023-01-05 长亭科技 Go 后端开发实习生二面

    由于面试官前几天

  5. 京东后端开发实习一二面面经(已offer)

    *号表示没答上 一面(1h) 1.聊一聊你在学校的实验班主要干什么 2.拼写检查项目如何实现,一些细节(实现.部署) 3.在华为的项目为什么要用mongodb,数据量的量级 4.项目中redis的作用 ...

  6. java后端语言,后端开发语言哪一种比较好?后端开发语言比较

    网络开发语言是一种编程语言,用于支持并维系一个网站的建设,使用一个高级合理的编辑语言,能够帮助您更快的进行网络建设开发.然而,在网络建设时,网络建设开发师常常为了选择哪一种网络开发语言而发愁,下面小编 ...

  7. 字节跳动后端开发一面、二面、三面

    一面(大概50min,忘记录音了) 基础知识有点多记得不太清楚了. 介绍一下你的第一个内存池项目. 面试官说他也知道这个内存池,这块儿谈的比较久. 项目是自己完成的吗?为什么要做这个项目? 这个内存池 ...

  8. 2021.4.7 美团买菜后端开发实习生(二面)(含总结)(已oc)

    title: 2021.4.7 美团买菜后端开发实习生(二面) tags: 面经 2021.4.7 美团买菜后端开发实习生(二面) 自我介绍 Java学习时长 final关键字的作用(见下文) 注解有 ...

  9. “安居客“住房系统-基于Python-Django前后端分离开发(二)——基于RESTful架构的数据接口配置以及Redis高速缓存

    "安居客"住房系统-基于Python-Django前后端分离开发(二) 基于Django-Rest-Framework创建接口数据(二) 文章目录 "安居客"住 ...

最新文章

  1. AcWing 2983. 玩具 / POJ 2318.toys(计算几何基础、二分、判断点和直线的位置关系)
  2. 最好用浏览器_魔镜魔镜,请你告诉我谁是Mac上最好用的浏览器?--全网最好用的12个功能让你玩转Safari...
  3. QC中设置组权限-隐藏筛选器
  4. NTU 课程笔记: CV6422 regression
  5. 云原生生态周报 Vol. 8 | Gartner 发布云原生趋势
  6. boost::core模块实现交换std::bitset
  7. 将SQL Server查询导出本地excel(mail发送)
  8. c++11之std::move()
  9. 图论——最小生成树:Prim算法及优化、Kruskal算法,及时间复杂度比较
  10. GRE阅读高频机经原文及题目之能源消费(逻辑)
  11. SM2椭圆曲线公钥加密算法
  12. Interview:职场面试技巧之STAR面试法则
  13. Swift 5.1 温故而知新笔记系列之第七天
  14. 深圳一普通中学老师工资单曝光,秒杀程序员
  15. yolov4-论文解析(3)
  16. 数字电路课程设计 密码锁
  17. Flutter时间转换工具类
  18. [CodeForces 332B]Maximum Absurdity[DP]
  19. 利用Win10自带的计算器把十六进制,八进制转换成十进制
  20. 五千字长文为你揭秘滴滴共享出行派单算法原理(干货)

热门文章

  1. 用 VR 玩《魔兽世界》是一种怎样的体验?
  2. 如何学习C4D?非常详细的C4D学习攻略!按照这个步骤你一定成为影视后期大神
  3. linux arm关闭光栅,基于Linux的光栅检测系统的软件设计与实现.pdf
  4. 点阵字python_Python点阵字玩转动态歌词
  5. 2022年最新NFT 开发平台解决方案
  6. cat5和cat5e的区别_具有功能以及CAT5与CAT6的CAT5电缆标准是什么?
  7. 10月1日 - 10月7日,国庆
  8. 固态硬盘能提高服务器内存吗,内存涨疯了!固态硬盘能替代内存吗?
  9. DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
  10. MTK平台基于EV1527的无线接收和发射程序