前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【面试题】2018年最全Java面试通关秘籍第四套!

【面试题】2018年最全Java面试通关秘籍第四套!

作者头像
Java后端技术
发布2018-08-09 16:48:47
1.6K0
发布2018-08-09 16:48:47
举报
文章被收录于专栏:Java后端技术栈Java后端技术栈

第一套:《2018年最全Java面试通关秘籍第一套!

第二套:《2018年最全Java面试通关秘籍第二套!

第三套:《2018年最全Java面试通关秘籍第三套!

注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复制,如有违反则追究其法律责任!

不要问我为什么没答案了,原因还是以前那句话,单纯的背面试题是解决不了任何问题的,只有深入其内部原理,才能游刃有余!后期一系列的文章会不断的探讨这一个个经典的面试题,敬请期待!也欢迎大家在留言处补充和讨论!

一、Java基础

  • 为什么JVM调优经常会将-Xms和-Xmx参数设置成一样;
  • Java线程池的核心属性以及处理流程;
  • Java内存模型,方法区存什么;
  • CMS垃圾回收过程;
  • Full GC次数太多了,如何优化;
  • 直接内存如何管理的;
  • Java线程池的几个参数的意义和实现机制;
  • Java线程池使用无界任务队列和有界任务队列的优劣对比;
  • CountDownLatch和CyclicBarrier的区别;
  • Java中有哪些同步方案(重量级锁、显式锁、并发容器、并发同步器、CAS、volatile、AQS等)
  • 如果你的项目出现了内存泄露,怎么监控这个问题呢;
  • 标记清除和标记整理的区别和优缺点,为何标记整理会发生stop the world;
  • 线程池,如何根据CPU的核数来设计线程大小,如果是计算机密集型的呢,如果是IO密集型的呢?
  • 让你设计一个cache如何设计;
  • String中hashcode是怎么实现的;
  • JDK中哪些实现了单例模式?
  • 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?
  • 线程池内的线程如果全部忙,提交⼀个新的任务,会发⽣什么?队列全部塞满了之后,还是忙,再提交会发⽣什么?
  • synchronized关键字锁住的是什么东西?在字节码中是怎么表示的?在内存中的对象上表现为什么?
  • wait/notify/notifyAll⽅法需不需要被包含在synchronized块中?这是为什么?
  • ExecutorService你一般是怎么⽤的?是每个Service放一个还是个项目放一个?有什么好处?

二、数据库

  • InnoDB的插入缓冲和两次写的概率和意义;
  • 如果建了⼀个单列索引,查询的时候查出2列,会⽤到这个单列索引吗?(会用到)
  • 如果建了⼀个包含多个列的索引,查询的时候只⽤了第⼀列,能不能⽤上这个索引?查三列呢?
  • 接上题,如果where条件后⾯带有⼀个 i + 5 < 100 会使⽤到这个索引吗?
  • like %aaa%会使⽤索引吗? like aaa%呢?
  • drop、truncate、delete的区别?
  • 平时你们是怎么监控数据库的? 慢SQL是怎么排查的?(慢查询日志)
  • 你们数据库是否⽀持emoji表情,如果不⽀持,如何操作?选择什么编码方式?如果支持一个表情占几个字节?(utf8mb4);
  • 如果查询很慢,你会想到的第⼀个⽅式是什么?(数据库索引)

三、Linux基础

  • Linux下可以在/proc目录下可以查看CPU的核心数等;cat /proc/下边会有很多系统内核信息可供显示;
  • 说一下栈的内存是怎么分配的;
  • Linux各个目录有了解过吗?/etc、/bin、/dev、/lib、/sbin这些常见的目录主要作用是什么?
  • 说一下栈帧的内存是怎么分配的;
  • Linux下排查某个死循环的线程;
  • 动态链接和静态链接的区别;
  • 进程的内存分布;
  • 如何查找一个进程打开所有的文件;
  • 说一下常使用的协议及其对应的端口;
  • 为什么会有内核态,保护模式你知道吗?
  • 文件是怎么在磁盘上存储的?
  • 有了进程为何还要线程呢,不同进程和线程他们之间有什么不同。(进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。)
  • InnoDB聚集索引B+树叶子节点和磁盘什么顺序相同;
  • 文件系统,进程管理和调度,内存管理机制、虚地址保护模式;

四、网络基础

  • HTTP1.0和HTTP1.1的区别;
  • DHCP如何实现分配IP的; 发现阶段(DHCP客户端在网络中广播发送DHCP DISCOVER请求报文,发现DHCP服务器,请求IP地址租约)、提供阶段(DHCP服务器通过DHCP OFFER报文向DHCP客户端提供IP地址预分配)、选择阶段(DHCP客户端通过DHCP REQUEST报文确认选择第一个DHCP服务器为它提供IP地址自动分配服务)和确认阶段(被选择的DHCP服务器通过DHCP ACK报文把在DHCP OFFER报文中准备的IP地址租约给对应DHCP客户端)。
  • OSI七层模型,每层都说下自己的理解和知道的,说的越多越好;

五、框架相关

  • Servlet如何保证单例模式,可不可以编程多例的哪?
  • Dubbo请求流程以及原理;
  • Spring框架如何实现事务的;
  • 如果一个接⼝有2个不同的实现, 那么怎么来Autowire一个指定的实现?(可以使用Qualifier注解限定要注入的Bean,也可以使用Qualifier和Autowire注解指定要获取的bean,也可以使用Resource注解的name属性指定要获取的Bean)
  • Spring框架中需要引用哪些jar包,以及这些jar包的用途;
  • Spring Boot没有放到web容器⾥为什么能跑HTTP服务?
  • Spring中循环注入是什么意思,可不可以解决,如何解决;
  • Spring的声明式事务 @Transaction注解⼀般写在什么位置? 抛出了异常会⾃动回滚吗?有没有办法控制不触发回滚?
  • MyBatis怎么防止SQL注入;
  • Tomcat本身的参数你⼀般会怎么调整?
  • 了解哪几种序列化协议?如何选择合适的序列化协议;
  • Redis渐进式rehash过程?
  • 比如我有个电商平台,做每日订单的异常检测,服务端代码应该写;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档