最近的面经整理(猿辅导、网易、拼夕夕、shopee)
猿辅导一面 8/15号
1、自我介绍,自己介绍项目里的技术难点(总是逃不过这个环节,实在是没啥亮点)
2、redis在项目里的使用,使用的架构(单机版)
3、单机版在实际生产中会有什么问题,除了单机版还了解哪些架构方式
4、问jvm内存模型
5、说说Java垃圾回收是怎么做的
6、Java的多线程是如何实现的
7、多个线程操作同一个资源会出现什么现象,怎么避免这些问题(线程安全的措施)
8、进程和线程有什么区别,常规题
9、线程之间的调度策略
10、线程之间的调度策略
手撕代码:
1、链表数字+1
2、IP地址划分,力扣93. 复原IP地址
网易有道一面 8/14
1、自我介绍,介绍项目
问一些基础的问题:
2、在局域网里IP有时候会发生一些冲突(两个主机分配到一个IP地址),怎么解决这个问题
3、子网掩码和IP地址和网关有什么关系 (网关IP是一个网络通向其他网络的一个IP地址)
4、数据库的连接比较消耗资源,为什么怎么解决
数据库连接过程:
由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。
第1步:建立TCP连接,通过三次握手实现;
第2步:服务器发送给客户端握手信息,客户端响应该握手消息;
第3步:客户端发送认证包,用于用户验证,验证成功后,服务器返回OK响应,之后开始执行命令;
用户验证成功之后,会进行一些连接变量的设置,比如字符集、是否自动提交事务等,其间会有多次数据的交互。完成了这些步骤后,才会执行真正的数据查询和更新等操作。
解决:数据库连接池
5、产生死锁的条件
6、Java里四大引用说一说
7、跟内存泄漏有关吗
手撕代码:
8、反问 算法题不行
拼多多一面8/16
忘记录音了,问了很多很多分布式相关的概念,很多名字都没听过,基本上是处于一问三不知的状态
面试官居然给过了,实在是,哎
面试官超级好,给我讲了很多,还加微信了,哎
shopee一面8/16
也忘记录音了,也问了很多分布式相关的概念,感觉凉的很彻底,写一下记得的部分
1、问项目里难点亮点
2、进程、线程、协程
3、孤儿进程和僵尸进程,怎么解决僵尸进程问题
4、怎么实现分布式锁,三种方式一个一个来(跪了)
5、进程间通信方式
6、以消息队列为例,两个进程通过消息队列通信,需要进行几次内核态到用户态的切换
7、又给了个具体的场景,继续问需要几次状态切换(不懂哇,面试官说这些是很基础的知识必须要懂的)
8、零拷贝了解过吗(无)
9、数据库底层实现方式
10、数据库隔离级别
11、可重复读解决了哪些问题
12、一千万条数据放到B+树里,树高多少
13、TCP三次握手,四次挥手
14、HTTP常见状态码
15、HTTPS过程
16、get和post区别
17、手撕快排
18、设计微信抢红包场景题,分布式场景下如何实现,选用哪种技术方案(噩梦开始)
19、问对分布式的理解,然后他说这个也不对,说我好像和别的概念弄混了
20、还是零拷贝,说kafak大量用到这个做优化
21、什么2pc,3pc,tcc,raft,对这些的理解
22、2pc存在什么问题,怎么解决
23、kafak的技术流程原理?好像是这个
24、还有好多,但是想不起来了,只记得面试官说这是基础知识,这些原理作为后端开发人员必须要知道的(可惜俺都不知道)
#面经##网易##拼多多##猿辅导##Shopee##Java工程师#