最近虽然是互联网寒冬期,自己也收集了很多最新的面试原型题,现在分享给大家,希望对金三银四想要跳槽的朋友有所帮助建议你们收藏。以下是面试题。
字节跳动 一面
字节抖音 ,楼主社招 一年经验,最后算法要求O1,没想到用分治法
论成败,人生豪迈,大不了从头再来
-
系统QPS多少
-
项目瓶颈在哪里
-
压测这些指标讲一下
-
数据库的QPS多少
-
项目中Mysql架构是什么样的
-
Mysql为什么不分库分表
-
mysql索引B+tree 为什么B+树比B树更好,B+树非叶子节点里面存储了什么,给你个场景,画一下B+tree
-
Mysql主从复制
-
跳表时间复杂度,为啥O(logn),手画出一个跳表,描述一下查找过程,3.5 怎么插入的,问的很细很细
-
zrangebyscore时间复杂度
-
Redis主从复制过程
-
写时复制原理
-
select * from table where a = x and b = y limit 10000,10;
-
如果 a和b都使用了索引,讲一下索引使用过程
-
给你个场景,画一下B+tree
-
redis性能体现在哪些方面
-
Redis 是单线程的吗
-
redis RDB过程
-
二叉搜索树转换成双向链表 O(1)
快手一面
面试一个小时,问了很多,有的记不清
1 Redis的五种数据类型
2 Redis的缓存雪崩和缓存击穿,怎么解决
3 分布式锁
4 mysql怎样会产生死锁,间隙锁
5 mysql的事务实现原理是什么
6 mysql的索引有哪些,什么是聚集性索引,什么是非聚集性索引
7 B+树和B树有什么区别,为什么使用B+树而不使用Hash存储
8 线程池了解什么,里面的主要参数有什么,关闭线程池都可以使用哪些API
9 手撕代码:要去买东西,求最小使用的人民币张数,比如7块钱,最少就是用2张,五块+两块
2020.12.12京东一面
1.c/c++的区别
c面向过程 c++面向对象 又说了继承 多态 类 结构体 引用 指针等等
2.多态
成立的条件:重写 继承 父类指针、引用指向子类对象
效果:相同语句实现不同效果
原理:根据具体对象获得vptr,通过vptr找到vtable ,通过vtable找到相应的函数地址。
3.重载
相同名称,不同的参数类型,位置,个数,发生在一个类中。
4.gdb调试
没搞过。。。需要实操。。
5.vector 扩容的时候,进行的拷贝用的哪个函数
uninitialized_copy。具体的过程就是先allocate进行内存分配,并使用一个迭代器进行指向,然后使用uninitialized_copy将原有的vector的值每一个copy一份到刚才分配的未初始化的内存。所以这里进行的是copy构造。并且uninitialized_copy规定,当有一个拷贝构造失败,则回退所有的。
6.vector的push_back后,外部修改刚才的值,是否改变。
vector进行push_back调用的是哪个构造函数 copy构造
不发生改变,因为进行的是copy构造,是将原有的值copy一份到vector.
7.const的作用
8.const函数中想修改对象 怎么办 mutable
9.智能指针原理 shared_ptr unique_ptr
多个指针指向同一对象 shared 引用计数
只能一个指针指向一个对象 unique
智能指针能否用在父类指针指向子类对象 可以
9.构造函数有哪些
无参 有参 拷贝构造。
10.拷贝构造的场景 赋值运算符的场景
拷贝构造四种场景:初始化等号 初始化括号 实参传形参 函数返回对象
赋值运算符场景:A a A a1 a1=a;
11.close_wait是哪一方的
被动关闭的一方。主动关闭的一方发送FIN报文段,被动关闭的一方接收到并发送ACK报文段后进入close_wait
12.多线程说一说
从线程和锁两个方面说。我答的是线程相对进程的优点 以及互斥锁 条件变量。其实还有读写锁 自旋锁。
13.自旋锁知道吗
自旋锁:在线程未获得锁时,线程不会像互斥锁那样挂起,而是占用cpu不断轮询查询锁。
14.有多个线程,一个线程挂了,其他线程?
整个进程崩掉,其他线程自然挂掉。
15.测试主要使用的是什么工具
python + selinum
16.自己实验中core dump返回的singal是什么。 说自己也没看
signal 6 – SIGABRT 多次free 多次fclose
signal 11 – SIGSEGV 引用空指针成员 fclose空指针。
17.tensorflow与pytorch的区别
18.怎么禁止一个函数被重写
面试官自答:在一个函数后面使用finall,防止这个函数被子类重写
下去查了一下:还有一个override的用法也需要了解,override写在函数后,保证这个函数是父类重写的,这样编译器会帮助我们检测名称,参数类型的错误。
19. linux查看线程命令
top
20.反问。 搜索部门的
本来30分钟,面了50分钟左右。
学会gdb调试,copy的实验,const函数的实验,做一个http服务器。 vector具体调用的函数
2020.12.18京东二面
1.你非科班,为什么想搞开发啊。你们和计科在课程设置上有哪些是一样的吗?(emmm)
2. C++项目经验有点缺失啊,没项目那就问基础吧(emmmm)
(这两个一答,我自己底气就不足了。)
3.构造函数可以是虚函数吗?
不可以 因为虚函数的调用是用到虚函数表的,而虚函数表的通过虚函数指针找到的,虚函数指针又是放在对象内存里,此时对象内存没有分配,也没有初始化。所以不可以。
4.空类可以存在吗? 合理吗?
空类是可以存在的,编辑器会为空类分配1个字节的空间,这样可以防止类创建对象时产生相同的地址。
5.构造函数的继承,private public说一下。
可以进行访问控制,private是只能在类里面进行访问,public是外面里面均可以访问。
6.父类的potected,子类确定可以访问到吗?
(这个不明白啥意思)这个不就是可以访问的吗?给我问懵了。
7.构造函数设置为private有什么效果
构造函数设置为private以后,这样的话就不能静态的创建对象了。还有自己没答出来的应该是这个类应该就不能被继承了。
8.构造函数设置为protected,怎么new创建对象呢。
通过设置一个类成员函数,然后new一个对象就可以了。
反问
1.技术栈 C++ 少量python与golang
2.给点建议(概念落地项目) 本来30分钟的,20多分钟完了。
2020.1.15 hr面
1.你的个人优势在哪里?
2.你当时选择的本科学校的理由?
3.你目前在所在公司实习的原因?
4.个人优缺点?
5.反问:后续流程大概多久?
最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法以及最新的简历模板等学习资料,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友扫描下方二维码免费获取:暗号:【CSDN】
看完三件事❤️
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
-
点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
-
关注公众号 『 java烂猪皮 』,不定期分享原创知识。
-
同时可以期待后续文章ing🚀
-
.关注后回复【666】扫码即可获取学习资料包