【深信服】-Java岗-24届秋招面经

一面

手撕:数组子序列最大和、LRU算法

1.实习期间做了什么?负责的是哪些工作?

2.JVM中哪些对象会被标记为垃圾?什么时候会被回收?(强,软,弱,虚引用八股)

3.JVM内存模型中,在为对象开辟内存时,做了哪些优化?

4.Redis中缓存穿透、击穿、雪崩怎么解决?

5.你项目中哪些信息是存在redis中的?

6.你对区块链的了解有多少(简历上有区块链相关项目,sangfor也是网络安全相关,可能比较感兴趣)?

7.反问:技术栈,语言(回答:语言是工具,看业务场景选择)

二面(研发负责人)

1.为什么从GO转到Java,除开就业面的问题,Go和Java的区别是什么?这两种语言分别有什么优势和劣势?

2.你项目中的一个比较难的功能点是什么?(提到了某个功能涉及服务远程调用openfeign、ES、MQ)?

3.ES底层原理

4.openfeign具体在代码层面是怎么使用的?

5.你的系统是可以允许MQ的异步响应吗,是允许短暂不一致的吗?CP还是AP?

6.你的项目做过测试吗,QPS测过吗?(没有,可以用skywalking)

7.skywalking对代码有侵入性吗?

8.如果不用skywalking,我如何来测试代码的接口响应时间(AOP开日志)?

9.日志都需要持久化到DB吗,如果我有五万个请求,都需要到DB上持久化吗?(如果在测试情况下,可以不全持久化到DB,而使用countdownlaunch等所有执行完毕后,统计所有的接口执行时间进行加和平均,加和平均的响应时间也是具有参考意义的)

10.Redis缓存雪崩具体讲讲,如何解决(集群,限流,线程池拒绝策略)

11.你在学习一个新的技术的时候,你会怎么做?

12.如果要设计一个全球的通用金融系统,要防止量化交易中类似的汇率差问题,你会怎么设计?(有量化交易项目,提到了金融相关)

13.如果要把你的Java项目更换成Go语言,需要更换哪些技术栈。

HR面

1.自我介绍

2.优点与缺点,并举例说明。

3.讲一下你为自己设定的某个目标,并为这个目标做了哪些事.

4.家庭情况,情感情况

5.你对转语言的看法

6.手上有几个offer

7.你对工作的标准是什么(薪资、职业发展、城市)等等

8.如果你拥有好几个offer中进行排序(你会以什么标准来排序)

发表评论

后才能评论