杭州2023 - Java开发 - 面试复盘 2
创始人
2025-05-30 03:50:20
0

公司概况:已上市·1000-9999人·计算机软件

一面

1 项目

1. 你在项目里主要做什么?

    项目二期,迭代开发,主要做的方向是信息安全管控。

    主要包括XXXX、XXXX、XXXX。

2. XXXX是干什么的?

    把业务讲清楚。

3. XXXX涉及到分库分表,你们是怎么做的?

    把设计方案讲清楚。

4. 穿插在业务中,问了一些数据库优化的问题。

1) 为什么你们很少做多表联查?

    互联网公司一般都采用 单表查询+代码层组装 的方式。

     ● 单表查询SQL的复用率较高,缓存利用率也较高;

     ● 联表查询情况下,表结构变动导致查询SQL需要同步修改的可能性更高;

     ● 两个大表联查的效率可能很低。

2) 有什么其他的调优方式?

    使用索引,不使用 * 通配符;

    反范式设计;

    数据库隔离级别选读已提交;

    冷热分离:把大表拆分成一张主表和一张扩展表,把不常修改的信息存储到扩展表当中;

    使用JSON格式存储可变表单的数据;

    一次最多修改200条数据。

3) 为什么你们用MySQL不用其他数据库?

    大部分互联网公司以MySQL为主。

     ● 免费;

     ● 可以满足需要。

5. 处理过什么线上问题?

    先讲了一个,面试官觉得是业务层面的问题,问有没有技术层面的,于是又讲了一个。

2 JVM

1. 你知道哪些垃圾收集器?

    ParNew - CMS:新生代采取标记-复制算法,老年代采取标记-清除算法。

    G1(单独使用):面向局部收集、基于Region,采取标记-复制算法。

2. 讲下G1收集器的工作原理。

3. 哪些对象可以被回收?

    可达性分析。

    GC Roots。

3 Spring

1. 你了解AOP吗?知道什么说什么。

    对标OOP,Aspect对标Class,Advice对标Method,Pointcut对标引用。

    织入器Weaver将Aspect织入系统的连接点Joinpoint。

    动态代理。

2. 你们系统中用AOP实现了哪些功能?

    日志。

3. Spring配置为什么写在XML文件里?

    统一写在XML文件里的可读性比较好(面试官的看法)。

    也可以做全注解开发。

4 多线程

1. 讲一下线程池的工作原理。

    围绕线程池的7个参数讲清楚。

2. 线程池的核心线程数和最大线程数是怎么设置的?

    CPU密集型:N+1;

    IO密集型:2N。

5 算法

1. 讲一下快速排序。

    从数列中挑出一个元素,称为 "基准"(pivot);

    重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;

    递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

6 总结

大约四分之三的时间都在讲项目。吸取了上次面试的教训,项目讲得还算可以。

整体感觉挺顺利的。

二面

1 工作经历

离职原因。

2 项目经历

1. 简历上时间最早的项目。

1) 项目是干什么的?你在其中是干什么的?

2) 系统有哪些页面?系统是怎么运转的?

    应该是确认下这个项目是不是编造的。

2. 简历上时间第二早的项目。

    项目是干什么的?你在其中是干什么的?

3. 简历上最新的项目(我简历上一共3个项目)。

    项目是干什么的?你在其中是干什么的?

3 性格测评

1. 说出自己的三个缺点。

    最终抓住了我领导力比较差的缺点。

2. 你不能带团队,那你有什么价值?

    (答得不好,复盘一下)

    一个成熟的团队中既要有PL也要有SE,SE主要负责技术方面的指导工作。

    程序员可以根据自己的性格,选择一条适合自己的发展路线,我的努力方向就是偏技术一些。

    团队负责人也应该明白,并不是每一个人都适合做管理。

3. 听起来你只是比新人更熟练而已。

1) 事实上,经验本身就是有价值的。

    在编程上有什么问题是真的难以解决的呢?就只是闻道有先后,术业有专攻而已。那些解决不了的问题,都在实验室里。

    新人和老兵的区别就在于经验,觉得我比新人更熟练,就是肯定了我是不能被新人替代的。

    冷知识:一个月薪5w的程序员的工作,交给10个月薪5k的程序员是完不成的。

2) 我的成长并不完全是由工作带来的。

    如果随便谁做个三五年都能与我的技术水平相当,那么我的学习就没有任何意义。

3) 新人的成长是有代价的(杀手锏)。

    每个新人在成长起来之前,写出来的糟糕代码,对系统是有伤害的。

    所以比较新人和老兵的代码,不是一个写得一般、一个写得好的区别,而是一个谁写得危害极大、一个写得危害轻微的问题。

4. 你说你更懂产品,证据呢?

    那我肯定是没产品经理懂了,但是这个问题是拿我和新人比,不在话下。

    经常参加需求评审、跟业务方讨论需求、实现功能,总是会对产品的好坏有一些直觉上的判断,如果有个从来没有做过这些事情的新人天生拥有这些直觉,那我觉得输给天才也不丢人。

4 总结

前边聊工作经历和项目经历还好,后面面试官开始盯着他发现的我的缺点下手,就把我完全压制了。

这方面的准备确实不足,我需要整理一套自己的价值观,去和面试官碰撞,不能只是被动地接收面试官的想法。

不要附和,如果碰撞以后发现有无法调节的矛盾,那么这个岗位就不是你应该呆的地方。

相关内容

热门资讯

springboot简介和项目... Java知识点总结:想看的可以从这里进入 目录SpringBoot1、简介和原理1....
最新或2023(历届)嘉祥教育... 信息时报讯 面临中考,初三学生陈黎的父母十分发愁。一是孩子成绩并不拔尖,另外,父母虽然有心让儿子出...
“牛孩儿”“每天一题”助你提升... “小升初”的战鼓越擂越响,你准备好了吗?不要着急,自4月29日起,中原网教育频道官方微信“中原教育”...
这是一封发给西安小升初家长的邀... 秦学·伊顿交大校区4月9日晚上举办的小升初讲座圆满结束了,回顾讲座现场的瞬间,小编有一些小小的感动。...
四大法宝护航“528冲刺班”巨... 又是一个四月,春风扑面,鲜花盛开。又是一届小考,竞争激烈,埋头伏案。又是一轮冲刺,全力以赴,舍我其谁...
小升初数学面谈题型归纳 小升初... 数学在小升初择校中的重要性可以说是毋庸置疑的。很多一线名校例如二中应元、六中珠江、广大附等都对数学情...
vue2+3 pinia v... 1. 为什么要学习vue1.官网https://v3.cn.vuejs.org/guide/migr...
防雷设计、防雷检测为什么选同为... 随着现代科技的不断发展,电子设备得到广泛应用,而雷电等自然灾害也越来越频...
最新或2023(历届)快乐的下...  今天下午,我去了隋唐遗址。那里好美丽;有小河;有草地,小河里有鱼,有虾。  我先说河,有的河水清澈...
最新或2023(历届)6年级数...  篇一  今天,妈妈给我出了一道题,题目是这样的:“一头牛可换6头猪,2头猪可换10只羊,三只羊可换...
本次小升初直升考试试卷分析这就... 还记得前几天预告的小升初直升考试吗?这次的考试对于小学六年级的孩子们来说,是非常重要的。家长朋友们也...
西安小升初528预录来了! 西... 相信大家这几天除了被各种各样的学校参观弄得有点晕,到底这参观是几个意思呢!是有暗示还是没暗示,其实这...
最新或2023(历届)认真积极...   今天妈妈带我去学英语,上课我认真听盘,积极的举手回答问题,下课后妈妈表扬了我,我很高兴。回到家我...
【js】多分支语句练习(2) 个人名片: 😊作者简介:一名大一在校生,w...
Git 的 Cherry-Pi... 1、什么是 Cherry-Pickcherry-pick 是 Git 版本控制工具中的一个命令&#x...
最新或2023(历届)观察日记...  1.  7月23日星期一  今天我从东北回来了,我迫不急待的去看我出发前种下的含羞草种子,都十天了...
多线程进阶学习01------... 开篇:为什么学习多线程 实事求是地讲,对于绝大多数研发人员,...
最新或2023(历届)观察日记...  1.  有一天,我和好朋友们到小河边捉鱼摸虾。忽然发现,阴天的时候小鱼都跳到半空中。这是为什么呢?...
最新或2023(历届)小学数学...   1.  果园里的苹果树是梨树的3倍,老王师傅每天给50棵苹果树20棵梨树施肥,几天后,梨树全部施...
最新或2023(历届)4年级数...  1.  今天上午,我按照爸爸让我写的“假期计划”,开始了复习数学、练习数学、加强数学的“启动仪式”...