技术硬实力

技术硬实力

实力我主要分为硬实力和软实力。硬实力,也就是技术上的真实积累(当然产品岗的就是对于产品相关知识的积累)。

什么是硬实力?我举几个例子,可以比对自己的技术优势,这些知识不管是校招还是社招,建议都提前把算法、数据库、编程语言等掌握牢固:

基础知识:

  1. 算法和数据结构
  2. 数组、链表、二叉树、队列、栈的各种操作(性能,场景)
  3. 二分查找和各种变种的二分查找
  4. 各类排序算法以及复杂度分析(快排、归并、堆
  5. 各类算法题(手写)
  6. 理解并可以分析时间和空间复杂度。
  7. 动态规划(笔试回回有。。)、贪心。
  8. 红黑树、AVL树、Hash树、Tire树、B树、B+树。
  9. 图算法(比较少,也就两个最短路径算法理解吧)
  10. 计算机网络
  11. OSI7层模型(TCP4层)等

数据库

  1. 数据库(最多的还是mysql,Nosql有redis)
  2. 索引(包括分类及优化方式,失效条件,底层结构)
  3. sql语法(join,union,子查询,having,group by)
  4. 引擎对比(InnoDB,MyISAM)
  5. 数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)
  6. 隔离级别,依次解决的问题(脏读、不可重复读、幻读)
  7. 事务的ACID
  8. B树、B+树
  9. 优化(explain,慢查询,show profile)
  10. 数据库的范式。
  11. 分库分表,主从复制,读写分离。
  12. Nosql相关(redis和memcached区别之类的,如果你熟悉redis,redis还有一堆要问的)

操作系统:

  1. 进程通信IPC(几种方式),与线程区别
  2. OS的几种策略(页面置换,进程调度等,每个里面有几种算法)
  3. 互斥与死锁相关的
  4. linux常用命令(问的时候都会给具体某一个场景)
  5. Linux内核相关(select、poll、epoll)

分布式技术架构的知识体系:

  1. CAP原理和BASE理论。
  2. Nosql与KV存储(redis,hbase,mongodb,memcached等)
  3. 服务化理论(包括服务发现、治理等,zookeeper、etcd、springcloud微服务、)
  4. 负载均衡(原理、cdn、一致性hash)
  5. RPC框架(包括整体的一些框架理论,通信的netty,序列化协议thrift,protobuff等)
  6. 消息队列(原理、kafka,activeMQ,rocketMQ)
  7. 分布式存储系统(GFS、HDFS、fastDFS)、存储模型(skipList、LSM等)
  8. 分布式事务、分布式锁等

猜你喜欢

转载自blog.csdn.net/qq_40086556/article/details/81333083