清理手机发现很早以前第一次面试JAVA时全程录音 特回放整理
答案请自行思考及百度,加深印象
总结: 初级基本不会问到设计模式,但是简单了解概念,需要都过一遍,至少要能手写出单例模式的饿汉式和懒汉式并基本了解其这么做的意义。
一定尽量找开发的实习工作,实在不行就只能先找运维、技术支持的工作先熟悉下互联网公司的模式,选择一门语言就死磕到底 不要放弃不要随意换,切记
关于换行业: 如果你是自学的准备换行业找工作,进入互联网行业第一份工作很重要,一定尽量找开发的工作,可以找实习的,但是实习一般面试题会对数据结构和算法要求有点高,毕竟跟你竞争的是科班大学生,不过在一线城市还是很大机会的
关于学历: 在一线城市实习的话专科就不是很好找了,一般有经验的才放宽到专科
关于外包: 接触不到核心的,可以短暂入职适应下,不适合长待,如果表现好被甲方挖走也不错。
上午
先做下自我介绍吧 --此处你可以尽量的多说点废话,不要太快结束,他不会很在意你说的什么,主要给面试官足够的时间快速预览你的简历
项目是单体服务还是分布式的 是分布式模块还是单体模块 --虽然很多都要求分布式,但其实用到的公司也不是很多~,初级了解基本的就可。
你都负责什么业务,哪里比较难? --面试必问
定时任务用什么 --大家可以了解下开源框架xxl-job
你们用的什么框架 --三大框架啦 Spring SpringMVC SpringBoot
Spring了解吗 重要的两个特性是什么
IOC是什么 AOP是什么
AOP都有哪些场景 除了日志
通知都有哪些类型
在工作中用AOP实现过什么
了解DI注入吗 --必须明白其原理
怎么解决循环依赖 --高频问题,我百度了但是没好好研究,只记得三级缓存,结果面试官不知道三级缓存,鄙视一下。
Spring事务用过吗 --了解即可,实际很少用
如果有一个实例对象需要复制怎么做
反射实现过什么 用反射做工具类怎么实现拷贝实例对象
知道序列化吗 用序列化怎么实现拷贝实例对象 --序列化也是高频问题
慢sql怎么优化 --高频必问
索引有什么类型 --高频必问
唯一索引和主键索引的区别 --高频
存储过程有用过吗 --高频
视图和表的区别
公司使用什么做登陆的,Shiro会用吗
知道IO流吗 --高频,需要明白各类型
Redis都有什么数据类型? 平时你都用什么?hash类型可以设置过期时间吗 --我坚定的说hash可以设置,他说可以?我说是的,然后就结束了 其实不可以~~~如果问怎么设置,呵呵 总有办法可以,没有官方办法就不能自己设置了吗。
总结:这个面试官的样子就很傲气的样子,最后我们都表现出不高兴。
需要加上分布式,单体服务比较low,负责的业务模块一定要精通,想想会延伸出的问题。对方一般也会给你挖坑,不要自己给自己挖坑
对DI注入的原理要深入了解,循环依赖是高频问题,io流必须搞清楚各个类型,redis还得小心问你都怎么用的,可以用来做什么,这次没有问消息队列和数据结构和高并发多线程和代理和linux.事务是必须会的,注意spring的事务级别都会问什么,要了解mysql的各种索引和慢查询
下午
听到有笔试题一开始有点意外,有点慌,开局整整4张笔试题,不过还好都简单。
笔试题:
1.String s = new String("xyz");创建了几个String Object
2.int 和Integer有什么区别?
3.构造器Constructor是可被覆盖(override)?
4.Java类库中的八个标准包分别是什么
5.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
6.在java中 如何跳出当前的多重嵌套循环
7.接口和抽象类什么区别
8.数组有没有length()这个方法,String有没有length()这个方法
9.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
10.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?,是用 == 还是equals()?它们有何区别?
11.启动一个线程用run()还是start()
12.Java中的线程有四种状态分别是什么
13.什么是java序列化,如何实现java序列化
14.同步和异步的区别
15.Get和Post的区别
16.如何实现购物车添加新项,又不使购物车中原有项目被取消
17.请说出JSP的内置对象及方法?
18.我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个编码的字符串?
19.forward与redirect区别?
20.编程题:写一个Singleton出来?
21.什么是AOP?
22.什么是IOC?
23.什么是ORm
24.什么是JPA
25.Spring实现了哪些模式
26.列举你常用的Spring及SpringMVC注解
27.Hibernate实体对象生命周期的三种状态?
28.Hibernate实体之间的关联关系的三种形式
29.Hibernate中映射文件<hibernate-mapping> inverse属性和cascade属性的区别?
30.Mybatis中 #{...} 和 ${...}的区别
31.如何获取自动生成的(主)键值
32.Mybatis在Mapper中如何传递多个参数
面试题如下
工作中JAVA主要用到了什么技术栈?
简单介绍下最近做的项目,包括做了哪些功能?
功能改进具体有做哪些改进?
做项目过程中有遇到哪些难点吗 或者印象比较深的
多线程有用到过吗
多线程有关的参数配置,比较重要的讲一下
想创建一个缓存式的线程池怎么创建
反射机制了解吗 --高频
反射想获取一个类所有方法调用什么接口
有一个私有属性,反射可以给他赋值吗
泛型起到什么作用?
泛型擦除是干嘛用的?
IO流了解吗
IO流想把对象序列化反序列化怎么通过IO流操作
常用集合能列举下吗
HashMap和HashSet的内部构造有什么区别
HashMap线程安全的吗
HashMap为什么不是线程安全的
多线程同时访问共享资源会对HashMap的内部哪个地方产生影响
ArrayList和LinkedList有什么区别
在LinkedList里面存了一组对象,我想对对象里的某一个属性进行排序,怎么实现这个功能
数据库会用到mysql吗 --我们用mongo多 ,但mysql也用,面试题也背了
mysql的四种事务隔离级别是什么
mysql的数据库内部执行上分为哪几部分,比如执行select
执行过程中想看哪个语句跑的比较慢或者卡住了,如何设置慢查询 --比直接问慢查询怎么优化还要刁钻
索引的原理是什么
索引的作用是什么
主键索引和唯一索引区别
联合索引的概念了解吗,为什么会用到
Redis有用过吗
你用Redis存过哪些信息呢?
项目涉及微服务吗
dubbo听过吗
项目如果有bug是怎么排查的,是怎么个流程的
消息中间件一般用在什么场景下
不是大数据量还有什么情况下用到MQ
总结: 初级基本不会问到设计模式,但是简单了解概念,至少要能手写出单例模式的饿汉式和懒汉式并基本了解其这么做的意义。
如果你是自学的准备换行业找工作 一定尽量找开发的实习工作,实在不行就只能先找运维、技术支持的工作先熟悉下互联网公司的模式,选择一门语言就死磕到底 不要放弃不要随意换,切记