阿里超底层/腾讯应用层笔试题

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

你可能感兴趣的:(算法)