作为软件工程师,最应该学习的课程和技能T

小师妹一直觉得一个人会各种各样的软件是一件不得了的事情,可是软件那么多,对于新手菜鸟来说那就不是一般的迷茫了。于是小师妹很贴心的为大家翻阅各种帖子,各位大神们的方法都不一样,小师妹挑挑拣拣终于也是找到了!

1、数据结构与算法

这个不用多说,刷算法题是很关键的一项。

2、一门编程语言

例如Java,C++.掌握一门编程语言就像有一个趁手的工具。

3、操作系统

不论是CS还是SE,操作系统都是十分十分重要的基础课程。Deadlock,Semaphore等概念也是面试中常问的点。

4、数据库

数据库也是计算机领域的一个重要组成部分,很难有哪个程序员可以保证职业生涯中一定不会接触到数据库。所以我个人认为了解数据库的工作原理,存储方式,索引种类,关系型及非关系型数据库的区别,以及如何写SQL是十分重要的~

5、网络

了解网络通讯的过程,了解一些常用的协议构成(如TCP/IP,HTTP),有助于了解server端及client端的工作原理。

6、编译原理

这个我个人认为也是计算机非常非常重要的一门课程,不过可能很多人认为实际工作中可能会用不到,或者已就业为目的的话,短期内收益可能不大,所以优先级稍微低了一些。

7、计算机及网络安全

我觉得作为一名软件工程师,开发中的安全意识是十分重要的。最简单的例子:防止SQL注入。

以及密码的存储及传输方式,了解Hash的工作原理,以及加盐(salt)存储的hash的好处。此外还可以掌握下如何验证、如何进行权限的管理(例如RBAC模型等)。

8、软件工程及软件测试

这类课程可能会比较枯燥,很多概念,很像文科课程(反正我本科是这样,在美帝没有选这类课程,不知道授课方式及内容是否有大的差别)。不过总体来说了解敏捷开发,Scrum等概念,能够熟悉JIRA等项目管理软件的使用,对于工作中上手项目是十分有帮助的。

9、人工智能AI/机器学习ML/数据挖掘DataMining/机器视觉CV/大数据BigData

这类课程属于比较火的领域,个人的建议是可以作为兴趣了解一下,拓展一下视野,但是作为就业目标则可能会比较困难。

10、一门高级开发课程

例如云计算(CloudComputing)、移动端开发(Android,IOS)、网页开发等。可以增长一些项目实战经验,写在简历上。同时了解一些比较火的技术,比如Amazon的AWS等。

所以说,学霸们,这些内容你们也知道吗?

反正我是不知道,你们负责写程序,我只负责美就行了

学IT首选北大青鸟

北大青鸟中博学院()









































哪里医院治白癜风比较好
北京中医白癜风医院如何



转载请注明地址:http://www.henanledxianshiping.com/rjkf/16783.html
  • 上一篇文章:
  • 下一篇文章: