ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2020.06面试题汇总

2020-07-01 11:36:35  阅读:258  来源: 互联网

标签:怎么 面试题 String 区别 什么 汇总 2020.06 内存 加载


最近找Java开发工作,面试了20多家,随着不断汲取前面面试经验,补充知识盲点,优化回答语言表达,后面面试拿到offer成功率大大提升,现把面试中问到的问题整理如下,希望对有需要的同行有所帮助,因为时间有限,答案后期整理了再逐步公布,目前先只提供问题。

一、基础

1、字符串常量存储位置,new String()存储位置,==比较前面两种创建字符创结果,equals和==区别,字符串使用equals底层是怎么比较的。

String str1 = “abc”;

String str2 = “abc”;

String str3 = new String(“abc”);

String str4 = “a” + “bc”;

判断以下true or false

str1==str2

str1==str3

str1==str4

2、String不能被继承,为什么,能被改变吗?为什么?怎样才能被改变,StringBuilder和StringBuilder区别,string为什么要加final修饰?

3、返回结果为多少,为什么

  int test(){

                 int x = 1;

                 try {

                         x=2;

                         return x;

                 } 

                 finally {

                  x=3;

                 }

}

4、既然Object是所有类的父类,说一下Object所拥有的方法及其用法。

5、HashMap底层原理,初始化长度,扩容情况,安全(注意1.7和1.8区别)

                  Hashtable

                  ConcurrentHashMap

                  HASHMAP扩容为什么是0.75(hash冲突最少,什么是hash冲突)

6、ArrayList底层,初始化长度,扩容

                  LinkedList

Vector

                  ArrayList和LinkedList内存情况区别(相同长度时ArrayList比LinkeList节省内存)

         7、金融项目处理钱用的是Bigdecimal,底层是字符串处理

         8、介绍一下访问者模式

         9、字节和字符区别,使用

         9、数据加密RSA非对称,签名,对称AES,MD5

二、多线程

1、多线程CAS是什么(change and swap),synchronize是什么,区别。

         2、Synchronize关键字用法,底层原理。

         3、锁的粒度

         4、Lock用法,和synchronize区别。

         5、volitale关键字作用

         6、三种实现方式

         7、线程状态:

         8、线程池有几种,都哪几种,有啥特点

三、类的加载

         1、什么时候会加载类。

         2、类的加载流程,及每步作用。(加载、验证、准备、解析、初始化、使用、卸载)

         3、三种加载类,关系,作用

         4、双亲委托机制

四、jvm

         1、内存模型(类加载器、运行时数据区、执行引擎、本地方法接口)

         2、运行时数据区:分为5部分,2共享,3私有,每个部分存什么

         3、判断对象是否可回收:可达性分析、程序计数法,区别,优劣,现在虚拟机用的哪个

         4、堆内存分区(年轻代(Eden、survivor0、survivor1)、老年代),这两个区内存回收算法(复制算法、标记清除、标记整理),算法内容优劣。

         5、G1垃圾回收算法,了解

6、jvm调优

         7、分析内存的工具:jdk的bin下的:

                  Jconsole:看堆、cpu情况,cpu时配合linux的top命令,jps看进程

                  Jmap快照看堆情况

         8、调整内存参数:主要有

                  方法区:-Xss

                  堆:-Xms、-Xmx

        

五、spring

         1、加载类到spring容器的方式

         2、springboot的常用注解

         3、aop、ioc

         4、动态代理:jdk的动态代理、cglib的动态代理区别

         5、反射

         6、springboot的starter的工作原理,常用的start方法

         7、项目中用到的定时器,有哪些,怎么用的

六:springMVC

  1. 执行流程
  2. 默认单实例多线程
  3. HttpServletRequest获取参数是不安全的,为什么,怎么解决。

七:算法:

         1、栈特点,堆特点

         2、如何用两个栈模拟队列(pust方法、pop方法)

         3、斐波那契问题

         4、二分搜索求根5的值,精确到小数点后5位。

八:中间件;知道其中的几种

  1. Redis、memcache
    1. Redis的五种数据结构是什么,其中的zset怎么实现的(跳表)
    2. Redis为什么快
    3. Io多路复用
    4. 如何将数据库数据缓存到redis:定时器、手动、方法中同步、中间件(阿里的canal监听数据库日志catlog)
    5. Redis和memcache区别
    6. REDIS的缓存击穿,雪崩
    7. 集群
  2. MQ用过哪些,怎么用,怎么配置
  3. ES
  4. Ngix
  5. Zookeper
  6. Kafuka

九:分布式微服务

  1. springcloud五大组件,每个组件的作用使用
  2. 分布式锁
  3. 分布式事务
  4. 分库分表

十:事务

  1. 什么是事务

2、四个特性

3、隔离级别

4、传播机制(还会问嵌套异常时回滚情况)

5、如何使用(配置文件、注解(注解上的参数有哪些))

6、能加try catch 吗?为什么?什么异常事务可以回滚?非运行时异常怎么也能回滚?

7、声明式事务、编程式事务

十一:Sql
     1、慢查询定位

         2、执行计划

         3、索引,作用,数据结构,二叉树,红黑树,BTree、B+Tree集中数据结构的区别

         4、联合索引,失效情况。

         5、索引使用规范(like模糊查询,什么情况下失效,什么情况不失效)

         6、常用的sql函数,其中to_date怎么用

         7、保险项目有问存储过程的

         8、in最多能支持1000条,如何解决

         9、mysql有几种执行引擎,其中innodb和myasam必须掌握特点和区别

         10、用过的数据源

         11、mysql、oracle、db2分页怎么处理

十二:体现个人解决问题思路:

  1. 遇到过什么问题,怎么解决的。
  2. 业余,下班,自己在学习什么,达到什么水平,解决什么问题。
  3. 开发过程中遇到的性能优化的经验,代码开发规范
  4. 自己表擅长的
  5. 怎么统计当前在线人数
  6. 对出差怎么看的
  7. 自己职业规划,未来发展

十三:前端(因为我能做管理平台的简单页面,所以会简单问下前端)

  1. Ajax调用
  2. 前后端交互json时用到的几个注解,作用
  3. 如何实现跨域

十四:

         常用linux命令,查看日志,查找单词、输出

标签:怎么,面试题,String,区别,什么,汇总,2020.06,内存,加载
来源: https://blog.csdn.net/weixin_41267342/article/details/107040635

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有