1.机试题
机试有两道题,一道题200分,120分及格。
题目一:给你一个正整数n,假设有两个质数加起来等于n,问一共有多少组这样的质数?
题目二:字符串匹配,给你一个父串,一个子串,求父串中子串出现的次数?
温馨提示:机试题其实用暴力破解就可以得120分了,两道题一共240分就可以通过了,所以假如你遇到的机试题目刚好是你不太会做的,不妨试试暴力破解。
2.两轮面试
面试题问的知识点全部都是根据你的项目来展开问的,大概问了这些东东:
1.你项目中用了java8,那你说说java8的新特性有哪些?
lamda表达式,流(Stream),optional,LocalDate日期类等等。
2.问了redis各种业务场景,比如数据量规模多大加缓存合适?你缓存的业务数据在redis中用什么类型存储?你项目中redis用了哪种淘汰策略?更新数据的时候怎么处理(类似是先更新数据库,再删除缓存还是先操作缓存再更新数据库这些问题)?后台业务查询数据的流程是什么(先查缓存,缓存没有再查数据库)?缓存雪崩怎么办?
心得:redis这块面试不敢说100%,90%都会问到,建议复习面试的时候当背书来背。
3.线程池原理
根据那几个核心参数把源码和流程说出来。
4.Maven的生命周期
当时问到有点蒙,不是很明白要答哪些知识。估计是答clean、install、package、compile这些。
5.java堆,垃圾回收算法,堆内存的结构,G1相比比CMS有哪些优点?
这些面试题复习的时候建议也是当背书来复习。
6.你平时怎么对数据库调优?数据库索引底层原理?联合索引(遇到范围查询停止匹配)?
调优阶段:sql语句书写要正确规范高效——>通过慢查询日志定位sql语句来定位问题、建立索引——>加缓存
7.你平时写的代码中有用到哪些设计模式呀?
这个建议面试的时候提前准备好三到四个来说。
8.aop切面,直接问我@Aspect注解里面有几个参数,ioc(控制反转)原理以及哪些代码中用到了ioc?
9.平时用到哪些集合类(List Set HashMap)?
10.你知道哪些线程安全的类和框架?(ReetranLock,volatile,ConcurrentHashMap这些有多少说多少)
11.ELK框架大体流程?
答FileBeat,kafka,LogStash,ES,Kibana这些各个框架的功能以及流程步骤。
12.白纸写代码,leecode的题目:
总结:算法题在面试笔试中都会考的,平时要多刷刷。这次问到的题目都是面试很常见很高频的,一定要掌握。还有一定要对你项目很熟悉,不熟的话问着问着你就蒙了。