/computer-basics

计算机学习路线指南 Java/C++/Algorithm,计算机基础知识 + 算法 + 面经分享,专注于计算机基础知识学习!

Primary LanguageCMIT LicenseMIT

computer-basics

”computer-basics“ 中文意思为”计算机基础知识“,本 github 专注于计算机基础知识学习,夯实内功才能走的更远。

基础知识往往是大厂面试核心,尤其在校招中将决定你是否能冲进大厂,围绕“计算机基础知识”,来看看我的学习方法,思维模式,以及如何实战演练,如何高效学习基础知识将成为关键。

核心分享 4 方面:

  • 学习路线指南
  • 计算机基础知识
  • 算法
  • 面经

个人履历

普通本科毕业,非科班学生,在校一路自学编程、摸索打法,实习过腾讯、百度,秋招拿到过 BAT、美团、京东、商汤科技等大厂 offer,毕业在 BAT 大厂搬砖。

  • 2014.9 - 2018.6 普通一本,非科班学生
  • 2017.7 - 2017.9 腾讯暑期实习,并转正留用
  • 2017.9 秋招,拿到过 BAT 美团 京东等大厂 offer
  • 2018.1 - 2018.3 百度入职前实习
  • 2018.7 毕业入职 BAT 大厂搬砖
  • 2019.4 绩效+价值观均获得优秀,授予人生第一笔股票
  • 2020.7 晋升成功

兵马未动、粮草先行,得把这些意识深深的扎下去,扎入到骨髓中,我最喜欢的十句话送给各位:

  • 认真的人,自带光芒!
  • 天下武功,唯快不破!
  • 帮助别人就是帮助自己!
  • 心中无敌,方能无敌于天下!
  • 三步走战略,五大能力提升!
  • **过硬、作风过硬、技术过硬!
  • 人生需要布局,得有战略、打法!
  • 一辈子很长,要和有趣的人在一起!
  • 今天最好的表现,是明天最低的要求!
  • 以武会友、以剑论道、仗剑天涯,潇洒人生!

编程学习

三步走战略:

  • 看视频/书 + 敲代码 + 记笔记(视频为主、书为辅)
  • 算法 + 基础 + 技术栈

五大能力提升:快速的学习能力、应用业务的能力、解决问题的能力、信息检索的能力、有效资料判断力。

  • 快速的学习能力:指的是面对新的技术领域,自己从未接触过的技术,能不能在有效的时间内,把它学会、弄懂,这就是学习能力;
  • 应用业务的能力:指的是技术到位了,能不能用于项目中,用于实际问题中,在工作中尤为重要,学好跟用起来差距还是挺大的,听懂了不一定会做题,这就是学以致用;
  • 解决问题的能力:指的是根据现有的技术,现有的资源、举一反三、触类旁通、灵活运用,能否解决一个技术难题、攻克困难的能力;
  • 信息检索的能力:指的是利用互联网上面的一切资源,利用各种搜索技术、各种网站、各种论坛、快速的找到你所需要的资源(视频、电子书、图片等等等)的能力;
  • 有效资料判断力:指的是现在互联网上面,优质资源有,但是劣质的资源更多,随手一搜,一大片,你是否具有一定的判断力呢?就 Java 视频一大堆,哪个是比较优质的呢?有效资料判断力可以帮助你少走弯路,节省大把的时间,这就是学会筛选的能力。

认清自我的能力、独立思考的能力、分析问题的能力等等这些能力,时刻无处不在,但是跟五大能力是有本质的区别,培养方式与提高也是完全不一样的。

计算机学习体系

一、学习路线指南

  1. 个人五大能力提升.md
  2. Java学习路线_2019版.md
  3. LinuxC/C++学习路线_2019版.md
  4. 算法工程师学习路线_NLP方向.md
  5. 算法成神之路.md
  6. 数据分析学习路线.md
  7. Linux学习路线.md

二、基础知识学习

系列打造中。。。

算法系列

本 github 绝大部分算法都是用 C 语言实现的,主要是通过实现算法达到 C 语言的熟练掌握,在面试中 C、C++、Java、Python 均可实现算法题,主要看思路是否是最优解。

大学期间实现的基础算法题,可以看看这些高频面试算法题,你是否都能写出来,用于校验自己现阶段的算法能力。

(高频面试算法)

一、高频面试算法

  1. 2个栈实现一个队列.cpp
  2. 10到M进制转换.cpp
  3. 八皇后问题.c
  4. 饿汉式.c
  5. 懒汉式.c
  6. 二进制中1的个数.c
  7. 斐波那契数列.c
  8. 斐波那契数列_1.c
  9. 高效查找自幂数.c
  10. 哥德巴赫猜想验证.c
  11. 汉诺塔问题.c
  12. 将任意整数转换为二进制.c
  13. 将任意整数转换为十六进制.c
  14. 括号匹配算法.cpp
  15. 判断大小端.c
  16. 求前n个数和.c
  17. 求字符串的长度.c
  18. 约瑟夫环.c
  19. 转换数字.c
  20. 字符串转置.c
  21. 字符串转置_1.c
  22. 最大子数组和.c
  23. 最长公共子序列.c
  24. KMP.c
  25. 随机化数组.c

二、十大排序算法

  1. swapSort.c
  2. chooseSort.c
  3. insertSort.c
  4. mergeSort.c
  5. shellSort.c
  6. heapSort.c
  7. quickSort.c
  8. bucketSort.c
  9. countSort.c
  10. radixSort.c

三、经典字符串算法

  1. 串匹配基础算法.c
  2. 单词反转.c
  3. 回文判断.c
  4. 全排列.c
  5. 三步反转递归法.c
  6. 三步反转非递归.c
  7. 整数转换为字符串.c
  8. 字符串包含.c
  9. 字符串去空格.c
  10. 字符串去重.c
  11. 字符串转换成整数.c
  12. KMP算法.c

四、经典查找算法

  1. binarySearch.c
  2. binarySearch_other.c
  3. 出现次数一半的数.c
  4. 出现次数超过一半以上的数.c
  5. 杨氏矩阵查找.c

五、数组常见算法

  1. 和为定值的2个数.cpp
  2. 奇数位于偶数前面.c
  3. 数组逆序.c
  4. 随机化数组.c
  5. 通用的二维数组.c
  6. 寻找一个数组中的第二大数字.c
  7. 寻找最小的k个数.c

六、高频树算法

  1. 二叉树创建及方法实现.c
  2. 二叉树非递归遍历.cpp
  3. 前中后创建二叉树.c

七、字符串函数实现算法

  1. strlen.c
  2. strcpy.c
  3. strcmp.c
  4. strcat.c

面经

  1. Java 面经 pdf
  2. C++ 面经 pdf
  3. 。。。

获取面经方式:wx搜索公众号【程序员谱戈】,后台回复:面经,即可获取以上 Java/C++ 面经 pdf。

如果百度网盘链接失效,请发【邮件】联系我,说明你的来意即可,我会通过邮件发送给你对应的资料。


声明

  • 网名:谱戈
  • 邮箱:1042068690@qq.com
  • 微信:puge2021
  • 公众号【程序员谱戈】,欢迎关注
  • 知识星球:BAT黑马实验室
  • 交流群:校招、社招、技术群欢迎加入
  • 所有文章均原创,严禁抄袭,违者必究

非常经典的一句话送给各位:

一个剑客,和对手狭路相逢,他发现对方竟是天下第一剑客,这时候他明知是死,也必须亮出宝剑!没有这个勇气就别当剑客,倒在对手的剑下不丢人,要是不敢亮剑,那才叫丢脸。

这也是我为啥这么多年了,还一直喜欢《亮剑》这部剧的原因,主要是精气神,这比啥都重要!