在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
薪资20k的程序员是什么水平?程序员的发展方向可以划分为技术专家、架构师、技术管理、管理。技术专家偏理论研讨,对某个或某些相关的专业范畴深化理解能直接或经过提供思绪间接处理这些范畴的各种问题。薪资20k的程序员相对来说是比较资深的程序员,具备的技能远超初级程序员。

薪资20k的程序员应具备的技能及相应的水平介绍:
1、算法:技术面试笔试都考算法提,所以Leetcode至少得刷两三百道,《剑指offer》所有题目都练习一遍,做过ACM更好,现在很卷面试官也只能通过算法题来加大筛选。
2、数据结构:不要求你手写红黑树,但AVL 哈希表堆这些简单的数据结构自己操作实现过;链表、线性表必须熟悉到不能再熟悉,语言的标准库实现得了解。
3、计算机系统知识:内存、堆栈、函数调用、数的表示等等,至少《CSAPP》得过一遍。操作系统:操作系统由哪些构成、进程的状态、切换、调度 进程间通信方式(共享内存、管道、消息)、进程和线程的区别、线程的实现方式(一对一、多对一等) 互斥与同步(信号量、管程、锁)、死锁检测与避免
4、计算机网络:计网知识比较繁杂,很多同学都反映网络很难学一大堆的网络协议,依次学完后,还是不知道网络是怎么构成。依次去学应用层、传输层、网络层、链路层,思考这些层之间是如何串联起来的。
推荐学习《计算机网络:自顶向下方法》 这本书从我们最常接触的 HTTP、FTP、SMTP 等应用层协议讲起,可以清晰看到引入各个层的作用。学习每层协议的时候,最好自己抓包看下,wireshark抓包遇到三次快速重传会怎么样?这样映像会更加深刻
5、数据库:sql得会写,推荐《SQL必知必会》,几个范式有没有正式运用过? 如何进行领域建模、数据库设计,才能够使得每次查询的开销最小?数据库原理方面《数据库系统概念》包含了从SQL到数据库设计再到数据库原理、分布式数据库都有,可以挑着看,比如关系模型、数据库设计(三大范式)、数据磁盘存储和组织方式、索引、并发控制等。当然了整个数据库最重要的还是索引和并发控制(锁、MVCC等),这部分也是面试常考的:
6、索引存储结构:B树、B+树索引、Hash索引 索引的使用:主键索引、覆盖索引、最左前缀原则、索引下推等 锁:乐观锁、悲观锁、表锁,行锁,意向锁,读锁,写锁等等MySQL InnoDB MVCC 实现机制 存储引擎:InnoDB、MyISAM等,各自的优缺点 事务:ACID理论 这部分推荐两本书:
7、网络编程:后台开发基本是离不开网络编程的,其实甚至整个后台开发也可以看做是在做网络编程。只不过别人的框架帮我们做了协议解析、网络数据传输、解封包这些底层操作。如 SpringBoot 这种保姆级框架,基本上属于将一个框架能干的事都干完了,以至于我们开发业务只需要定义接收和返回包的数据格式,然后做逻辑处理就完了。像序列化、解封包、IO 处理这种网络编程必备的脏活业务开发根本不会接触到。但网络编程技能还是很重要的,特别是对于 Linux C++ 开发来说。
Linux 下网络编程核心的包括系统编程和网络 IO 两个部分:
8、进程间通信方式:信号量、管道、共享内存、socket 等多线程编程:互斥锁、条件变量、读写锁、线程池等 五大 IO 模型:同步、异步、阻塞、非阻塞、信号驱动 高性能 IO 两种模式:Reactor 和 Proactor( 但是 Linux 下由于缺少异步 IO 支持,基本没有 Proactor IO 复用机制:epoll、select、poll(破解 C10K 问题的利器)推荐几本书:《Linux高性能服务器编程》、《Unix网络编程》、《Unix环境高级编程》。
9、编程语言:虽然说语言不重要,但是总得擅长一门语言?C++的必看书籍Effective三部曲,《Effective C++》、《More Effective C++》、《Effective STL》、STL 源码剖析、对象模型都得过一遍;Java学习的话JVM原理,GC ,JDK重要集合类库得看下。
10、项目:如果只是用几个框架建议不要写到简历上不如去github上参与开源项目GSOC学习。任何一个花上半年时间去实现一个简陋的原型(如实现一个简单的内核)都是非常好的简历加分项。
程序员薪资高低一般是与你的技能、经验呈一个正比关系。每次找工作面试的时候考察的都是候选人的技能、经验相关水平,然后给予一个相应的级别然后后确定一个工资范围,想要获得高薪那么程序员的专业技能是核心,其次是沟通表达能力。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
互联网高薪的工作职位有哪些?
互联网高薪的工作职位有哪些?目前行业薪资高就数IT行业了,高薪的工作职位有软件开发工程师、大数据工程师、UI设计师、网络安全工程师、IT项目经理、软件测试工程师、VR/AR开发人员、系统工程师等
9370
2019-08-14 11:23:13
软件工程师要学哪些知识?难不难?
软件工程师要学哪些知识?难不难?作为互联网行业中最重要的技术岗位,软件工程师需要学习的内容十分广泛且深入,学习难度可想而知。当然,软件工程师也并不是大家想的那样十八班武艺样样精通。比如对英语水平的要求并不高,也不一定要学习多么深奥的数学知识。下面我们一起来看看想要成为一名合格的软件工程师需要学习的具体内容。
16174
2020-04-27 17:05:16
什么样的IT程序员更受欢迎
提到程序员,很多人会觉得特别高大上,而不少程序员则以码农自嘲。虽然程序员比较“吃香”,但是现在计算机专业的毕业生和非计算机专业出身的程序员已经很多了,就业市场竞争还是很激烈的。想要在这个行业里立稳脚跟甚至脱颖而出,需要一些特质。
6432
2020-05-08 09:58:19
IT程序员日常工作内容是什么?
IT技术发展越来越好IT行业也越来越多,IT程序员也越来越多,但是他们平时需要做些什么?对于程序员这个职业加班真的可谓是噩梦!加班率想必大家都应该知道的。代码常伴左右,对着电脑屏幕一坐可能就是一天了。 程序员想必工作制度大部分是996工作制度。
14523
2020-06-03 14:52:30
如何进阶为百万年薪的程序员?
程序员年薪百万已经很常见了,甚至年薪超过300万,500万的程序员也有不少,但大多数程序员仍然迈不过年薪30W这个坎。行业中有不少人会停滞不前甚至后退这是为什么呢?
5604
2021-04-29 10:48:50
