1. 指针和数组啥区别 内存里怎么访问的 (mov 数组的话基址+offset)
2. 内存访问一个int 和访问一个int数组啥区别 x86下向量化指令SIMD用过没(见过没写过) arm访存指令 (load/store)
3. 声明一个数组 在内存里咋样 (推esp)
4. voliate关键字 (强行写回内存 防止未定义操作)
5. 结构体 在内存中 怎么存放的(x86下按4字节对齐)为啥 (减少访存次数)
6. pthread_create
7. epoll 内核原理。。从网卡收到一个包开始讲起。。(我艹)
8. 建堆 时间复杂度
9. malloc sbrk的内存里机制 mmap 文件映射 匿名映射 munmap 为啥munmap能直接释放一段内存 内核怎么实现的 (三句话不离内核 我吐了)
10. 进程 线程 (进程:通用寄存器+状态寄存器+浮点寄存器+...+整个虚拟地址空间;线程:线程栈+一部分寄存器)
11. x86 调用寄存器 被调用寄存器 (忘了。。口胡了个ebx ecx被告知了正确答案)
12. 讲了讲jemalloc结构 为啥jemalloc分配和释放快
13. gdb 命令 (讲了gdb调试clang) 有没有用gdb调过汇编 (我:gdb还能调汇编???)
14. git 命令 rebase用过没 git机制 怎么实现的 (讲了个bisect 他也没用过hhhh 正常就clone tag show log push commit fetch pull)
15. strace ;perf 原理是啥 (不晓得)除了函数统计 微架构相关数据关注过没?(研究过 L1 cache miss)
16. 算法题
emmmm,记录一次神奇的面试经历,春招做完笔试就没消息了,最近莫名其妙被捞起来面试,又莫名其妙地被挂了
一面 2020年8月4号
TCP三次握手、四次挥手、CLOSE_WAIT和TIME_WAIT
MySQL的常见索引和使用场景
编程题:
1.如果把二叉树看成一个图,父子节点之间的连线看成是双向的,规定距离为两个节点之间的个数,求一棵二叉树中相距最远的两个节点之间的距离。
2.设计栈,使得getMin()和getMax()的时间复杂度为O(1)
三个栈,一个原始,一个存最小,一个存最大
3.一个数组中只有一个数字出现了奇数次,其他数字出现了偶数次,找到出现了奇数次的那个数
套路位运算
4.100层楼和2个玻璃杯,怎样用最少的次数找出杯子在哪一层会碎
经典题目了
聊实习经历
二面 2020年8月8号
聊项目:
如何解决消息丢失的问题
如何确保离线用户也能收到信息
如果要存储的消息非常多,如何处理
有没有做过压测,支持多大的并发
除了文本,还支持别的消息类型吗
为什么要自定义通信协议
为什么选择fastjson?fastjson有哪些问题
为什么不考虑使用Protocol Buffers用来做信息交换
拆包和解包是如何实现的
介绍下Netty的NIO
介绍下I/O多路复用select/poll/epoll
如何优化这个聊天项目,使它支持更高的并发
用过哪些消息中间件
堆和栈的区别
数组和链表的区别
哈希表是如何实现的?
介绍下B+树
事务的ACID
索引的优缺点、如何设置索引
MySQL的存储引擎和使用场景
进程通信机制
线程通信机制
LVS实现负载均衡
DNS解析的过程
TCP/IP协议栈
HTTP长连接和短连接
TCP拥塞控制
分布式系统CAP
1TB的数据如何进行排序
Java会出现内存泄露吗
如何定位和解决OOM
Java的GC中什么场景下使用CMS和G1
常见的设计模式、在项目中使用了哪些设计模式
三面 2020年8月10号
自我介绍,聊项目和实习经历
场景题:
1.有两个文件,文件中是一行行的字符串,如何比较两个文件内容是否完全一致?
2.对100TB的数据进行排序?(拆分多个数据段进行排序,然后归并)
需要归并多少次?
分配给多个机器并行处理,应该怎么做?
3.有1亿条边,边是由两个它的顶点的二元组来描述的,如何找出有多少棵独立的树?分析算法的时间复杂度(我说的先建邻接表然后BFS,其实可以用并查集做)
三面都是常规问题吧,感觉回答的也还行
最后的最后!!!
面试官:家是江苏的吗?来深圳这边工作有问题吗? 嗯,有点远了,不是很想去...
假如给你offer的话,你会违约吗? 看秋招情况吧,如果有江浙沪公司的offer会优先考虑的....巴拉巴拉(大概意思就是把腾讯当备胎)
三天后,官网显示流程终止
呜呜呜,有点后悔说了大实话
猿辅导二面
1. C++的虚函数机制
2. C++的inline函数机制,跟宏函数的区别
3. 事务的特性、隔离级别、什么是幻读、Innodb是如何解决的
4. 进程通信方式,socket和其余几种的区别
5. 智能指针介绍
6. TCP的流量控制和拥塞控制
7. 算法题:链表加法,原地修改链表
PS:我前面bb的太多了,后面只有十来分钟的时候开始做题,就做了一题,我同学基本都是两题编程
百度三面
基本是聊天,现在还在面哪几家,如果百度发了offer去不去,实习时间啥的
作者:zzzz_xyz
链接:https://www.nowcoder.com/discuss/472985?type=0&order=7&pos=19&page=1&channel=1013&source_id=discuss_center_0
来源:牛客网
阿里AC1题
第一题就是找当前数组的中位数,一开始只过了60%,改了数据类型long long之后AC了
第二题属实不会
百度二面
1. 自我介绍
2. 介绍项目
3. 哈希冲突怎么解决
4. 最小堆和平衡搜索树的区别
5. 单例模式(楼主作死回答了个pthread_once,人没了)
6. 局部静态变量在内存哪个部分,说说内存分区,有哪些段
7. 手写阻塞队列,忘了C++ 11的条件变量怎么用了,问了老哥能不能用pthread库,用pthread库写的
8. 打家劫舍3
9. 逆序对,这里我随口说了个用归并排序做,面试官很无奈看了我一会,问我知道线段树和线段树的离散化吗,对不起,不知道
10. 聊图的一些算法,单纯聊天
11. awk指令
12. 反问
面试 体验很好,就是本人过菜,笑着打出gg