肯定好本身目标后,须要针对目标制定攻坚计划,确保顺利拿下城池。java
看一眼面试京东java开发工程师要求mysql
职位描述:web
工做职责:面试
一、独立完成中大型项目的系统分析、设计,并可以完成核心代码的编写,确保技术方案可以按计划要求,高质量的完成;redis
二、具备必定的技术架构思惟,确保设计的技术方案、开发的代码有较高性能、质量保障、扩展性、前瞻性;算法
三、对技术有较强的钻研及学习精神,可以深刻了解开源技术、现有系统技术等相关技术原理,出现问题时可以经过较强的技术手段较好的解决问题;sql
四、针对新人、普通开发人员进行有效辅导,帮助其快速成长。docker
任职要求:数据库
一、大型互联网公司3年以上核心架构经验,熟悉互联网快速迭代开发的模式,能化繁为简;后端
二、经常使用技术框架如Spring,Ibatis,Netty等有源码级研究者优先;
三、熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式经常使用技术进行合理应用,解决问题;
四、精通JVM底层原理,熟悉Tomcat运行机制,有源码经验者优先,性能调优掌握多线程及高性能的设计与编码及性能调优;有高并发应用开发经验;
五、有大数据(hadoop,hive,sqoop,hbase,spark,solr)相关经验者优先;
六、学习能力强,适应能力好;具有耐心、细心的品质;
七、对互联网应用开发的最新潮流有关注,喜欢去看及尝试最新的技术,追求编写优雅的代码,从技术趋势和思路上能影响技术团队
八、有财务、税务、财资等相关业务系统开发经验者优先
综上:须要有中大型项目经验,三年以上的核心架构经验,最主要的是须要精通Jvm底层原理等Java底层原理源码的理解与使用,恩,精通 精通 是精通
Java底层基础
准备跳槽时已经从别人社招面经知道了每轮技术面都会问及算法,JVM等等。这一块练习的比较少,像JVM这种就更是接触的不多,所以系统复习的时候这块花费的时间表比较多,因此天天的LeetCode是必不可少的,想在短短几周内刷完基本是不可能的,所以我主要按照类型去刷,还有就是须要一些视频辅助,讲Jvm的视频在各大视频网站不在少数,但真的能讲的让人通俗易懂的没发现几个,我也是找了很久才发现一位UP主发视频,讲的很不错(具体是谁就很少说了),听了两堂课一会儿感受全回来了,感受在对JVM的理解上获得升华,
组件、容器、数据库
复习的都是一些比较基础常见的组件和后端架构设计,像Mysql、Oracle、redis、docker、zookeeper、Tomcat等等。数据库的话主要复习分库分表、sql优化、读写分离、锁另外就是Redis的一些使用场景,微服务、分布式架构就准备CAP理论、BASE理论、限流、熔断、一致性问题等等
必选项:项目(重中之重)
.没有参加过开源项目,工做中的项目也平平凡凡,拿的出手的少之又少,因此说必须找亮点,扬长避短
好比我在项目中用过Quartz 、消息队列、用docker部署过项目熟悉使用docker,能够向面试官展现出本身具备必定的架构能力。
再好比你修改过一条sql从原来要跑30s到如今的10秒
而后就是能够说一些项目中比较复杂的模块,能够不用是你作的,可是必定得搞清楚模块的功能快并能能够熟练度讲出来
0.项目介绍
1. ArrayList,Vector,LinkedList 的存储性能和特性?
2.forward 和redirect 的区别?
3. Java 反射机制的做用
4. Servlet 建立过程及生命周期Servlet 在容器中运行时, 其实例的建立及销毁等是由容器进行控制。
5. 用 sql 语句分页(mysql/oracle)
6.J2EE J 是什么意思? 2 是什么意思 EE 是什么意思? Struts 的拦截器你是怎么作的,
是独立开发的,可以独立开发的到。而后问有哪几种拦截?
7. 简单介绍下 java ? Spring 的AOP,IOC 的讲述对 struts2 的了解, 1,2 的比较 xml的了解 J2ee 的webserviced 的协议?
8. 如何释放过分使用的 undo 表空间
9. 数据库里面游标,索引是怎么用的? 在 oracle 数据库中,用get 和load 方法这 2个方法来查没有的数据那么分别会反馈什么样的结果?
10. 写一段把本地文件 formfile 拷贝到本地文件tofile 的程序
1. 多线程、同步实现方法?
2. 适配器模式与桥梁模式的区别
3. 开发中都用到了哪些设计模式 ?用在什么场合?
4. 栈帧中的动态连接中存储的是什么?还有其余思路么?
5. 堆为何要分红新生代、老年代?比例为何是1:2?
6. This指针是什么时候赋值的?
7. 虚拟机栈须要GC么?为何?
8. 本地方法栈必定存在么?若是不是什么时候存在?
9. Jvm是用C++实现的,C++生成的对象默认是在navite method,怎么放到Jvm堆上的
10. MySQL事务的四个隔离级别? 四个级别的区别,而后说了每一个级别可能产生的问题
1. 问项目
2. 虚拟机栈、本地方法栈是同一个栈么?若是不是为何要这么设计?
3. –Xss、-X:ThreadStackSize、-XX:VMThreadStackSIze的区别?
4. –XX:NewRatio=4是什么意思?新生代占堆内存的比例是多少?
5. JVM加载class 文件原理?
6. Tomcat 的class 加载的优先顺序?
7. J2EE访问速度慢,怎么样优化?
8. 线程共享区域随虚拟机的启动/关闭而建立/销毁?
9. JVM运行时内存?
其实大厂面试也没有什么不一样,一样的题目只是问的比普通公司更加的深刻,每每一个问题能够延伸到十几个问题,一层一层全是坑,可是有针对性的去复习仍是能达到事半功倍的效果,想进大厂必须把底层学好并且还要学精能触类旁通,这样才会让面试官另眼相看。