秋招面经-京东-TET技术方向-后端开发
二面:
1、自我介绍
2、实习过程中和日常在学校里面接触的技术有差异,自己如何去突破的?
3、你认为公司或者一个项目会出于什么考虑去选择编程语言?(C、C++、Java、Python等)
4、介绍一下计算机网络的层级结构
5、TCP和UDP属于哪一层?它们有什么区别?应用场景如何?
6、微服务架构中涉及客户端和服务端的通信,避免不了序列化和反序列化,谈谈你项目中用的什么序列化方式,你还了解哪些不同的序列化方式,它们的差异和应用场景有什么不同?
7、谈谈进程和线程的区别
8、谈谈ThreadLocal(包括其作用、为什么会内存泄漏、用来存什么类型的数据)
9、谈谈线程池的核心参数
10、创建一个线程池后去设置核心线程数和最大线程数的依据是什么?怎么样设置是友好的(看是CPU密集型任务还是IO密集型任务)
11、谈谈MySQL、Redis、本地缓存的使用场景
12、三者结合使用数据一致性其实是有损失的,那如何保证三个之间的一致性?项目中怎么去做的?
13、多节点部署的情况下,某个节点先更新Redis缓存,再更新自己的本地缓存,那其它节点如何知道该更新本地缓存?(项目中没实现,现场想方案)
14、缓存击穿和缓存雪崩的区别?
15、项目中写到了解决缓存雪崩问题,那缓存击穿应当怎么防护?
16、谈谈MySQL索引的作用,并考虑什么场景下需要建立索引?建立索引需要考虑哪些因素?
17、项目中使用ES,主要用于什么场景?用于解决什么问题?
18、算法题(没有让写代码,口述解决方案):如何快速找出一个数组的一个峰值,峰值即比左右两个数都大
19、数字1×2×3×...×100,其结果末尾有多少个零?(面试官提示下答出)
20、假如你作为一个技术领导,那你在团队发展过程中,你觉得需要什么样的人才来配合你?
21、你觉得用新技术去重构或者改变原有的业务,在使用过程中需要注意哪些?
22、反问
#京东 #京东TET #TET #互联网 #26秋招 #后端开发 #java #TET技术方向