在线客服
扫描二维码
下载博学谷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应用软件类型不同,嵌入式方面的人才的工作强度低一些,嵌入式系统一般是用在一些特定的专用的设备上,也是热门IT应用有发展前景的领域之一,嵌入式工程师就业薪资1~3年薪资10万~15万左右、7~10年25万~30万左右。
9420
2019-06-20 15:24:12
初级程序员怎样才能快速升职加薪?
对于每个触及程序员来说,"怎样才能速升职加薪"是困扰已久的难题。相信每个人都渴望有个高薪和稳定的工作,但是生活是现实的。初级程序员往往因为不懂得展现自我,或是技术还差点而错失了很多机会。其实初级程序员应该提升硬软技能,经常主动承担更多工作,并且主动要求升职加薪,还要与同事定期交流,如果现在的方向不适合你的职业发展,应该考虑内部换组。下面小编详细谈谈“初级程序员怎样才能快速升职加薪?”
6680
2019-07-15 14:40:38
程序员面试如何谈高薪资待遇?
程序员应对面试环节谈薪资待遇问题如何快速解答?职场生存多年的小伙伴,对目前已有的工作环境和工作薪资不太满意想跳槽。对于有一定工作经验的程序员来说,如何在求职面试中谈高自身的薪资待遇呢
5221
2020-02-10 10:58:09
想到编程,除了高薪还有啥?
学习编程,其实最关键的不是要掌握编程的“语言”,而是要学会编程过程所用到的思考方式就是“编程思维”。
3592
2021-08-06 18:51:27
程序员在面试时如何考察原始编码能力?
程序员在面试时如何考察原始编码能力?在面试中通过较快的方式测试出候选者的原始编码能力呢?传统的 coding 办法并不好用,反而某些别的方式更能发掘到人才。
3982
2022-05-03 16:03:38