面试岗位:Java高级开发
面试形式:电话面试
这些天在boss上逛了下,看见北京Java开发工资比较诱人,便萌生了去北京的想法,做一名北漂的程序猿。约了几家面试,由于是异地,当然优先电话面了。本篇记录下面试用友高级Java岗面试题。么有答案!!
1、HashMap中key存整数123,和存字符串“123”,哪个更好?说明理由?
当时,我说是整数吧。然后胡编几条理由,不知道对不对。
2、异常处理机制:throw和throws的区别?哪些异常适合抛出来?你是怎么处理异常的?比如IO异常和数据库异常是怎么处理的?
3、泛型用过吗?说下你使用的场景?Java泛型是编译时还是运行时的特性?
4、多线程使用场景?谈一下你对线程安全的理解?
5、线程你是怎么用的?
这个基本是要往线程池上靠,线程池的几种创建方式及参数等都要知道的
6、知道线程通信吧?谈下线程通信的机制?
7、Java 8 新特性有用过哪些?Stream有用过吗?
8、谈下平时工作中mysql的优化经验?
9、Explain查看Sql执行计划查出来有哪些字段?
10、sql执行计划比较快但是实际sql执行比较慢,一般都是什么原因?
11、有过分表分库的经验吗?
答:惭愧,么有。
面试官:没关系,不是什么高大上的东西,可以教你啊!
我:捂脸!!
12、springboot、springcloud项目中有使用过吗?
答:没有。不过我说springboot就是一个简化spring的框架,有学习经验。比较好上手。springcloud还在学习计划中。
13、Redis缓存有用过吗?你们项目中是怎么用的?
14、说下缓存击穿和缓存雪崩?
15、Redis集群是如何搭建的?
16、Redis分布式锁有用过吗?说下原理?
17、说下ActiveMq消息机制?你们项目中是怎么用的?
18、ActiveMq怎么保证消息可靠传输?或者说你们是怎么保证消息不丢失的?
19、Mq挂了,怎么恢复消息?
20、说下Nginx的基础配置?负载均衡怎么做的?
21、Maven、Grandle、git有用过吗?
22、有没有做过报表相关的业务?从数据采集、清洗、分析整理到输出?
面试结论
面试官最后做了下面试反馈,说Java基础还可以,但其他技术和他们的岗位的匹配度不高。及格往上点吧。
自己感觉平时项目中用到的一些技术,都还停留在会用的阶段。没有去深入思考这项技术它本身的边界以及可能出现的一些问题。
分享到此,希望能对将要面试的同学有点帮助。