在线客服
扫描二维码
下载博学谷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学习。任何一个花上半年时间去实现一个简陋的原型(如实现一个简单的内核)都是非常好的简历加分项。
程序员薪资高低一般是与你的技能、经验呈一个正比关系。每次找工作面试的时候考察的都是候选人的技能、经验相关水平,然后给予一个相应的级别然后后确定一个工资范围,想要获得高薪那么程序员的专业技能是核心,其次是沟通表达能力。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
程序员面试技巧:成功入职的敲门砖
程序员在工作中主要和机器打交道,追求严谨和逻辑性,但很容易忽略沟通过程中的语言技巧。尤其在面试中,如果程序员发挥一些说话语言上的技巧,可以大大增加其求职成功的几率。在博学谷平台,就业班课程不但会传授给大家相关的技术能力,同时也会提供面试指导以及相关课程。帮助大家在掌握技术的基础上顺利找到满意的工作。下面就和大家分享几个面试过程中的小技巧。
6555
2019-07-03 18:02:05
软件工程师要学哪些知识?难不难?
软件工程师要学哪些知识?难不难?作为互联网行业中最重要的技术岗位,软件工程师需要学习的内容十分广泛且深入,学习难度可想而知。当然,软件工程师也并不是大家想的那样十八班武艺样样精通。比如对英语水平的要求并不高,也不一定要学习多么深奥的数学知识。下面我们一起来看看想要成为一名合格的软件工程师需要学习的具体内容。
11149
2020-04-27 17:05:16
零基础学IT哪个行业好?
5G时代的来临,给本就蓬勃发展的IT行业注入了新的血液和发展动力。与其他行业相比,IT行业不受性别、年纪、学历等诸多条件的限制,只要你有过硬的技术,就能在职场上立于不败之地。因此,转行投身于IT行业的人日益增多,但是面对一个崭新的领域,不少人都难免产生这样的疑问:零基础学IT哪个行业好?下面我们就来盘点一下适合零基础学习的IT行业。
6210
2020-06-19 18:17:17
零基础转行IT互联网岗位月入过万需要多久?
零基础转行IT互联网岗位月入过万需要多久?要知道影响薪资水平的因素有学科,技术水平,项目经验,地域等诸多方面,零基础转行学习6个达到月薪过万的不在少数,新入行的程序员在BAT和二线互联网公司的校园招聘的offer月薪过万很常见。中小微型公司、某些创业公司的福利不是很高,如果你在一二线城市从事IT,恭喜你,只需要你努力积累经验,1-2年就可以达到月薪过万的目标。
3139
2022-05-17 15:19:30
程序员面试技巧
这节课我就总结自身面试以及面试别人的经验,奉上一套面试秘籍。
2180
2022-11-18 16:55:22