【一面】
(我觉得我是所有人里面最简单的orz)
1.自我介绍
2.操作系统
2.1 进程和线程
2.2 进程通信
2.3 进程调度
2.4 段表 页表
2.5 死锁和必要条件
3.计网
3.1 ARP协议
3.2 TCP UDP的区别
3.3 DNS协议
3.4 TCP的滑动窗口
3.5 输入URL的后续全过程
4.数据结构
4.1 算法的四大特性—>空间复杂度和时间复杂度
4.2 队列和栈
4.3 HashMap的实现(顺便答一下冲突处理)
4.4 深度优先和广度优先
4.5 中序遍历是深度优先还是广度优先
4.6 冒泡排序的原理 空间复杂度和时间复杂度
5.算法
5.1 一天内分钟和时钟能相遇几次(口述就行)
5.2 链表去除重复结点
【二面】
1.算法
10进制(int)转2-16进制(牛客cin不能输入俩变量debug了好久,血压升高)
100位10进制如何转2进制(口述)
2.C++
2.1 面向对象特性
2.2 多态的提现
2.3 重载和重写
2.4 用过memset,memcpy吗—>STL
2.5 vector和链表的优缺点
2.6 vector怎么保证线程安全(读者-写者问题)
3.数据结构
3.1 前序,中序,后序遍历的过程
3.2 一道考研题给了后序和中序,写出前序结果
3.3 分组异或那道题(先提排序怎么实现,然后不用排序)口述
4.继续C++
4.1 常量怎么写(define和const的区别)
4.2 宏函数有什么缺点(define和inline的区别)
5.好了问了项目(万能项目音乐播放器)项目越多越好。然后委婉diss了下笔试成绩,估计无了。
【三面】
1.自我介绍
2.开始C++
2.1 了解过C++面向对象的特性吗
2.2 说说封装
2.3 说说继承
2.4 public和private继承有什么区别
2.5 说说多态的体现
2.6 虚函数的实现
2.7 虚函数表
2.8 static关键字
2.9 函数重载(自己说的编译生成的函数名@前面一样,后面不一样)
2.10 智能指针的种类,特点
2.11 shared_ptr底层
2.12 unique_ptr底层(不了解直接过了)
2.13 weak_ptr(只说了解决循环引用)
2.14 智能指针的线程安全(直接不了解)
2.15 堆栈有什么区别
2.16 malloc和new有什么区别
2.17 STL用过什么
2.18 map查找和unordered_map查找效率
2.19 vs经常报的错(xxxx找不到符号什么的,我说最近没写代码没遇到过反手说自己遇到过stack overflow和vector subscript out of range)
2.20 说说C++的其他特性(在黑学校上的C99和C++11之间的区别)
2.21 了解多线程编程吗?(非科班表示#include<thread.h>就写过一次)
不小心说了Qt—>connect的实现(说自己临时用的Qt,会用不了解)
3.聊职业规划
3.1 最多实习几个月
3.2 以后会一直软件开发吗?
4.操作系统
4.1 线程和进程
4.2 进程同步(问我编译器怎么实现,脑抽管程然后说Java有同步类)
5.数据结构
5.1 排序的种类
5.2 快排的原理,时间复杂度
6.按照给定符号分隔字符串