10.14一面(好像有点晚了,不知道还有没有hc)
提前进去面试间等了一小会面试官就进来了,总体上面试官人挺好,就是自己回答得一般般。。。
首先是自我介绍
完了以后面试官说,看我简历写的是熟悉java和c++,所以是都会吗
我就解释了一下c++是项目主要语言,java是刷算法用过(qwq)
然后就进入正题……一大堆八股来袭……
c++:
1、c++是面向对象的编程语言,能介绍一下c++面向对象的几个特性吗?(一顿输出)
2、能再仔细介绍一下c++的多态吗?(又一顿输出)
3、能说一下内存泄漏发生的情景吗?
4、虚析构函数
5、多态是怎么调用派生类重写的方法的(回答了虚函数的实现,虚函数表以及虚表指针,不知道对不对)
6、多线程接触过吗?控制线程访问共享资源有哪些锁?
7、介绍一下互斥锁(中间穿插了一点项目的实现细节问题)
8、介绍一下信号量
9、介绍一下条件变量
10、产生死锁的条件以及怎么解决死锁问题
11、了解线程池吗?线程池是怎么实现的?代码是你自己写的吗?
12、线程池中的队列知道吗?队列是无限大的还是有限的
13、介绍一下线程的几种状态。
数据库
1、看你简历上写用过redis,用过分布式锁吗?(没有,一顿道歉)
2、要是让你设计一个分布式锁,你会怎么设计(不会呜呜呜)
3、数据库锁有哪些?(回答了行级锁和表级锁,面试官说乐观锁和悲观锁知道吗?赶紧说知道知道)
4、那你介绍一下乐观锁和悲观锁
5、乐观锁的实现方式
6、数据库的索引了解吗?介绍一下联合索引
7、介绍一下数据库事务
8、简单说几种索引失效的场景
数据结构
1、介绍一下平衡二叉树以及为什么要有平衡二叉树?
2、map的底层是什么?(红黑树)
3、map的底层说到底是哈希,那么当出现哈希冲突的时候有什么办法解决?
算法
1、知道堆排序吗?(听说过)
2、介绍一下堆排序的实现过程
3、算法题:给你出一个简单的算法题,我有一个字符串,里面都是小写字母,想要输出出现次数最多的字符,说一下你的思路。
over。大半个小时是怎么可以问这么多问题的。。。
这里是分界线—————————————————————————————————
10.20二面(面了大概半个小时)
面试官人很好,感觉自己也很放松,回答得还行
首先开始先做一个简短的自我介绍 ,然后面试官开始问啦
项目
1、说一个你在项目过程中解决的最困难的问题,用什么技术去解决的?
2、介绍一个你最熟悉的项目
3、作为项目的负责人,如果出现了协调问题,你会怎么解决?
八股
1、了解STL容器吗?说一下你熟悉的几个
2、HTTP和HTTPS的区别
3、你们实验室项目用到数据库的吗?(mysql)
4、介绍一下mysql的常见的存储引擎,以及它们的区别是什么?
5、介绍一下数据库的几个隔离级别以及mysql默认的隔离级别(可重复读)
6、mysql底层为什么用的是b+树?
7、介绍一下使用tcp进行通信的时候socket的使用过程
8、了解线程池吗?大概介绍一下
9、了解设计模式吗?介绍一下单例模式
10、了解IO多路复用机制吗?(select、poll和epoll)介绍一下他们的区别
11、介绍一下epoll的两种实现方式
12、有了解epoll的底层数据结构吗?介绍一下
最后是反问环节。
当晚就收到了hr面试预约邮件,24号hr面
#招银网络科技面经#