技术面试相关考察点 - Wangxiaoman/tech-note GitHub Wiki

面试基本知识点

  • 计算机基础知识

    计算机基本构成
    进程/线程
    常用Shell命令
    HTTP/TCP

  • 基本数据结构

    数组
    链表
    stack
    HashMap
    Tree

  • 算法题目

    Leecode

  • 数据存储

    关系型数据库:Mysql、Postgresql
    KV存储:Redis、Memcached、MongoDB、Rocksdb

  • 开发语言

    java、c/c++、python

  • 系统设计

    设计模式
    缓存:本地缓存、集中式缓存、缓存击穿问题
    分布式:CAP原则、一致性
    服务高可用:负载均衡、故障节点检测增删、限流熔断、服务降级
    消息队列:Kafka、RabbitMQ、Redis Stream

  • 相关工具

    git、maven、docker

面试需要注意的一些方面

  1. 基础扎实:面试中遇到的一些问题不了解没有关系,但是对于知道的知识点一定要理解透彻。什么都用过,但是都不知道用法和原理就很减分
  2. 主动沟通:对于面试过程中一些没听清楚,或者理解不透的地方,一定要及时和面试官反应
  3. 循序渐进:对于一些问题,如果觉得有一些思路,可以一边在纸上画一画,一边和面试官沟通。有一个不成熟或者效率很低的解决方案要比没有结论好得多
  4. 主动思考:对于一些问题,即使已经回答出来,但是还有其他一些思路和想法,一定要主动提出来,并且可以拿多组解决方案对比,分析其中优劣
  5. 预设条件:对于一些问题,如果没有思路,可以增加一些预设条件在尝试(当前前提是面试官没有限定)。比如leecode中算法第七题,对于数字进行翻转,完全可以用字符串的方式来处理
  6. 连写带画:自带笔和纸,面试的时候,把思路和一些关键点写出来,一图胜千言。比如一些类关系图,数据结构的图,开发性题目的关键思路
  7. 态度端正:主动,积极,乐观
  8. 准备充分:对于面试公司自己要做功课,和HR约的时候最好问一下所面试部门做的业务方向