讨论/求职面试/OPPO - C++ 工程师/

oppo.jpg

语言

  • C++ 三大特性
  • python 和 C++ 有什么区别
  • 指针和数组的区别
  • volatile 关键字的作用
  • 什么是多态
  • 什么是虚函数
  • 什么是纯虚函数
  • 析构函数可以是虚函数吗
  • 构造函数可以是虚函数吗
  • 虚函数表存放的内容
  • 虚函数表存放在C++的哪部分内存中
  • C++ 内存管理
  • define 和 const 的区别
  • sizeof 和 strlen 的区别
  • static 关键字的作用
  • C++11 新特性
  • 有哪些强制类型转换
  • 智能指针的作用,有哪几种,实现原理
  • 如何避免循环引用
  • 左值和右值的概念
  • malloc 的实现原理
  • malloc 和 new 的区别
  • free 和 delete 的区别
  • struct 和 class 的区别
  • 堆和栈的区别
  • 重载和重写的区别
  • explicit 的作用
  • 静态绑定和动态绑定
  • 对象复用,零拷贝的了解
  • 成员初始化列表的概念,为什么用成员初始化列表会快一些(性能优势)

计算机网络

  • OSI 七层网络模型
  • TCP 三次握手,四次挥手
  • 两次握手可不可以
  • timewait 的作用
  • TCP 和 UDP 的区别
  • TCP如何保证数据的正确性
  • 超时重传机制
  • UDP 怎么保证可靠性传输
  • 流量控制和拥塞控制的区别
  • 一个MSL一般为多长时间
  • 怎么处理粘包问题
  • 输入一个url到网页显示的过程
  • HTTP是采用长连接还是短链接
  • 五种IO模型
  • 地址解析协议ARP的过程
  • 网际控制报文协议ICMP的过程
  • 动态主机配置协议DHCP的过程
  • WAN LAN WLAN VLAN ***的区别
  • http/1.0和http/1.1的区别
  • http和https的区别,由http升级为https需要做哪些操作
  • ping的过程,分别用到了哪些协议

数据结构

  • 数组和链表的区别
  • vector 中 size 和 capacity 的区别
  • vector 扩容原理
  • unorder_map 和 map 的区别

数据库

  • 关系型和非关系型数据库的区别
  • 常用SQL语句(DDL,DML,DCL,TCL)
  • 数据库中join的类型与区别(inner join, outer join, cross join, natural join, self join),注意适用场景和sql语句的编写
  • 数据库的索引类型
  • 聚集索引和非聚集索引的区别
  • 唯一性索引和主码索引的区别
  • 索引的优缺点,什么时候使用索引,什么时候不能使用索引
  • 索引的底层实现(B+树,为何不采用红黑树,B树)
  • B树和B+树具体实现
  • 索引最左前缀问题
  • Mysql的优化(高频,索引优化,性能优化)
  • 数据库引擎介绍,Innodb和Myisam的特点与区别
  • 数据库中事务的ACID
  • 数据库隔离性设置不同会出现的问题(脏读、不可重复读、丢失修改、幻读)
  • 数据库的隔离级别,Mysql和Oracle的隔离级别分别是什么
  • 数据库连接池的作用
  • Mysql的表空间方式,各自特点
  • 分布式事务
  • 数据库的范式
  • 数据的锁的种类,加锁的方式
  • 视图的作用与使用方法(如何删除等)

操作系统

  • 进程和线程的区别
  • 多进程和多线程的区别
  • 进程间转换的状态
  • 进程间通信方式
  • 线程间通信方式
  • 线程间同步方式
  • 如何保证线程安全
  • 什么是守护进程
  • 有哪些进程调度算法
  • 有哪些页面置换算法
  • 中断处理流程
  • 系统调用和中断的区别
  • 系统调用进入内核态的过程
  • assert 的作用
  • linux 查看进程的指令
  • linux 查找一个文件的命令
  • 怎么让进程在后台运行
  • 虚拟内存的实现原理和优势
  • 什么是内存泄漏,如何避免
  • 深拷贝和浅拷贝的区别
  • 死锁发生的条件,避免的方法
  • 遇到coredump要怎么调试
  • 内部碎片和外部碎片

算法

5
共 3 个回复

是校招吗?

荣耀招聘,有类似岗位,有兴趣的话可以直接投简历。
https://leetcode-cn.com/circle/discuss/rC4Qqj/

老哥没问算法么