缘起
从18年毕业至今,就职过两家公司,大大小小项目做了几个,非常感谢我的两位老大,在我的JAVA成长路上给予我很多指导,亦师亦友的关系。
从年前至今参加面试了很多公司,从Google一面挂,我深刻意识到JAVA开发内卷太严重了,面试都是需要背八股文,狂刷题。最后顺利拿到了华为offer。总结下经验,也是对过去的一个回顾和总结吧。
Google(一面挂)
-
Talk about overriding, overloading.
-
Talk about JAVA design patterns you known.
-
Talk about the difference between LinkList, ArrayList and Victor.
-
Talk about the difference between an Abstract class and an Interface.
-
Class a = new Class(); Class b = new Class();
if(a == b) returns true or false, why? -
Why we use StringBuffer when concatenating strings?
-
Try to explain Singleton to us? Is it thread safe? If no, how to make it thread safe?
-
Try to explain Ioc?
-
How to set many-to-many relationship in Hibernate?
-
Talk about the difference between INNER JOIN and LFET JOIN.
-
Why we use index in database? How many indexes is the maximum in one table as your suggestion?
-
When ‘Final’ is used in class, method and property, what dose it mean?
-
Do you have any experience on XML? Talk about any XML tool you used ,e.g. JAXB, JAXG.
-
Do you have any experience on Linux?
-
In OOD what is the reason when you create a Sequence diagram?
华为面试
一面
1、作用域public,private,protected,以及不写时的区别
2、ArrayList和Vector的区别,HashMap和Hashtable的区别
3、char型变量中能不能存贮一个中文汉字?为什么?
4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
6、垃圾回收机制,如何优化程序?
7、float型float f=3.4是否正确?
8、Java中异常处理机制,事件机制?
9、抽象类与接口?
10、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
11、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
二面
1.JAVA SERVLET API中forward() 与redirect()的区别?
2.JAVA多线程编程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。
3.用jdom解析xml文件时如何解决中文问题?如何解析?
4.WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释
5.开发中都用到了那些设计模式?用在什么场合?
6.EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?
7.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
8.线程操作中sleep() 和 wait() 有什么区别?
三面
1.构造器Constructor是否可被override?是否可被Overload? Overload和Override的区别?
2.Vector和ArrayList的区别?
3.谈谈对内存泄露的认识
4.Which method is used by a servlet to place its session ID in a URL that is written to the servlet s response output stream "?
(Translation: the method is used for the servlet session ID in www.docin.coma URL, the URL write servlet response output stream)
5.Which two are equivalent (Choose two)?
A. YoshiBean.size%>
B. (YoshiBean.getSize)% >
C. YoshiBean.getProperty (“size”)% >
D. <jsp:getProperty id= “YoshiBean” param= “size” / >
E. <jsp:getProperty name= “YoshiBean” param= “size” / >
F. < jsp: getproperty id = “yoshibean” property = “size” / >
g. < jsp: getproperty name = “yoshibean” property = “size” / >
四面
1.描述struts体系结构? 对应各个部分的开发工作主要包括哪些?
2.JSP what are the built-in objects and actions? What is their
role?
3.XML what are the interpretation techniques, what is the
difference?
那我是如何准备JAVA面试?
一、简历
网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议:
1.尽量不要花哨,程序员和设计师或者产品运营还不一样,我们的简历成功与否决定权还是在技术面试官那,而他们看重的是你的项目经验内容和技术等描述。
2.技能描述这块尽量只写你懂得而且理解深刻的,可以适当加入一些新技术或流行框架,不过这块需要理解,没来得及看源码的可以看看大神们对它的总结,网上一大堆。
3.项目经验这块尽量加入关键词,比如使用了什么技术、用到哪些设计模式、优化数据对比、扩展总结之类的。而非一味地介绍这个项目内容(那是产品经理的描述),比如性能优化这块,分为设计优化、代码优化、JVM优化、数据库优化等,可以从1.如何发现问题,2.怎么解决问题,3.解决效果对比,
二、面试刷题
MyBatis面试题
- 什么是Mybatis?
- Mybaits的优点
- MyBatis框架的缺点
- MyBatis框架适用场合
- MyBatis与Hibernate有哪些不同?
- #}和$}的区别是什么?
- 当实体类中的属性名和表中的字段名不一样怎么办?
- 模糊查询like语句该怎么写?
- 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
- Mybatis是如何进行分页的?分页的?分页插件的原理是什么?
- Mybatis是如何将sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
- 如何执行批虽插入?
- 如何获取自动生成的(主)键值?
- 在mapper中如何传递多个参数?
- Mybatis动态sq|有什么用?执行原理?有哪些动态sql?
- Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
- 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
- 一对一、-对多的关联查询?
- MyBatis实现- -对一有几种方式?具体怎么操作的?
- MyBatis实现-对多有几种方式,怎么操作的?
- Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
- Mybatis的一级、二级缓存
- 什么是MyBatis的接口绑定?有哪些实现方式?
- 使用MyBatis的mapper接口调用时有哪些要求?
- Mapper编写有哪几种方式?
- 简述Mybatis的插件运行原理,以及如何编写一个插件。
ZooKeeper面试题
- ZooKeeper面试题?
- ZooKeeper提供了什么?
- Zookeeper文件系统
- ZAB协议?
- 四种类型的数据节点Znode
- Zookeeper Watcher机制–数据变更通知
- 客户端注册Watcher实现
- 服务端处理Watcher实现
- 客户端回调Watcher
- ACL权限控制机制
- Chroot特性
- 会话管理
- 服务器角色
- Zookeeper 下Server工作状态
- 数据同步
- zookeeper是如何保证事务的顺序一致性的?
- 分布式集群中为什么会有Master?
- zk节点宕机如何处理?
- zookeeper负载均衡和nginx负载均衡区别
- Zookeeper有那几种几种部署模式?
- 集群最少要几台机器,集群规则是怎样的?
- 集群支持动态添加机器吗?
- Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的?
- Zookeeper的java客户端都有哪些?
- chubby是什么,和zookeeper比你怎么看?
- 说几个zookeeper常用的命令。
- ZAB和Paxos算法的联系与区别?
- Zookeeper的典型应用场景
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧
[JAVA进阶群]群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的JAVA交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
Dubbo面试题
- 为什么要用Dubbo?
- Dubbo的整体架构设计有哪些分层?
- 默认使用的是什么通信框架,还有别的选择吗?
- 服务调用是阻塞的吗?
- 一般使用什么注册中心? 还有别的选择吗?
- 默认使用什么序列化框架,你知道的还有哪些?
- 服务提供者能实现失效踢出是什么原理?
- 服务.上线怎么不影响旧版本?
- 如何解决服务调用链过长的问题?
- 说说核心的配置有哪些?
- Dubbo推荐