【记录】3.5年面试总结

3.5年面试总结

今年(9102)行情不好,在boss直聘上看到的招聘其中有一半以上在一周内都是未读,读了的有一半都没有回复,要了简历好大一部分也没了后续。
个人情况:自己定位是未到高级;当前薪资:11k,目标15k,底线14k。
座标:成都

技术问题

领域 问题分类: 详细内容
java基础 concurrentHashMap and hashMap and hashTable 数据结构,红黑树只被问过一次,熟悉下它的五个特点就行了
hashMap 1.7和1.8差别
concurrentHashMap put过程,涉及到初始化,helpTransfer,扩容,数据添加,treefy等
线程和锁 线程的状态,各个行为下分别是什么状态
wait 和 sleep的区别
Lock 和 sync 的区别
锁升级 * 3
AQS 实现原理
CountDownLatch的用法等,熟悉可以回答底层源码
线程池 线程池的核心参数用法
主要有几种线程池,了解的比较多可以回复下底层原理
jvm 内存构造,回收算法,常用配置
oom问题排查
如何优化,在某个场景下如何优化,比如新老比例3:1
类加载机制如何,双亲委派模型
如何定位cpu问题
java框架 spring bean生命周期
容器启动的过程
onRefresh方法以及内部的 finishBeanFactoryInitialization 以及 invokeBeanFactoryPostProcessors
beanFactoryPostProcessor 和 beanPostProcessor
spring mvc 启动
请求执行流程,一般自己会多说参数解析,因为这块有研究过
mybatis #和$的差别
sql查询的流程
插件的实现原理
数据库 redis redis常用数据类型
底层数据结构
持久化,
数据过期策略
主从
sentinel 和 集群 原理
缓存击穿与雪崩发生场景及解决方案
mysql 常用的优化方法
某些场景下索引如何创建(主要考虑复合索引,最左匹配原则)
explain主要看哪些内容
b树和b+树的区别,为什么innodb用b+而不是b树,二叉树
hash索引和b+树索引差别
主从延迟怎么解决
其他 算法 实现 解析运算表达式(一次)
优先级队列的使用场景,当场回答有点蒙,后面反应过来是它的数据结构
散列,即HashMap
设计模式 在项目中使用过的设计模式,场景说明
随便提个设计模式问是否了解,常问的是观察者/单例
分布式 分布式事务,cap 和 base
分布式主键生成策略,见推特snow flake, 美团leaf
项目 做过的复杂的项目;怎么优化的项目
系统设计 用例图,流程图,类图设计订单系统/简单系统
docker 由于自己写了了解,很多都会问这个,回答只会基本使用,然后给的建议就是深入学习。。
其他 自我定位,周围同事的评价; 写代码时候注意些什么,有什么是不能有的,有什么是一定要有的。;
被问一次的问题 rabbitMq (rabbitMq只被问过一次,也许是的确没什么人用) 死信 生产者消费者如何消息防重 和其他消息队列对比的优缺点,rabbitMq主要问题是:不支持消息堆积!
其他 UDP协议;servlet生命周期

面试公司汇总

  • 三月:中非网(一面挂)
  • 四月:滴普科技(13k * (13-15)),嗨学网(一面挂),某国企(14k * 12+10),某国企(hr面挂)
  • 五月:铁皮人(14k * 14),G7(一面挂),oppo(二面挂),客如云(14k * (12-16))
  • 六月:神话传媒(一面挂),致远软件(wait)

面试官的建议

有些还是不错的面试官给的建议,当然不是所有面试官都给了建议,有些给的offer,有些是两周内给答复 = =,
个人理解,一个好的面试官应该能够引导回答,不满足需求时可以给一些较好的建议,缘分一场。

面试官 建议 响应
致远软件 计算机组成原理较重要,需要有 这个其实和以前的leader,现在在美团做leader,得到的答复是当需要的时候可以深入底层学习,所以一直放着
管理经验需要提前准备 当时没反驳,或许这个在成为一个小leader之前,不用太考虑
需要有长期的规划
神话传媒 深入学习docker 这个还要考虑一下,有很多都可以深入学习,但是具体能不能给自己的职业生涯和以后的工作带来价值?
对springboot的看法,表示高级开发应该有深入的见解 springboot就曾用过4个月,没有什么深入看法啊,后面积累吧!
oppo二面 给的建议是增加业务敏感性,因为谈到了营销工具这个功能,它没有效果统计,还问到了数据挖掘,蒙蔽 的确业务的敏感性太差,总觉得需求都是产品定,其实不是,自己可以有更好得建议, 也需要考虑兼容,扩展,数据报表,效果统计之类得东西
oppo一面 深入jvm,docker等,认为很多方面都有学到,但缺乏一些深度。 jvm其实还是有些深入的,自己表述的是没有机会接触生产环境,而且工作中遇到问题,被直接加内存处理了!!
中非网(18k岗位) 提高系统边界的感知,如何减少系统间的耦合(让做一个下单系统) 这个也很重要,微服务盛行,如何划分边界很重要
总结 需要有短长期的规划,很多事情需要提前规划。
需要增加业务敏感性,思考如何把业务做的更好,业界有没有更好的解决方案。
需要加强系统边界划分的思考,减少耦合。

其他问题

找工作看重什么

薪资;稳定性;业务发展,部门盈利的模式是什么;薪资成长性;技术氛围

职业规划

想走技术,希望能在两年内做个小组长,那这也必须要去个稳定的公司,如果频繁变动,去另一家公司也只有当小弟的份,周围太多这样的同事。

和同事相比,怎么样

这个问题比较难,往好了说容易给人一种吹逼的假象,往低了说又会让人觉得不自信,自己一开始也没回答好,思考后觉得这样回答或许更好

其实大家能在一家公司,在能力上差异是有,但不会特别大,这个有时候也很难辨别谁强谁弱多少,在以前看到一篇文章,
说能力的强弱就是解决问题的能力,如果遇到一个问题能很快解决,或者说能通过其他途径有效的解决,那么这就是能力的体现,
这的根本其实就是基础技术能力怎么样,对业务的了解怎么样,对工具的了解怎么样等等。

当被一个小问题卡住了,面试官提示了结果,而你本来是知道的,怎么办?

有时候由于沟通问题,常常回答不上一些简单问题,比如上次就被问到“spring 怎么开启注解扫描”,
没想到他问的是component-scan,当面试官给了答案之后自己也没做什么表示。
面试结束后想,当时应该补充一下它的用法,还可以配置的属性(includeFilter,excludeFilter之类的)等,
避免给人一种这么简单都不知道的感觉 = =
还有被问“在工作中使用过什么设计模式”回答了用过工厂方法,策略等,
然后再被问"单例模式用过吗",我居然只回答了说在工作中其实还没有用过,就没有后续了,
其实自己是知道几种实现方式的,回答工作中没有用过,给人的感觉就是“这个我不太熟悉,您问下一个问题吧。。。”

当自己回答正确,面试官却坚持说没有答对,怎么应对?

之前去一家国企二面,其中问了“StringBuilder 和 StringBuffer 的区别”自己其实是正确回答了的,
面试官一直否定,质疑基础不牢,他的意见是“如果在单线程环境下,没有线程竞争,那不是用StringBuffer也没毛病,
就没有用StringBuilder的机会?”,

当时没有拿出有力的证据来推翻对方,或许说出sync的实现原理就可以了,但是没忘这方面想。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章