研二准备开始找工作,是继续学习SSH框架找Java web方向的工作,还是学习Android开发比较好?
看到这个问题,我着实有点意外。
作为一名研二的学生,你现在应该有自己的主攻方向,而不是问这种比较初级的语言类问题。如果你现在是一名本科毕业生,那么你问这个问题是正常的,因为本科毕业生大部分学生都去做应用级程序员了。
你在读研究生阶段,而且研二正是开始做课题的主要阶段,现在应该把心思放在课题上,现在考虑找工作是不是早点?
如果你以你的研究方向来发问,是不是更好?比如你现在做大数据方向,你想知道用什么算法做对称性数据分析更好?比如你现在做机器学习方向,用Python实现算法快一些还是使用Java快一些?比如你现在做即时通信方向,用哪种方式能保证丢包率在可控范围之内?或者你做动态软件体系结构方向,你可以问OSGI和java9在模块化实现上有什么不同?或者你可以提问Eclipse的模块化结构如何实现的?
说实话,我们国家研究生培养的数量是有限的,很多本科生没有机会继续深造学习。有的本科毕业生,工作了一段时间后,有了一定的基础才会回到校园继续深造。做为研究生应该珍惜自己的学习机会,应该多跟自己的导师沟通,在定好方向以后,把心思用在自己的课题上。
看到这里很多头条的读者可能会问?他提问的SSH或者Android开发有什么不妥么?不是不妥,而是不应该是一名研究生二年级的学生提出的问题。你如果研究生毕业了,就学会了SSH,就学会了Android开发(毫不夸张的说,这些内容非计算机专业的本科,甚至专科生都能自学),你这个研究生是不是读的有点可惜了?
也许你没有把问题描述清楚,也许你本科是非计算机专业,现在想提高一下编码的能力,这些都是可以理解的。如果是这样我可以给你分析一下java web和android这两个开发哪个更适合你:
首先Java web开发,基础部分内容通常没有什么难度,通过一段时间的实验都可以掌握。需要重点关注的是后端的处理过程,比如web开发关注的系统级问:大用户并发怎么处理?消息队列采用哪种结构效率更高?缓存怎么设置更合理?如何快速定位非结构化数据?分布式开发的扩展节点数量和效率对比?分布式集群的消息同步如何处理?这部分内容都可以进行深入研究,而且目前java9已经完成了模块化,下一步会陆续更新java企业版,这些变化对java来说是比较重大的变化,有很多问题可以采用标准化解决方案了,而不再需要借助第三方插件了。
其次Android开发,Android开发的基础是Linux系统,可研究的内容也比较多,比如基于Linux系统的android在图形优化方面可以做很多事情,可以自己定义第三方库文件,这样可以添加一些系统级的图形效果处理,很多国内的手机都做了一些特殊的优化,其中有不少都添加了图片处理。还有可以把安卓作为一个集成的智能终端,把其他可穿戴智能设备与安卓系统进行互联,比如智能手环如何与安卓系统进行交互等等,这些可穿戴的智能设备将来会越来越多,功能也会越来越丰富,可以深入研究一下。
以上只是我给出的一点建议,还希望你与自己的导师勤沟通,扎扎实实把这三年的研究生读好,珍惜读书的机会!
最后祝你学有所成!