上海某数字科技公司 Java 面经
上海某数字科技公司 Java 面经
1)
面试官:先自我介绍一下
我:大家先写个文档记录一下,然后按流程进行背诵就好了,如果有新的获奖和实习,直接按时间顺序进行增加即可,面的多了基本就麻木了...
2)
面试官:你的项目是为了什么而做的?
我:反复介绍 API,自圆其说即可,我主要做了拓展,最近考虑加点东西和参数优化,别说自己的项目是跟做的就行,当然外卖这种无所谓,主打一个能拓展就行,项目有五个级别。
第一种级别,开源项目,获得很多收藏和一定的使用,第二种级别,项目已经上线了,这个项目是自己独立做的,并且有过功能难点的拓展和思考 第三种级别,项目是跟做的,但是自己有过功能拓展,可以完整讲述业务,第四种级别,项目是跟做的,没有拓展,可以完整讲述业务和功能,第五种级别,直接 down 了项目,甚至没上线,业务和功能也讲不出来
3)
面试官:讲一下你的项目的技术难点?
我:讲一下项目搭建过程中可能使用 Dubbo 的问题、字符编码问题、缓存优化问题、SQL 优化、虚拟机等,都可以讲,建议先准备好,然后去阐述,其实自己做项目中肯定会遇到一些问题的,平时要记录下来,后续做一个汇总。
4)
面试官:你的项目是怎么使用 Redis 的?
我:还是那句话,Redis + 定时任务做缓存预热是最简单的,其他像 Redis + Lua 做限流(但这是分布式,你项目是分布式的?),单体限流直接 Google 的 Guava 就可以了,像其他可能用到 Redission 分布式锁使用,自己需要了解一些八股文,会的越多,可以拓展的点就越多,虽然你可能项目没用,但还是可以讲一讲。
5)
面试官:Redis 基本数据类型介绍一下,你的项目怎么使用的,底层原理介绍一下?
我:首先介绍一下基础数据类型五种,然后主要介绍一下 String 和 Zset 的底层原理就可以了,结合你的项目具体去使用,现在不使用 Redis 的项目很少了,基本都会用到,于是后面就是经典八股文。
6)
面试官:介绍一下缓存穿透、缓存击穿、缓存雪崩的问题和解决方案
我:经典的八股文,但是结合项目去讲,你这边选择了什么方案,如果是用分布式锁 Redission 的可以讲 Redission ,有用到 Caffeine 也可以讲一下多级缓存使用。
7)
面试官:有没有进行多人团队合作过?
我:我自己是全栈开发,一个人做项目,主要采用 Git 版本控制,有开发实习的经历的一般是多人团队。
8)
面试官:你项目技术方案有分歧的话怎么做?
我:主要按照软件工程的xxxx进行分析,然后看看新技术是否有大牛能够 cover,以稳定性为保障,追求性能。
9)
面试官:你是怎么用的新技术,在哪里看的?
我:结合一些前沿的网站,公众号、利用科学上网工具等等,然后去尝试跑 Demo,试一试新技术还是挺有趣的
10)
面试官:你未来的职业规划是怎么样的?
我:阿巴阿巴,各位阐述自己的一个方向就行了,也不用很清楚,但还是要说点的。
11)
反问技术栈,业务....基本其实就是缺人,主要看我。
开源项目 Gitee 地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system, 已有前后端总计 800+ Star,1.5W 访问。
欢迎老铁们 Star 下!⭐⭐⭐
打怪升级...