技术准备:
一、基础知识
1、string、stringbuffer等的关系、区别;
2、list、set集合的区别、关系(最好能够讲一下原理);
3、线程:线程和进程间的关系、多线程的应用场景、线程锁、线程池、创建线程的方式、线程常用命令(一般在并发情况下回使用到乐观锁、悲观锁)等;
4、==和equals之间的关系、区别;
6、JVM的概念以及相关优化;
7、GC机制(其中的算法以及几种状态是重点);
8、堆栈间的关系;
9、基本数据类型和引用数据类型;
10、反射;
11、设计模式(单例:懒汉式、饿汉式;代
理;工厂)等。
二、框架
1、spring框架中的AOP、IOC;五种通知等;
2、springmvc的执行流程;
3、mybatis整合中SQL注入问题、配置文件中的方法等;
4、springboot、springcloud等微服务框架的应用和对其的理解“约定大于配置”等;
三、数据库
1、创建索引的方式、优缺点;
2、SQL语句优化;
3、数据库的分库、分表;
4、表结构设计;
5、存储过程;
6、数据库事务;
7、数据库三范式(可作为了解)等。
四、技能点
1、Redis(常用数据类型、概念、RDB和AOF、集群);
2、ES;
3、dubbo(协议以及和zookeeper间的关系“消息消费者、消息提供者”,有必要的情况下记几个配置的关键词);
4、echarts(图形化展示、json解析“不是调用工具类哦!”);
5、POI报表注意事项;
6、nginx;
7、Tomcat集群、优化;
8、 sprngsecuit;
9、SSO(CAS、JWT的配置应用);
10、MQ等。
五、项目业务
1、购物车(缓存);
2、订单(订单id、分库、分表、物流);
3、支付(流程、接口对接);
4、权限(权限管理、表结构设计);
5、会员管理(会员级别以及对应权限);
6、商品管理(商品分类、上下架、商品状态);
7、单点登录(并发、权限认证等);
8、秒杀(缓存、并发、网关、限流、服务前置等);
9、物流(物流信息同步、分单等);
10、页面静态化;
11、仓储系统;
12、评论管理;
14、商家管理;
15、数据分析等。
电商中所涉及模块等较多,大家根据自己情况选择即可。
六、回答技巧
1、这是个什么类型的项目;
2、在这个项目中你主要负责了那些模块;
3、这些模块中所主要使用到的技术有哪些;
4、这些技术解决和实现了那些问题;
5、在实现过程中遇到了那些bug;
6、bug出现的原因是什么;
7、你是怎么解决的;
8、有怎样的收获。
可通用于其他技能点,技能点在项目中实际应用过是比较好的!技术与业务相互结合。
七、其他技能
1、前端:ajax跨域;jQuery、HTML等常用标签记几个;css、js概念;vue等。
2、Linux常用命令(部署流程、解压缩流程等常用的命令);
3、Git、SVN主干分支开发的结构;
4、禅道等项目管理工具;
5、Xmind、Visio、PW、UML、Axure等项目设计工具的应用;
6、接口文档、技术架构文档、需求文档、操作文档等(了解)。
常识准备:
1、项目开发流程;
2、团队成员;
3、离职原因;
4、发展规划;
5、还有什么想问的;
6、测试流程;
7、项目怎么管理的等。
线程:线程和进程间的关系、多线程的应用场景、线程锁、线程池、创建线程的方式、线程常用命令等;
集合:list、set、hash;
数据库:SQL语句、优化、表结构设计、索引、存储过程;
设计模式:单例、代理、工厂;
反射;
JVM:GC机制等;
算法:冒泡排序、递归、快排、二叉树。
以上部分在学习过程中可重点关注一下。