这段时间听粉丝朋友说了件事儿:
公司开发效率低下,程序员出身的老板看过一些员工的代码,发现明明可以用两行代码搞定的事情,有的人用了十几行。更搞笑的是,有一个新人,把一个事件出现的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. 加密算法
- AES
- RSA
- CRC
- MD5
资料:算法学习内容、算法与数据结构脑图、面试题含答案,我都已经打包好了,>点击此处,免费领取!
大厂算法面试题
百度
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、......
以上资料:算法学习内容、算法与数据结构脑图、面试题含答案,我都已经打包好了,>点击此处,免费领取!
网友评论