技术面试问题汇总

Catalogue
  1. 1. 基础知识
    1. 1.1 语言基础(开发技能)
      1. 1.1.1 扎实的Java编程基础
        1. 1. Java基础
        2. 2. JVM
        3. 3. 常用框架
        4. 4. 集合
        5. 5. 并发
        6. 6. WEB
      2. 1.1.2 熟悉Python或者Go语言
      3. 1.1.3 C++基础
    2. 1.2 数据结构和算法
    3. 1.3 中间件基础
      1. 1.3.1 MySQL
      2. 1.3.2 Redis
      3. 1.3.3 Kafka
      4. 1.3.4 RocksDB
    4. 1.4 网络与操作系统(校)
      1. 1.4.1 计算机网络
      2. 1.4.2 操作系统
  2. 2. 项目经验
    1. 2.1 开发经验
      1. 2.1.1 架构设计
      2. 2.1.2 云原生
      3. 2.1.3 微服务架构
      4. 2.1.4 系统设计
    2. 2. 管理经验
      1. 2.1 沟通能力

梳理一套面试框架,用于通用的技术面试.

技术面试指南

1. 基础知识

1.1 语言基础(开发技能)

不同语言考查内容

1.1.1 扎实的Java编程基础

1. Java基础

基本类库

  1. 为什么重写equals时必须重写hashCode方法? 如果不重写hashCode会有什么问题
  2. 引用:说说java有哪些引用,它们的区别
  3. Java编码:Java中String占用几个字节
  4. Java编码:谈谈你对Unicode的理解(忽略)
  5. Java编码:谈谈对utf-8的理解(忽略)
  6. String:StringBuilder、StringBuffer的区别
  7. String:String类为什么是final的?
  8. String:String str1 = new String(“aa”); 这段代码创建了几个对象?

2. JVM

  1. java类加载的流程

3. 常用框架

4. 集合

队列 、 map、list

5. 并发

6. WEB

1.1.2 熟悉Python或者Go语言

开发架构、框架

1.1.3 C++基础

  1. 简述一下左值和右值,以及引用折叠(进阶)
  2. 简述shared——ptr和weak——ptr的功能、原理和使用场景

1.2 数据结构和算法

归并排徐原理并实现(基础)
LRU的原理和实现(中等)
给一个对称领接矩阵,分析共有几个独立的联通集合。(进阶)

1.3 中间件基础

mysql、redis、kafka、zk等

1.3.1 MySQL

索引:索引的最左前缀

1.3.2 Redis

redis持久化机制

1.3.3 Kafka

1.3.4 RocksDB

rockesdb的写入流程

1.4 网络与操作系统(校)

1.4.1 计算机网络

1.4.2 操作系统

什么是虚拟内存,内存访问时发生页缺失时会发生怎样的流程(进阶)

什么是进程和线程,区别和联系

2. 项目经验

2.1 开发经验

2.1.1 架构设计

2.1.2 云原生

2.1.3 微服务架构

2.1.4 系统设计

2. 管理经验

2.1 沟通能力