结论在前,转行选java,科班生建议往C/c 发展。跟我看看c语言和Java能找到什么工作。
一、C语言能找到什么工作桌面开发应用程序:QQ,酷狗、360、浏览器、暴风影音、微信、百度网盘等等
大型游戏开发:格斗游戏、英雄联盟、王者荣耀、地下城等等
嵌入式开发:智能手表、考勤打卡机、广告牌、红绿信号灯
开发操作系统、以及底层驱动(Windows、Linux操作系统开发都是C、以及C )、驱动开发、开发大型服务器比如Apache、还有逆向破解、游戏辅助、外挂等等
二、C语言应该学到什么程序2.1 首先是C语言本身C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。
如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C ,C#等等)。 并且因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。
找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。
2.2 学完C语言紧跟着学习CC 部分兼容C,两者之前共同的部分,就可以不用再学。
c 这个语言的本身是相当庞大且复杂的,而且正变的越来越复杂,它把主要精力放在了语言本身而不是问题本身,它倡导“复杂即是美”,是一种“完美主义”。而 c语言是收敛的,就是说c语言本身是很小的,但解决问题的能力却是很大的,它倡导“简单即是美”。
如果c学得很好的话,c 什么类啊,类的继承,派生啊,多态,也就都不是很难了。
2.3 一定要学习数据结构与算法数据结构与算法的设计思想、背后原理能够帮助我们更高效定位问题、分析性能开销和资源利用,进而让你不只是一个简单的业务开发人员。
要以“能够写出开源水平的框架”为目标,开源工业级产品和玩具为何差距巨大?因为高手之间的竞争就在细节,算法是否足够优化?数据存取效率是否足够高?内存是否足够省?
如果你在一家成熟的公司,或者 BAT 这样的大公司,面对的是千万级甚至亿级的用户,开发的是 TB、PB 级别数据的处理系统。性能几乎是开发过程中时刻都要考虑的问题。一个简单的 ArrayList、Linked List 的选择问题,就可能会产生成千上万倍的性能差别。这个时候,数据结构和算法的意义就完全凸显出来了。
2.4 不能忘记的Qt跨平台开发Qt的好处就在于Qt本身可以被称作是一种 C 的延伸。Qt 的类都是用 C 写出来的。这也就是说, Qt 本身已经继承了C 的快速、简易、面向对象等许多的优点。
利用 Qt编写出来的应用程序,在几乎不用修改的情况下,就可以同时在多种平台中运行。Qt运行时无需依赖"虚拟器",模拟层或大容量的运行时间环境。它如本地化的应用程序一样,能够直接写入低级的图形函数,因而使用Qt开发的应用程序能以源代码速度执行。
Qt可以跨平台、不依赖虚拟机机制,速度和性能不会比同类型的Java, .NET(C#)差,这就是程序员选择Qt的最直接的理由了。
2.5 MySQL不能不学学习SQL的意义,就在于你学会以后,将掌握数据分析应聘中的SQL能力,并找到一份数据分析工作。例如社群会员扑克牌成功转行数据分析,现在是饿了么业务分析师,就是靠擅长SQL数据分析。
在数据分析的招聘中,SQL是必考的能力之一。为什么公司要考察应聘者的SQL能力呢?
Excel对十万条以内的数据处理起来没有问题,但是大数据时代从来就不缺数据,很多公司的数据都放在数据库中,这时候就需要学习操作数据库的语言SQL。
如果你未来想成为数据分析师,就必须掌握。
2.6 终点是windows高级开发和Linux高性能服务器做Windows编程范围很广,可以用一般的 Win 32API框架开发互联网客户端,可以用DirectX开发游戏,可以用http://ASP.NET开发Web服务器,也可以用WinSocket开发服务器端。
windows现在是使用最为广泛的桌面以及服务器操作系统,不过现在使用Linux的人群在扩大,相比之下,Linux安全性能更高,实用性更好。
三、Java能找到什么工作1、企业级应用开发:企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。多数没有前端开发的通常是从一个服务器接收数据,处理后发给另一个处理系统。
2、网站开发:比如说京东商城、淘宝。
3、软件开发:例如Eclipse,MyEclipse,IneteliJIdea和Netbans IDE等知名Java开发工具。
4、嵌入式领域:Java因其具有的诸多优点受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
5、大数据:Java大数据的应用领域非常的广泛,可以简单分为几类:基础大数据服务平台,大中型的商业应用包括我们常说的企业级应用、各种类型的网站等。
6、科学应用:Java的安全性、便携性让Java在科学应用、金融服务、空间巨大。
四、Java学习路线图- 入门:Java SE基础-->Java Web(含数据库 H5 js vue)
- 中级:Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot-->传智健康【项目实战】
- 进阶:Spring Cloud(微服务开发,学这一套就够了) 也可分技术点学: (Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索技术Elasticsearch-->MySQL进阶)
- 项目:SaaSiHRM【企业服务】-->好客租房【生活服务】-->万信金融【金融行业】-->闪聚支付【聚合支付】-->权限管理一体化解决方案-->短信网关平台
- 以上技术,足以支撑找一份好的java开发工作。
如想工作后再提升,页面底部还有30 套,工作后再学习提升的技术:
【JDK8-15新特性】【编程强化】【数据库强化】【安全框架SpringSecurity】【报表技术】【模板引擎VelocityTools】【工作流Activiti7】…