什么是程序员和黑客有什么区别(黑客和程序员技术层面的差异)
新的跳槽季又来了,每个员工心里都有自己的小算盘,无论是前一年受委屈了还是钱没给到位,或者是其他什么原因,离职跳槽是最后的选择。但是作为一名程序员,怎样才能顺利跳到下一家单位呢?应该具备哪些技能呢?
小编总结了很多过来人的经验,得出如下结论:
程序员分类
首先我们要给程序员分个阶段,因为每个阶段的程序员在面试时考察点和招聘要求都是不一样的。按照工作经验大致可以分为三类:工作三年、五年和十年的程序员。三年是一个门槛,这是检验阶段,刚刚走出校园步入工作岗位,会不会有水土不服、是不是真的合适这个行业,三年的时间足够验证。如果不合适,入错了行,那么还来得及转行;如果是真的入对了行,那么这三年也积累了不少经验,技艺修炼到了另一个段位。在职业生涯中是一个重要转折点,可以根据自己的能力考虑进阶中小型公司的中层管理者或者是大公司的小组长、主管;工作五年和十年的以此类推。
接下来以工作三年的程序员为例,说明一下应该具备哪些技能才能在面试中脱颖而出。
一、关于项目经验
项目经验是程序员最宝贵的财富,不同于其他岗位,程序员很少要求有什么样的人脉资源,最重要的就是经手过的项目。面试官考察的主要就是以下几个方面:项目经验+基本技术+个人潜力,看看能给公司带来什么。简单提炼上文大意就是:
1. 项目是做什么的、都有什么功能,必须做到心里有数;
2. 项目的整体架构铭记于心,并且能在面试现场给面试官画出来,能够指出从哪里调用到哪里以及使用什么方式调用
3. 说明你负责的内容在整个项目中的重要性
4. 准确说明你负责的部分用到了哪些技术,当然如果能够说明整个项目的技术点更好。
二、关于专业技能
Java是应用最广的一门语言,这里也以Java为例,以下列举的知识点都是最基本的、必须要掌握的,当然如果你的知识点更广、知识掌握的更扎实,那一定是加分项,面试官印象会更好,当然对应的薪水也更高。
1. 基本语法
包括static、final、transient等关键字的作用,foreach循环的原理等等。
2. 集合
这个知识点很重要,是必问内容。基本上就是List、Map、Set,各种实现类的底层实现原理,实现类的优缺点。
3. 设计模式
众所周知,设计模式在工作中非常重要、而且很有用,面试中这一块的问题基本分为三个方向:
a. 准确说明经手的项目中用到了哪些设计模式以及如何使用
b. 主流设计模式的优缺点做到心中有数
c. 可以画出常用设计模式的UML图
4. 多线程
这也是几乎必问的一项,但是对于拥有三年工作经验的程序员来说,实现多线程已经非常小菜,所以这类问题应该不会问,会考察更深层的问题,比方说Thread和Runnable的区别和联系、多次start一个线程会怎么样、线程有哪些状态等等诸如此类。
5. IO
Socket IO相对来说还是比较important的,主要掌握以下几点内容:阻塞与非阻塞、同步与异步的区别,还要明白阻塞IO、非阻塞IO、多路复用IO、异步IO这四种IO模型,Socket IO怎样跟这四种模型相关联。以上都是比较简单的知识点,再难一些就是NIO的原理、NIO属于哪种IO模型、NIO的三大组成等等。
6. JDK源码
这绝对是加分项,回答得漂亮就能拿更高的薪水。下面是一些小编认为比较重要的集中代码,仅供大家参考:
a. List、Map、Set实现类的源代码
b. ReentrantLock、AQS的源代码
c. AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
d. 线程池的实现原理
e. Object类中的方法以及每个方法的作用
7. 框架
不用说,这也是必问的题目,但是个人感觉不能算是难题,只要实际操作到位,能够简单讲出几个常用的框架就可以,因为这里问的问题几乎都是实际操作方面的,这里不多做介绍了。
8. 数据库
这块比较重要的内容就是数据库性能的优化,要是这块知识点完全没有基础,根本不了解,建议你现在赶紧学起来,不然明年面试可能就危险了。
关于工作三年的程序员应该要掌握的知识点就先为大家总结到这里,不知道有没有解决你的疑问,我相信主要的知识点都已经包括了,如果你有更好的建议,欢迎留言补充。
欢迎关注微信公众号【中软卓越北京EEC】
相关文章
- 3条评论
- 莣萳木落2024-06-21 10:10:01
- tLock、AQS的源代码 c. AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的 d. 线程池的实现原理 e. Object类中的
- 姐姐你玩不起。12024-06-21 10:07:14
- ,不知道有没有解决你的疑问,我相信主要的知识点都已经包括了,如果你有更好的建议,欢迎留言补充。 欢迎关注微信公众号【中软卓越北京EEC】