更新日志
v1.0-20230905,加入题目,不足100题,答案未找到正确的
有赞:
一面:
-
hashMap原理,put和resize过程
- 不会
-
线程池有哪些类型
- 不会
-
concurrentHashMap分段锁原理,java8和java7实现的区别
- 不会
-
B-树和B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理
- 不会
-
spring生命周期,几种scope区别,aop实现有哪几种实现,接口代理和类代理会有什么区别
- 不会
二面:
-
1.项目介绍
- 我开发了一个新媒体办公系统,因为有xxx的业务需求,这时候需要xxx模块来提高效率
- 这个项目使用了SpringBoot xxx
- 我负责开发xxx模块,用xxx技术实现了xxx功能
- 我使用了xxx技术解决了xxx问题
- 我是用xxx技术优化了性能,使用xxx测试工具实测性能提升xxx
-
2.斐波拉契数列非递归实现
- 不会
-
3.短URL实现
- 不会
三面:HR+主管
-
你现在做的事情,为什么要离职?反正对你性格生活薪资全面了解
- 我离职是因为想到北京来发展,我有一些朋友在北京,来了之后方便交流,在北京发展会好一些
今日头条:
一面:
-
自我介绍,
- 面试官你好,我
-
做的项目价值,架构设计,给你一个集群你会怎么分布,考虑哪些因素,容灾、负载均衡
- 不会
-
让你来设计咸鱼,你会怎么设计?模型设计
- 后端微服务,管理系统用若依,商城用SpringBoot springcloud
-
linux常用指令
- ls 看目录
- :wd 退出
二面:
-
算法在线编程
- 略
-
项目,主要做了什么,项目中碰到的问题有哪些,都市怎么解决?你觉得那个项目是最有挑战的
-
用若依
-
遇到的问题,解决
-
有挑战的项目
- AI,需要思考业务逻辑
-
-
java多线程,线程池的选型,为什么要选这个,底层实现原理
- 不知道
三面:
-
你最熟悉的项目,做了什么,为什么这么做,怎么体现你项目的价值
- AI舆情分析,我做了系统设计,因为基于对业务的理解,我能更好的生产这个项目,这个项目已经开源在GitHub
-
让你来推广广告,你会怎么设计?
- 不会,问Ai
-
java基础问了些,JVM内存模型 G1和CMS垃圾回收器
- 不会
-
如何中断线程,await和sleep区别
- 不会
-
设计一个秒杀系统
- 用MQ设计消息队列
-
spring生命周期,几种scope区别
- 不会
四面:
- 跟上面差不多
五面:
-
主管面,主要问项目,然后说下他们在做什么
- 项目
六面HR:
-
期望薪资,为什么要离职,现在的级别,会考北京的原因
- 北京技术发展好,卷的厉害
网易:
一面:
-
RPC原理,netty原理
- 不会
-
hashMap原理
- 一种数据结构,红黑树什么的,不太会
-
redis缓存回收机制,准备同步,哨兵机制
- 不会
-
要统计10分钟内订单的亏损,你会怎么设计(strom窗口模式)
- 不会
-
项目:你做了什么,为什么要这么做,用了什么技术要解决什么问题
- 做的是管理系统,主要是解决业务流程问题,
- 用技术提高办公效率
- 用redis和Es提高了查询效率,公司内部有一个自媒体数据库,有几十万篇文章,供内部引用和参考
二面:
-
分布式缓存redis原理,
- 不会
-
zookeeper锁是如何实现的
- 不会
-
分布式缓存读写不一致问题
- 事物?那也不对啊,不会
-
java线程你是怎么使用的
- 同事解决查询问题,不会
-
数据库是如何调优的
- 读写分离
- 分库分表
- 使用redis
- 使用es
-
git rebase命令发生了什么
- 不会
-
讨论项目
三面HR:
-
薪资,为什么要离开,级别
- 为了发展
华为:
一面:
-
结构数据库和非结构数据库区别,你了解的非结构数据库有哪些
- 非关系型数据库我知道有?
-
频繁的增删数据量某个表,数据库最终数据只有几万或者更少,为什么查询会变慢
- 不知道
-
数据如果出现了阻塞,你是怎么排查的,top和jstack命令用过没,jstack命令的nid是什么意思,怎么查看java某个进程的线程
- 没
- 不知道
- 不会
-
大数据算法聚类算法有哪些
- 不会
-
写一个算法判断某个数是2的n次方
- 只会循环
-
说你最熟悉的项目
- 一个自媒体辅助系统,用了Ai,es,和管理系统
- 突出功能的实用性
二面HR:
-
薪资级别,你是怎么抗压的,平时喜欢做什么,对加班什么看法
- 跑步
- 看书旅游
- 能产生价值且薪资合理或者KPI考核规范即可
三面业务主管:
-
你想做什么,会给你介绍他们部门做的东西
- 基于自己的技术栈
-
你自己做的项目,怎么设计的
- 先实现功能,用最容易实现的技术栈
- 不要技术资源浪费,
- 再迭代,敏捷开发
总结
零零碎碎的比较多,整体上面试分为几个部分:
-
java基础知识和源码
- 源码不会
-
线程池,这个每个面试都必问,结合使用场景和原理说一说
- 不会
-
分布式必要要去了解,每个面试基本都会问,redis、dubbo、kafka或者其他,集群管理zookeeper
- 不会
-
数据库性能调优,组合索引和原理也是必问
- 不会
-
业务设计能力和架构negligence考察
- 业务容易一点
- 技术选型
参考Java后端社招面试经历(三年工作经验)_Coder编程的博客