前言
个人2019年毕业,目前工作10个月,所以难度和校招差不多。
发波面经攒个人品
面经部分有些答案可能有错,欢迎指出,谢谢。
面试
1.tencent 1面
代码题:
实现void split(string target,char t,vector<string>ans);
实现int atoi(char*p);要求正负号,int溢出检测</string>
c++:
多态的实现原理? 构造函数可否为虚函数,原因? 析构函数呢? 函数的重载,重写。 volatile关键字 new的实质 (顺便扯了,malloc和free的实现)
os:
虚拟内存,物理内存,虚拟内存的空间分布 进程的通信方式 (只答了几种通信方式,共享内存最快) 进程挂了共享内存是否还存在,为什么?(不知道,结束之后百度:进程间通信使用的数据结构:管道、socket、共享内存、消息队列、信号量等,是属于内核级的,一旦创建后就由内核管理,若进程不对其主动释放,那么这些变量会一直存在,除非重启系统。) mmap了解吗?(不大了解,答的将文件映射到虚拟内存,减少读写io)
通用:
常用的linux命令,top,netstat,df,free,strace,pstack gdb用过吗,如何查看调用栈(bt,backtrace) cpu占用过高了,如何排查?(不知道) 程序crash了,如何排查?(不知道) 阻塞和非阻塞的区别
网络:
select,poll,epoll? select是阻塞的吗? ddos的含义,发生在三次握手的哪个阶段,为什么会ddos tcp3握4挥 tcp和udp的区别 数据包mtu(最大传输单元)
锁:
自旋锁和互斥锁 cas和aba问题 乐观锁和悲观锁,以及其使用场景
mysql:
acid和事务隔离级别 脏读,不可重复读,幻读是什么 索引的原理,优缺点,查询一定走索引吗? 如何看mysql是否走了索引,explain 索引回表问题
redis:
redis的5种数据类型 redis的持久化 zset的底层实现 redis主从,哨兵模式
分布式:
cap原理 cap与acid中的c是否一致?(答的一致,实际上不一样) base了解过吗?(没听说过,后面百度是基本可用,软状态,最终一致的一个理论)
消息队列以及大数据:
问了kafka,hadoop,spark(答只听说过,没怎么使用过,没问了)
项目:
讲项目中的一个难点(blabla,讲的幂等性) 一个项目中用了etcd,介绍etcd,扯了用etcd和confd做服务发现
大部分基本上就是这样,其他的想不起来了。
全部评论
(9) 回帖