前言
面试像一个登山的过程,要一步一个脚印,不能因为某些失败,就半途而废,行百里者半九十,念念不忘,必有回响,只要一路坚持下来,就会有所收获。据身边所见,大部分一直坚持面试下去的,最后都拿到了满意的offer。
面试步骤:一般是笔试,笔试这个环节是很容易,几张试卷,一共也就十几道题。一般由5至10个选择题+2至5个论述题+1至2个编程题组成。
平静心态–浏览所有题目–开答
答题的时候,要先把自己会的快速的答上来,选择题自然不多说了,论述题根据自己的理解大致说明一下,多少会给你自己加分的。
编程题其实也不难,出现几率最大的是写一个关于某某设计模式的例子,而设计模式的编码例子,出现最多的是单例模式、工厂模式和代理模式。
有时候也会有一些算法的编码,一般是排序算法的编码实现。
还有的笔试题,会有一些程序题,就是看程序,然后自己写出运行结果,这样的问题考察的是对java基础知识的掌握,所以,有坚固的基础是很重要滴!
面试
技术性的问题:
- Struts1原理和Struts2原理以及区别和联系,在什么项目中用过,有什么体会
- spring的原理 aop和ioc机制,如何使用,在哪个项目用到过?有什么体会
- 简要说明一下StrutsMVC和SpringMVC
- servlet的原理,生命周期
- socket 原理以及使用方式
- Linux常用命令,shell编程介绍
- java常用算法
- 多线程、线程池、线程锁等等
- 二叉树、java数据结构
- 数据库mysql、Oracle的优缺点以及使用方法和sql语句,问的多的是如果模拟分页查询和多表查询
- Java垃圾回收机制
- 敏捷开发的简要说明,是否了解
- OOA/OOD/OOP 的含义
- java加密与解密
- java网络通信、http协议要素
- 是否熟悉设计模式?简要说一下自己所了解或者使用过的开发模式有哪些,在哪些场景中使用
项目经验的问题:
- 简要说一下你自己做过的自认为很不错的项目
- 你在项目中的职责,是否能够胜任之前的任务安排
- 在项目中遇到的问题,你是怎么解决的(一般这样的问题,可以说是自己解决,但是要讲明解决过程,一定要突出解决思路的灵活。也可以回答与同事讨论解决,这样可以让面试官觉察到自己善于利用团队资源,会给自己的团队意识加分)
- 如果没有实际项目经验,可以聊些在校的事迹。
个人对团队的看法以及个人的职业规划:
- 你怎么看待个人与团队,个人能力与团队协作的联系。
- 在团队合作中,最重要的是什么?
- 如果团队成员对于某个问题出现意见分歧,应该如何解决?
- 当对于上级有不满的时候,应该怎么解决?
- 团队的发展如何与个人的规划出现分歧,如何应对?
- 如何快速融入新的团队,结交新的同事?
- 个人的职业规划和职业目标,例如近两年的目标,近五年的规划。
- 如何看待企业文化,如何理解。
附上完整面经+总结
阿里内推
一面(电话)
- 听说你有博客,博客里大概有什么内容?
- 项目介绍,最复杂的表
- Hashmap的原理
- Hashmap为什么大小是2的幂次
- 介绍一下红黑树
- Arraylist的原理
- Arraylist的扩容机制
- 为什么arraylist扩容是1.5倍
- 场景题:设计判断论文抄袭的系统
- 堆排序的原理
- 抽象工厂和工厂方法模式的区别
- 工厂模式的思想
- object类你知道的方法
- 哪里用到了工厂模式
- Forward和redirect的区别
二面(视频) - 自我介绍
- 项目介绍
- 项目架构
- 项目难点
- Synchronize关键字为什么jdk1.5后效率提高了
- 线程池的使用时的注意事项
- Spring中autowire和resourse关键字的区别
- Hashmap的原理
- Hashmap的大小为什么指定为2的幂次
- 讲一下线程状态转移图
- 消息队列了解么
- 分布式了解么
总结
阿里作为最想去的公司(毕竟是国内JAVA第一大厂)面试开始比较早,最后挂在二面。
一面面试官很好,体验不错。最后给的建议:希望多去深入理解背后的原理,而不是仅仅停留在知道了解的层面。总体一面还是感觉不错。
二面表现很不好的一次面试。答的很乱。
面试看到的不足,第一,就是基础很不扎实,很多常问的面试题都不知道,第二,要深入去理解背后的原理,比如数据库的隔离级别具体的实现等等,第三,深入琢磨做的项目,用一些高大上的技术去装饰。
最后在总结一下
回头看面试过程,会发现面试就像在登山,你一定是往上爬的,只是爬得快慢之分,越面到后面,面试的越多,你的能力技巧经验都是越来越好!这是很多方面的因素造成的。
- Offer = 0.3心态 + 0.5实力 + 0.2运气,缺一不可
- 越早开始准备越好,准备的越充分越好
- 切忌眼高手低。前期尽量多利用小公司的面试机会来锻炼自己,积累经验。
- 在面试的过程中找准自己的定位,并且适当的根据面试情况及时调整自己的定位和目标,保持信心,但不能盲目自信。不管是大公司还是小公司,尽早拿到第一个offer。
- 心态要及时调整好!
- 不管面试失败还是成功,都一定要及时总结!
【文章福利】小编为大家准备了一些常见的的面试题,总结给大家,大家可以试试,希望对大家能有所帮助。需要的可以加小编QQ群967051845。即可获取