2020年7月,参加了5、6家公司的面试,第一家公司因为对面试题的陌生和复习的不全面,导致在笔试过程阶段没有通过;后来找到第二家外包公司进行面试,第一天去进行了面试,面试结束做题进行复试,复试通过后叫我试岗三天,在周末做了试岗的题目,6道做了5道,通知我到项目部去参加项目试岗,在项目部进行了一次面试一次笔试,最后签订合同发现合同上说岗前培训2-3个月,会产生费用,突然发现城市套路果然很深,妥妥的培训机构,是有工资后进行收费这种减小当前压力的收费方式适合于还没有找到工作的大学生,并且这种盈利方式也不会给企业带来成本和风险,真吐了.还有四家公司参加通过了笔试,后询问有两家也是培训机构的,就没有去参加面试了,折腾了半个月左右,终于找到了一份实习工作…真是太难了…以下是遇到过的笔试面试题.
1.JAVA的基本数据数据类型和占字节数.
2.JDK、JRE、JVM的关系与区别.
3.Integer问题以及拆箱装箱过程中使用的方法实现
4.equal()方法和==的区别和equal()方法的内部实现
5.String、StringBuffer、StringBuilder的区别?如何选择?
6.面向对象的特征有哪些方面?重载和重写的区别以及多态的特征
7.final、finally、finalize()的区别
8.throw和throws的区别
9.Error和Exception的区别
10.异常的处理过程中,程序的提前退出问题.
11.类中静态方法、变量、代码块、普通方法、构造方法加载顺序
12.创建类实例的方式
13.反射创建类实例的方式
14.谈谈自己对深浅拷贝的理解
15.谈谈Cookie和Session
16.实现线程的方式和方式之间的区别
17.执行线程方法的是哪个方法?
18.集合类和并发集合类问题
集合类问题:
1.集合包(List.Map.Set的区别,Map是否一定无序(TreeMap))
2.谈谈ArrayList(初始化.数据结构.扩容.增删.查询.线程安全.遍历时操作.什么时候用Array好)
3.谈谈LinkeList(实现接口.数据结构.对比ArrayList的增删查询的内部实现.线程.安全)
4.谈谈HashMap(负载因子.扩容机制.线程安全与死锁问题.新增元素hash冲突索引计算和链地址法)
5.怎么解决ArrayList线程安全问题?(synchorizedArrayList、CopyOnWriteArrayList)
6.怎么解决hashmap线程安全问题?(ConcurrentHashMap)
Spring:
1.用自己的理解阐述下SpringBean的生命周期
2.Spring的作用域
3.Spring bean是线程安全的吗?Spring是怎么处理并发问题的?
4.Spring和SpringBoot开发时的常用注解有哪些?
5.谈谈Spring的事务、事务隔离级别和事务传播机制
6.用自己的话描述下什么是IOC?如果让你实现一个IOC,写出你的大致思路?
7.谈谈什么是AOP以及AOP的运用和AOP内部的代理模式
MyBatis:
1.#{}和${}的区别
2.MyBatis是如何防止sql注入的
3.SqlSession是不是线程安全的
4.MyBatis的批量查询和插入更新
5.MyBatis是如何开发插件的
SpringMVC:
1.写出SpringMVC的工作流程
2.SpringMVC怎么实现返回JSON的
3.如何解决POST请求中文乱码问题,GET如何处理
4.SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
5.使用过hibernate-validator吗?怎么实现校验的?如果将校验结果返回
1.平时使用什么数据库?
2.说一说存储引擎和MyISAM和InnoDB的区别
3.说说MySQL有哪些索引?在使用联合索引时会出现的索引失效问题?
4.内、左、右链接?两个有并集的集合,根据指定区域写SQL.
5.MySQL的事务
6.事物的四大特性(ACID)介绍一下?
7.什么是脏读?幻读?不可重复读?
8.什么是事务的隔离级别?MySQL的默认隔离级别是什么?
9.写一下MYSQL.Oracle的分页查询语句
10.Union和Union all
11.存储过程
12.子查询、连表查询、分组排序、函数处理等等…
1.平时用过缓存吗?用的什么缓存?为什么使用缓存?
2.Redis的五种基本数据结构
3.在项目中怎么使用整合Redis和整合的那套redis的API
4.介绍一下Redis在你项目中的使用
5.除了使用基本数据类型,还使用过其他的数据类型吗?(BitMap,HyperLogLog等)
6.Redis的事务
7.caffine/guava.cache在项目中时怎么使用的
1.接触过Linux吗?说点常用命令
2.在服务器上部署过项目吗?怎么部署的项目?
1.使用过svn/git吗?
2.说说在开发过程中是怎么使用Git来进行版本管理的
1.单例模式
2.代理模式
3.过滤器模式