作为一个4年程序员至少需要掌握的专业技能
2021/10/31 1:10:21
本文主要是介绍作为一个4年程序员至少需要掌握的专业技能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一名3年工作经验的程序员应该具备的技能》,在机缘巧合之中,看了这篇博客。感觉自己真的是很差,一直想着会写if…else…就已经是一名程序员了,在工作之余也很少学习。于是,自己的code技能一直没有什么进步,只是随着工作的时间增长,在增长着年龄,感觉很失败。
之前也有过一些写blog的经历,但是往往都败给了坚持。这次就不多说了,直接给自己总结下技术方面的不足,以便以后自己好好学习。
专业技能:
1、基本语法
这包括static、final、transient等关键字的作用,foreach循环的原理等等。
2、集合
基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理。
3、设计模式
三个方向:
(1)你的项目中用到了哪些设计模式,如何使用
(2)知道常用设计模式的优缺点
(3)能画出常用设计模式的UML图
4、多线程
Thread和Runnable的区别和联系、多次start一个线程会怎么样、线程有哪些状态。多线程同步、锁这块也是重点。
5、IO
IO分为File IO和Socket IO。Socket IO是比较重要的一块,要搞懂的是阻塞/非阻塞的区别、同步/异步的区别,借此理解阻塞IO、非阻塞IO、多路复用IO、异步IO这四种IO模型,Socket IO如何和这四种模型相关联。深入一些的话,NIO的原理、NIO属于哪种IO模型、NIO的三大组成等等。
6、JDK源码
(1)List、Map、Set实现类的源代码
(2)ReentrantLock、AQS的源代码
(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
(4)线程池的实现原理
(5)Object类中的方法以及每个方法的作用
7、框架
画一下Spring的Bean工厂实现的UML图
8、数据库
union和union all的区别、left join、几种索引及其区别
9、数据结构和算法分析
要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。
谈谈Java虚拟机中比较重要的内容:
(1)Java虚拟机的内存布局
(2)GC算法及几种垃圾收集器
(3)类加载机制,也就是双亲委派模型
(4)Java内存模型
(5)happens-before规则
(6)volatile关键字使用规则
也许面试无用,但在走向大牛的路上,不可不会。
11、Web方面的一些问题
谈谈分布式Session的几种实现方式?
讲一下Cookie和Session的区别和联系以及Session的实现原理?
web.xml里面的内容是重点,Filter、Servlet、Listener,不说对它们的实现原理一清二楚吧,至少能对它们的使用知根知底。另外,一些细节的方面比如get/post的区别、forward/重定向的区别、HTTPS的实现原理也都可能会被考察到。
————————————————
这篇关于作为一个4年程序员至少需要掌握的专业技能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)