天天看点

面试题库总结

项目相关:

最难的一个点

java相关

  • JAVA的三大特性
  • JVM内存模型
  • JVM内存结构
  • 堆里面可以分代,还可以使用什么区分(G1中分region)
  • 可以手动GC吗
  • new一个会放在哪个区
  • 搜索树和红黑树对比
  • map接口下的类
  • JAVA里锁的区别
  • hashmap 扩容过程
  • 线程池的七大参数、流程

数据库

  • mysql的基本组成单元
  • mysql的存储引擎:
  • innodb的特点跟isam的区别:
  • 事务的四个特性:ACID
  • ACID详细解释一下:
  • 隔离级别:
  • 可串行化如何实现:
  • 脏读:
  • 聚簇索引:
  • B+树的数据结构:
  • B+树索引和hash索引的区别:
  • 最左匹配原则:

redis 相关:

  • 哪些数据类型:String、List、Set、Sorted Set、hash
  • Sorted Set 底层如何实现的:
  • 跳表:
  • 什么时候用 zipList 什么时候用跳表:
  • 什么是Redis持久化?
  • Redis 的持久化机制是什么?各自的优缺点?
  • Redis为什么这么快:
  • redis 是单线程还是多线程,为啥呢?

计算机网络:

  • 网络7层模型:
  • HTTP是网络七层协议中哪一层的协议?
  • HTTP 和 HTTPS 的区别:
  • 传输层有哪些协议:TCP和UDP
  • TCP和UDP区别:
  • TCP粘包:
  • TCP三次握手?能不能改成两次?
  • 常用的HTTP方法有哪些?
  • Get和Post的区别是什么:
  • 知道哪些状态码:
  • 302和303区别:
  • 一次http页面访问过程 ,浏览器从输入网址到内容展现中间经过了哪些过程:
  • cookie 和session 的区别:

操作系统:

  • 进程和线程区别:
  • 进程通信有哪些方式?
  • 三种方式的优缺点:
  • 线程的通信方式:
  • 什么死锁,死锁的条件,怎样避免死锁?
  • 说说分段和分页?
  • 操作系统中进程调度算法有哪几种?

linux 相关:

  • 软链接和硬链接的区别:
  • 知道select和epoll吗:

    水平触发、边缘触发

  • io 多路复用
  • mmap

开放题

  • 场景题:1亿条数据取出前10条最小的有什么方法:
  • 智力题:25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛:
  • sql题:

查询出所有科目都大于80分学生的姓名

CREATE TABLE grade (

name varchar(255) NOT NULL COMMNET ‘姓名’,

class varchar(255) NOT NULL COMMENT ‘科目’,

score tinyint(4) NOT NULL COMMENT ‘得分’

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

算法题:

两个字符串的最长公共子串:

最长公共子序列

反转单向链表:

反转部分链表

接雨水

持续更新中