在线客服
扫描二维码
下载博学谷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工程师分“五个等级”,你知道自己在哪个等级吗?这个话题的意义不在于引发大家的焦虑感,而是帮助大家正面直视是自我定位,并给与自己一个未来奋斗的目标。
15371
2019-07-05 18:36:13
程序员常用的开发工具有哪些?
小编整理了IT程序员们经常用到的开发工具有可视化分析工具、查看匹配信息、IDE插件、算法可视化工具、在线诊断神器、查阅和搜索利器等。
4966
2020-03-02 17:12:24
Android基础知识点面试复习整理
相信很多小伙伴在准备面试复习的时候,都会因为没有建立自己系统的知识结构,而常常翻开书本马冬梅,合上书本马什么梅。出现这样的情况并不是个例,因此大家应该努力建立自己的Android知识体系,这样多复习几遍,一些重难点就能了熟于胸了。本文为大家整理了一套全面的Android基础知识点,有面试复习需要的小伙伴赶紧收藏起来吧~
5899
2020-04-29 11:48:25
IT程序员热门岗位有哪些?
IT程序员热门岗位:人工智能、大数据开发、Java软件开发、Python爬虫开发、全栈开发等诸多岗位,IT行业薪资相比各行业的薪资水平来讲,都是比较靠前的,岗位也有很多。初学者一旦选定了某一个领域,就需要掌握这个领域的技能。
4454
2020-05-22 14:49:09
对标大厂P5、P6、P7级程序员的简历长什么样
P5、P6、P7不是你一份简历就能简单划分的了的。 也就是阿里的等级是通过面试最终评定的结果,单单从简历上来讲没有办法做出明确的区分。 但是可以谈一谈阿里的P5、P6、P7岗位要求到底是什么样的...
3199
2022-10-07 18:15:49