zoukankan      html  css  js  c++  java
  • 面试题

    面试总结

    java基础问题

    集合

    list、set、map的区别

    说说HashMap,put方法、get方法、以及扩容机制

    arrylist、linklist的区别

    hashset、treeset的区别

    HashMap、hashTable的区别

    说说treeMap

    concurrentHashMap是如何保证并发安全的(jdk7、jdk8)

    copyOnwrite arraylist

    hash冲突有哪些解决方法

    介绍一下Atomic 原子类

    包装类

    说说Integer,其中的缓存数组[-128,127]

    自动装箱、自动拆箱

    String对象相等判断==、equal,定义的一个String对象,jvm内存是什么样的

    jvm

    说说java运行时数据区

    java内存模型(主内存,工作内存)

    各个区域什么时候回发送内存溢出

    垃圾收集算法

    可达性分析

    哪些对象可以作为GCROOT对象

    垃圾收集器(重点cms、G1优缺点)

    触发fullGC的条件

    对象在的jvm的内存分配

    jvm调优参数

    常量池(class文件常量池、运行时常量池、字符串常量池)

    类加载机制

    双亲委派模型

    好处、工作机制

    类加载器

    如何在项目中使用自己重写的String类(java命令参数)

    继承、接口、抽象类

    继承链调用优先级

    final、finally、finalize关键的有什么区别

    线程

    创建线程有哪些方式

    Callable、Future和FutureTask浅析

    线程的状态以及状态的流转

    线程间的通信机制有哪些

    如何实现线程安全

    volatile和synchronized的区别、原理

    synchronized与lock区别、原理

    wait方法和waitAll方法

    sleep()与wait()区别

    线程的锁升级过程

    ThreadLocal类

    thread、threadLocal、threadLocalMap的关系

    CAS的aba问题

    构建线程池的参数,线程池的种类、适用场景、如何工作的

    如何给线程池中的线程命名

    Java如何查看死锁

    如何避免死锁

    Exception、error、运行时异常和一般异常有何异同

    数据库(mysql)

    数据库的索引算法有哪些

    索引分类

    索引的数据结构

    索引原理

    索引失效的场景

    如何查看一条SQL的执行计划

    数据库的隔离级别

    什么是脏读、不可重复读、幻读

    隔离级别的原理

    事务的原理

    分库分表如何做、带来的问题有哪些、如何解决

    如何实现分布式事务

    如何分析慢SQL、如何优化SQL

    数据库的锁有哪些

    什么是间隙锁

    并发新增的时候数据库会发送死锁吗

    什么是悲观锁、什么是乐观锁

    redis

    redis主从模式、哨兵模式、集群模式有什么区别

    哨兵模式和集群模式在api的使用上有和区别

    什么是缓存击穿、缓存穿透、缓存雪崩,分别如何解决

    集群模式如何实现动态扩容

    redis的数据类型有哪些

    有序集合的底层数据结构是什么

    如何使用redis实现一个分布式锁

    使用redis作缓存如何保证数据一致性

    网络

    tcp/ip五层网络模型

    OSI七层网络模型

    各层常见的协议有哪些,以及协议的常用端口有哪些

    说说tcp三次挥手、四次握手,以及为什么握手需要3次,而挥手需要4次

    tcp连接过程中客户端、服务端的状态机

    tcp的流量控制和拥塞控制

    tcp和udp有什么区别

    说说ARP协议

    说说DNS是如何工作的

    TCP协议如何保证连接的可靠性

    get请求和post请求的区别

    说说mac地址与ip地址

    IP地址、mac地址、网络号、主机号如何计算

    http与https有什么区别

    https如何保证安全性

    https如何建立连接

    重定向与转发的区别

    执行execute()方法和submit()方法的区别是什么

    设计模式

    工厂模式(多种)

    单例模式(多种实现的不同)

    生产者/消费者模式

    观察这模式

    代理模式

    数据结构

    数组

    链表

    二叉树

    算法

    大数想加

    大数相减

    排序两个有序数组

    排序N个有序数组

    各种排序算法

    概率p输出1,概率1-p输出0,等概率输出0和1

    P函数等概率输出1-100,设计P1函数以80%的概率输出1-20,P2以20%的概率输出21-100

    有一个包含正负数的数组,把正数放到数组前面,负数放到数组后面,并且保证数字的相对位置不变

    排序n个数值在0-100的整数

    有一串数字,输出所有可能组合的IP地址

    二叉的遍历、蛇型遍历

    求一个数组的最大连续和(进阶:同时输出最大连续和子串)

    删除一个链表的倒数第k个节点

    判断一个链表算法有环

    判断一个图是否有环

    删除一个链表给定的节点(进阶:只使用一个指针)

    判断一个字符串是否是回文字符串

    找出两个字符串最长匹配的子串

    其他

    说说spring的ioc和aop,原理是什么

    spring框架使用了哪些设计模式

    springboot中的注解(干什么的,有什么用)

    springboot与spring的区别

    mybatis的原理

    mybatis与其他持久层框架的区别

    设计一个电梯实体类及其接口

    接口幂等性设计

    使用redis设计一个限流器(例:1分钟允许处理100个请求)

    线上应用进程突然挂掉了,如何排除问题

    线上应用慢了如何排查问题

    如何vim

    有一个文件,文件的内容有3列A、B、C,使用哪些Linux可以将A、C两列互换

    有3个线程,如何让它们同时运行、如何顺序运行

    说说springmvc都有哪些组件,处理流程是怎么样的

    说说什么是微服务

    spring bean的生命周期

    写SQL,删除重复的记录

    spring中如何实现全局异常处理

  • 相关阅读:
    Javascript数组与字符串常用api
    javaScript入门(函数)
    javascript入门(1)
    微信小程序组件解读和分析:一、view(视图容器 )
    微信小程序组件解读和分析:十五、switch 开关选择器
    微信小程序组件解读和分析:十四、slider滑动选择器
    微信小程序组件解读和分析:十三、radio单选项目
    微信小程序组件解读和分析:十二、picker滚动选择器
    微信小程序组件解读和分析:十一、label标签
    微信小程序组件解读和分析:十、input输入框
  • 原文地址:https://www.cnblogs.com/Utah-Lee/p/10854420.html
Copyright © 2011-2022 走看看