金三银四最新Java后端架构面试原型题-【含答案,建议收藏】

371 篇文章 12 订阅
243 篇文章 10 订阅

最近虽然是互联网寒冬期,自己也收集了很多最新的面试原型题,现在分享给大家,希望对金三银四想要跳槽的朋友有所帮助建议你们收藏。以下是面试题。

字节跳动 一面

字节抖音 ,楼主社招  一年经验,最后算法要求O1,没想到用分治法

论成败,人生豪迈,大不了从头再来

  1. 系统QPS多少

  2. 项目瓶颈在哪里

  3. 压测这些指标讲一下

  4. 数据库的QPS多少

  5. 项目中Mysql架构是什么样的

  6. Mysql为什么不分库分表

  7. mysql索引B+tree 为什么B+树比B树更好,B+树非叶子节点里面存储了什么,给你个场景,画一下B+tree

  8. Mysql主从复制

  9. 跳表时间复杂度,为啥O(logn),手画出一个跳表,描述一下查找过程,3.5 怎么插入的,问的很细很细

  10. zrangebyscore时间复杂度

  11. Redis主从复制过程

  12. 写时复制原理

  13. select * from table where a = x and b = y limit 10000,10;

  14. 如果 a和b都使用了索引,讲一下索引使用过程

  15. 给你个场景,画一下B+tree

  16. redis性能体现在哪些方面

  17. Redis 是单线程的吗

  18. redis RDB过程

  19. 二叉搜索树转换成双向链表 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

å¨è¿éæå¥å¾çæè¿°

看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

  1. 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

  2. 关注公众号 『 java烂猪皮 』,不定期分享原创知识。

  3. 同时可以期待后续文章ing🚀

  4. .关注后回复【666】扫码即可获取学习资料包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值