一份月薪30K的java开发岗位工作要求是怎样的呢?面试都会问到哪些呢?
任职要求: 1、计算机或相关专业本科(或以上)学历,具备3年以上Java服务端开发经验,熟悉常用的Java开源框架,如熟悉Spring、SpringMVC、SpringBoot、Hibernate、MyBatis等,了解其原理和实现机制; 2、擅长Java Web服务开发,熟悉掌握各种Web应用开发模式,具有丰富的高并发、大数据系统的设计、研发、调试经验者优先; 3、精通Java及面向对象设计开发,熟悉常见设计模式,有系统设计经验,研究过优秀开源软件源码并有心得者优先; 4、熟悉常用数据库(MySQL、Redis等)的原理和使用,具有良好的数据库设计能力,对SQL编写和优化有丰富的经验; 5、熟悉Linux操作系统,掌握常用的Shell命令;
基于这些要求我们身为程序员必须要掌握:
1、数据结构与算法。简单的算法与数据结构你还是该掌握的吧?这个要求过分吗?作为程序员的你,如果连数组,链表,这两个基本的结构都搞不懂,还拿什么指望你去理解,平衡二叉树,红黑树,哈希表,堆,桶,图,这些更为复杂的数据结构?简单的冒泡和选择排序手写下都面有难色的主,还指望他听过快排、插入、希尔、堆排序、二路归并、多路归并、桶排、计数、基数这些本该掌握的很基础的东西?有些时候遇到点知道时间复杂度和空间复杂度的人都阿弥陀佛了……
2、操作系统。基本的linux命令你还是要会几个撒?内存分配、进程、线程调度这些简单基础的概念你还是应该有一点撒?别说这些东西没用,很多时候在实现的时候,很多软件参考了不少操作系统的设计思想。
3、数据库层面。几大范式定义概念搞懂。数据库事务的ACID总能扯明白吧?隔离层级分别保障的力度,和依然存在的问题你得知晓吧?有些都工作几年的人了,不过分吧?SQL优化搞没搞过?主流的MYSQL的存储引擎之间的区别,几种索引的区别和应用场景,应该如数家珍撒?作为一只技术狗,数据库事务的实现方式你应该知道一些吧?二阶段提交、三阶段提交你知道不?这些知道几分,就看你个人深浅了。
以上算通用层面的东西,只要你说你是个程序员,你就应该知道。下面我们就来掰扯下和java有关的东西了。
30K的面试必将会问到:性能优化、微服务架构、并发编程、开源框架、分布式等。下面将会针对这些点展开分析。
全套资料总计页数946页,获取:转发+转发+转发后,点击获取《2020年面试宝典总纲》
1、Tomcat性能优化
你怎么给Tomcat调优?如何加大Tomcat链接数?怎么加大Tomcat的内存?Tomcat中如何禁用列目录下的文件?Tomcat有几种部署方式?Tomcat的优化经验分享?…2、JVM性能优化
JVM类加载过程?JVM内存分配?描述下JVM加载Class文件的原理机制?GC是什么?为什么要有GC?简述Java垃圾回收机制?如何判断一个对象是否存活?(GC对象的判定方法)垃圾回收的优点和原理。并考虑2种回收机制?垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?Java中会存在内存泄漏吗,请简单描述。深拷贝和浅拷贝System.gc()和Runtime.gc)会做什么事情?finalize(方法什么时候被调用?析构函数(finalization)的目的是什么?如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?什么是分布式垃圾回收(DGC)?它是如何工作的?串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?在Java中,对象什么时候可以被垃圾回收?简述Java内存分配与回收策略以及 Minor GC和Major GC。JVM的永久代中会发生垃圾回收么?Java中垃圾收集的方法有哪些?什么是类加载器,类加载器有哪些?类加载器双亲委派模型机制?…1、SpringCloud面试整理
什么是Spring Cloud?使用Spring Cloud有什么优势?服务注册和发现是什么意思?Spring Cloud如何实现?负载平衡的意义什么?什么是Hystrix?它如何实现容错?什么是Hystrix断路器?我们需要它吗?什么是Netflix Feign?它的优点是什么?什么是Spring Cloud Bus?我们需要它吗?…2、SpringBoot面试整理
什么是Spring Boot?Spring Boot有哪些优点?什么是JavaConfig?如何重新加载Spring Boot上的更改,而无需重新启动服务器?Spring Boot中的监视器是什么?如何在Spring Boot中禁用Actuator端点安全性?如何在自定义端口上运行Spring Boot应用程序?什么是YAML?如何实现Spring Boot应用程序的安全性?如何集成Spring Boot和ActiveMQ?如何使用Spring Boot实现分页和排序?什么是Swagger?你用Spring Boot实现了它吗?什么是Spring Profiles?什么是Spring Batch?什么是FreeMarker模板?如何使用Spring Boot实现异常处理?您使用了哪些starter maven依赖项?什么是CSRF攻击?什么是WebSockets?什么是AOP?什么是Apache Kafka?我们如何监视所有Spring Boot微服务?…3、Dubbo面试整理
Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?dubbo服务负载均衡策略?Dubbo在安全机制方面是如何解决的dubbo连接注册中心和直连的区别…1、Spring面试整理
什么是Spring框架?Spring框架有哪些主要模块?使用Spring框架能带来哪些好处?什么是控制反转(IOC)?什么是依赖注入?请解释下Spring框架中的LOC?BeanFactory 和ApplicationContext有什么区别?Spring 有几种配置方式?如何用基于XML配置的方式配置Spring?如何用基于Java配置的方式配置Spring?怎样用注解的方式配置Spring?请解释Spring Bean的生命周期?Spring Bean的作用域之间有什么区别?什么是Spring inner beans?Spring框架中的单例Beans是线程安全的么?请举例说明如何在Spring中注入-个Java Collection?如何向Spring Bean中注入-一个Java.util.Properties?请解释Spring Bean的自动装配?请解释自动装配模式的区别?…2、SpringMVC面试整理
什么是SpringMVC?Spring MVC的优点:SpringMVC工作原理?SpringMVC流程?SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?如果你也用过struts2.简单介绍下springMVC和struts2的区别有哪些?SpingMvc中的控制器的注解一般用那个,有没有 别的注解可以替代?@RequestMapping 注解用在类上面有什么作用?怎么样把某个请求映射到特定的方法上面?如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?怎么样在方法里面得到Request,或者Session?我想在拦截的方法里面得到从前台传入的参数,怎么得到?如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?SpringMvc中函数的返回值是什么?SpringMVC怎么样设定重定向和转发的?SpringMvc 用什么对象从后台向前台传递数据的?SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?怎么样把ModelMap里面的数据放入Session里面?SpringMvc怎么和AJAX相互调用的?SpringMvc 里面拦截器是怎么写的…3、MyBatis面试整理
什么是MyBatis?讲下MyBatis的缓存Mybatis 是如何进行分页的?分页插件的原理是什么?简述Mybatis的插件运行原理,以及如何编写-一个插件?Mybatis 动态SQL是做什么的?都有哪些动态SQL?能简述一下动态SQL的执行原理吗?#{}和${}的区别是什么?为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?MyBatis 与Hibernate 有哪些不同?MyBatis的好处是什么?简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?什么是MyBatis的接口绑定,有什么好处?接口绑定有几种实现方式,分别是怎么实现的?什么情况下用注解绑定,什么情况下用xml绑定?MyBatis 实现-对一-有几种方式?具体怎么操作的?Mybatis 能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别?MyBatis 里面的动态Sql是怎么设定的?用什么语法?Mybatis 是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?Xml映射文件中,除了常见的selectlinsertlupdae|delete 标签之外,还有哪些标签?当实体类中的属性名和表中的字段名不-样,如果将查询的结果封装到指定pojo?Mybatis 映射文件中,如果A标签通过include引用了B标签的内映射文件中,如果映射文件中,如果A标签通过包括引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?IBatis 和MyBatis在核心处理类分别叫什么?…1.1、ZooKeeper面试专题
1.2、Nginx面试专题
2.1、RabbitMQ消息中间件面试专题
2.2、kafka面试专题
3.1、Redis面试专题
3.2、MongoDB面试专题
3.3、memcached面试专题
资料整理不易,本资料全套共946页,大家拿到后可以回去吃透,来年正好可以派上用场,在面试中大展拳脚,拿下心仪Offer ,本资料已整理到Git
获取:转发+转发+转发后,点击获取《2020年面试宝典总纲》
