二面 一个半小时
1.自我介绍
2.项目,负责内容,学习到的东西,问题怎么发现以及如何处理,你们开发后,项目有哪些提升。
3.未来的规划。
4.java的hashmap和treemap的区别?treemap的使用场景?
5.concurrenthashmap 实现
6.Java中线程同步都有哪些方法
7.Redis常用的数据结构
8.Java里的反射了解么?
9.服务端消息堆积,如何解救?说了消息队列,分发处理,还有其他方法么?
10.如果堆积了,可以将消息丢弃么?不会,说了看情况,如果不重要的,可以丢弃。
11.如果一台机子访问量高,都是tcp短连接,可能会有什么问题?(不太懂)
12.服务器内存泄漏,怎么排查问题?具体使用这些工具按什么规则排查、
13.打印最长无重复字符串
14 .反问
三面 交叉面 43分钟
1.自我介绍
2.项目相关,为什么使用hibernate,有哪些优点(头大,对hibernate不了解)
3.实际开发中还有哪些用到的hibernate的特性
4.数据库用到了Oracle和mysql,你觉得他们俩之间的区别是啥?
5.你刚才说的Oracle复杂查询性能好,那大的互联网公司都会使用什么数据库?为什么?
6.你说mysql性能不如Oracle,那大数据量的时候,怎么解决这个性能问题?(当时会错意了,没回答出来)
7.spring框架了解多少?从技术点来讲比其他框架那里好?介绍了依赖注入,Aop
8.你觉得spring框架是怎么实现AOP的呢?是读取了配置文件动态判断,还是其他方式?
9.你说的不改变源码的方式增强的,那实际运行的时候,你的源码里到底是有还是没有相关的代码,编译之后的产物里有么?
10.那你说运行时增强,指的是在哪个阶段增强?也就是问你,编译完的产物里是直接有业务逻辑的代码,还是有说有一个模板根据你的配置动态的去做一些处理(脑子已经混乱)
11.你们的业务逻辑这块涉及的表应该挺多的,那你觉得设计表的时候应该注意哪些问题?说了三范式,不要有冗余字段,不要有null值。
12.你主要工作是后端,为什么选择客户端?你个人是怎么打算的?
13.你感兴趣的话有尝试过写客户端么?你说没做过客户端,又说觉得客户端做的越来越好,这个好是怎么定义的.
14.代码题。给一个字符串,如果相邻两个字符是同一个字母的大小写,就删除掉,如果删除后,前后链接起来,碰到大小写就继续删除。
例如 cabBAb 删除后应该是cb。
简单题几分钟写出来了,用两个字符之间差值的绝对值为32判断是同一个大小写。
不过Deque那里一直编译爆红,没想出来,面试官说,idea用太多了吧,你用一个类的时候你不导包么?(尴尬)牛客网没有自动导包功能。
自己又想不起来LinkedList在哪个包,导了lang包,面试官说在util包下,才想起来,运行结果正确。
15 反问
让面试官给评价,他说我觉得你相关的开发经验是有的,但是对于底层原理理解不够,刚才有些也都是背的吧。实际开发中不懂原理,出现问题你怎么去排查呢?
如果你想在面试中比其他人更有竞争力的话,更希望你对原理性更多的理解。面试最终只是看结果,所以你需要加强原理性的知识。
总结:自己还是太菜了,稍微问点儿原理性的东西就懵逼,原理还是不足。
听二面面试官说正常二面结束还有两轮。求三面给过,尽快上岸吧,实在是面不动了。
四面 8月17号 25分钟
1.自我介绍
2.简历由后端被转到客户端你有什么想法么?或者说你找工作有什么计划么?
3.项目相关,项目的架构。
4.手头面过的公司和offer
5.Java中实现一个日志。logger应该具备哪些能力,提升这几个能力所需要的类,描述一下(对日志不常用,简单说了自己的想法)
6.多用户去操作同样一篇日志区域,如何解决?(说了加锁,有谁知道正确答案么)
7.如果日志很多,如何同步和存储?比如日志特别多,在一个地方存不下了,怎么处理解决?
8.Java现成的log的能力有哪些。
9.平时通过什么样的渠道来学习和提升自己的?
10.遇到的最大困难和如何去解决的?
11.反问环节。
总结:其实是一次比较轻松的聊天讨论,面试官说前几面已经该问的都问了,不用紧张。不过自己知识和表达能力都有所欠缺。
希望能给个通过吧,毕竟一周面一次,战线已经拖得这么长了。四面下来有点坚持不住了。求个意向书
全部评论
(5) 回帖