找工作有段时间了,发现今年的趋势和以前变了,工资降了,面试难度提升了,好多公司开始周六上班。
先说面试,
算法基本都问,比如LRU,kmp,双向链表,获取树最长节点,红黑树,B+树,平衡二叉树,链表有环,时间复杂度等
JAVA基础有线程,并发包,多线程原理,集合,23种开发模式,类加载过程,双亲委派,jvm内存模型,垃圾回收算法,如何排查内存溢出,内存泄露,CPU,垃圾回收频繁,http请求头,https加密原理,动态代理。
分布式方面:分布式事务,分布式锁,dubbo原理,
zookpepr选举机制,两阶段提交,三阶段提交,服务降级,限流,熔断机制,路由等。
框架层面有,spring bean生命周期,初始化,springmvc源码,mybatis源码,tomcat源码调优,springboot实现,springCloud组件源码,redis底层数据结构,高并发锁实现原理,ES原理,倒排索引,ik分词实现,集群,kafka如何保证数据不丢弃,事务消息,不重复消费等。
数据库层面,MySQL索引,调优,集群,底层查询结构,连接
数设置,为什么用B+树,聚集索引和非聚集索引,分库分表,间隙锁,乐观锁,悲观锁,表锁如何排查等。
项目层面:抢红包怎么实现,高并发架构设计,统一日志实现,统一配置文件,项目发布流程,是否带过团队。
其他:netty BIO.NIO,hadoop,docker与虚拟机区别,k8s,雪花算法。字节码,Linux命令,shell命令,grade,常见的加密算法,负载均衡算法等
有好多小厂都有三四轮交叉面试,技术过了HR不一定过,能不能接受996呀,为什么离职呀,工资要高了,回家等消息吧,有一些公司直接机试,给你一个业务,让你现场搭框架。要求你会前端VUE,小程序开发
总之,现在JAVA程序员必须是全能的,半个前端,半个运维,半个dba,会搭框架,能加班,工资不能高,有技术广度和深度,年龄不能大,经验必须足,算法必须会,能力必须强。
面试的一点点心得感想,记录一下
…展开全部
mickey
2020-06-28 华宇(大连)·Java
大浪淘金
2020-06-11 苹果(APPLE)·高级管理职位
就是我
2020-06-10 广州大学华软软件学院·电子信息工程
东神大陆马克笔发型师
2020-06-06