这段时间听粉丝朋友说了件事儿:

公司开发效率低下,程序员出身的老板看过一些员工的代码,发现明明可以用两行代码搞定的事情,有的人用了十几行。更搞笑的是,有一个新人,把一个事件出现的100种情形一行一行码出来了。老板差点气得把电脑砸了,但后来回过头一想,面试招人的时候没有注重算法的考核,有的压根就没有考核算法。

所以最近老板从网络上面下载了一堆百度、腾讯、字节跳动等互联网大厂面试用的算法题,给全公司程序员来了一场别开生面的考核。

并公开说明,想要涨薪的,就看这次成绩,成绩优秀的除了涨底薪之外,还提升绩效工资。但是,成绩过差的员工,会进行统一培训,培训期过后再次考核,依旧不合格的员工将进行劝退处理。

 

听到这里,小天瞬间出了一身冷汗,但愿我的公司不要做这种事情吧!

但是,算法确实是程序员不能缺失的技术能力,这将决定你开发写代码是否会简便。并且,字节跳动、百度等很多大厂的面试都把算法独立出来考察。

小天这里整理了一套数据结构与算法有关的学习资料,还有学习路线图:

数据结构与算法

 

一致性算法

Paxos

1、Paxos 三种角色

  • Proposer
  • Acceptor
  • Learner

1.1.2. Paxos 算法分为两个阶段

  • 阶段一(准 leader 确定 )
  • 阶段二(leader 确认)

Zab

1、崩溃恢复:主要就是 Leader 选举过程

2、数据同步:Leader 服务器与其他服务器进行数据同步

3、消息广播:Leader 服务器将数据发送给其他服务器

Raft

1、角色

· Leader(领导者-日志管理)

· Follower(追随者-日志同步)

· Candidate(候选者-负责选票)

2、Term(任期)

3、选举(Election)

  • 选举定时器

4、安全性(Safety)

5、raft 协议和 zab 协议区别

NWR

  • N:在分布式存储系统中,有多少份备份数据
  • W:代表一次成功的更新操作要求至少有 w 份数据写入成功
  • R: 代表一次成功的读数据操作要求至少有 R 份数据成功读取

Gossip

一致性 Hash

1、一致性 Hash 特性

2、一致性 Hash 原理

  • 建构环形 hash 空间
  • 把需要缓存的内容(对象)映射到 hash 空间
  • 把服务器(节点)映射到 hash 空间
  • 把对象映射到服务节点
  • 考察 cache 的变动
  • 虚拟节点

2. JAVA 算法

二分查找

冒泡排序算法

插入排序算法

快速排序算法

希尔排序算法

归并排序算法

桶排序算法

基数排序算法

剪枝算法

回溯算法

最短路径算法

最大数组算法

最长公共子序算法

最小生成树算法

3. 数据结构

栈(stack)

队列(queue)

链表(Link)

散列表(Hash Table)

排序二叉树

  • 插入操作
  • 删除操作
  • 查询操作

红黑树

  • 红黑树的特性
  • 左旋
  • 右旋
  • 添加
  • 删除

B-TREE

位图

4. 加密算法

  1. AES
  2. RSA
  3. CRC
  4. MD5

资料:算法学习内容、算法与数据结构脑图、面试题含答案,我都已经打包好了,三连文章后,加小助理微信 mxj94670 免费获取!

 

 

 

大厂算法面试题

百度

1、度度熊想去商场买一顶帽子,商场里有 N 顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?

2、一个数轴上共有 N 个点,第一个点的坐标是度度熊现在位置,第 N-1 个点是度度熊的家。现在他需要依次的从 0 号坐标走到 N-1 号坐标。

但是除了 0 号坐标和 N-1 号坐标,他可以在其余的 N-2 个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?

3、三维空间中有 N 个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用'R', 'G', 'B'表示。

现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。

但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。

4、.......

 

腾讯

1、牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有 n 张纸牌, 第 i 张纸牌上写着数字ai。

牛牛和羊羊轮流抽牌, 牛牛先抽, 每次抽牌他们可以从纸牌堆中任意选择一张抽出, 直到纸牌被抽完。

他们的得分等于他们抽到的纸牌数字总和。

现在假设牛牛和羊羊都采用最优策略, 请你计算出游戏结束后牛牛得分减去羊羊得分等于多少。

2、小 Q 的父母要出差 N 天,走之前给小 Q 留下了 M 块巧克力。小 Q 决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力。

3、......

 

以上资料:算法学习内容、算法与数据结构脑图、面试题含答案,我都已经打包好了,(点击此处)即可免费获取