加拿大华人论坛 加拿大生活信息作为java developer, 需要注意提高哪些技能
在加拿大
目前,美加主要分为两大类公司,一类公司以美国的google/apple/facebook/linkedin/paypal/square/saleforce等大型科技公司为代表。这些公司招聘时注重面试者计算机基础概念知识的掌握,包括数据结构,算法和优化知识等。面试的问题也是与这些主题相关:我摘抄几个别人的面经:1:Given a binary search tree (BST), find the lowest common ancestor of two given nodes in the BST.2:You have to paint N boards of length {A0, A1, A2 … AN-1}. There are K painters available and you are also given how much time a painter takes to paint 1 unit of board. You have to get this job done as soon as possible under the constraints that any painter will only paint continuous sections of board, say board {2, 3, 4} or only board {1} or nothing but not board {2, 4, 5}.对于转行或者初级程序员来说,不是短期速成就能够具备解答这些问题的能力的。需要上一些专门的计算机课程,如数据结构和算法,了解一些基础知识后再进行专门的题型训练才可以。即使对于很多5~10年以上的程序员很多知识平常工作也用不上,解这些题也很费劲。如果进行专题训练,网上有很多面经可以参考,拿来练手也不错。例如leetcode.这原本是印度人的网站,现在成为全世界梦想进入那些大公司的窍门砖。程序员需要的技能就是要精于算法和数据结构,当然如果能进这种公司,待遇那是相当了得,嘻嘻。第二种就是web developer,提供90%以上的工作机会,目前分为两大阵营语言和工具,微软.net.和sun(oracle) java. 微软由于提供完整的解决方案,完美的系统整合兼容性广泛适用于各类小中型公司。大型公司微软.net使用的比较少。大型公司指的是大型金融企业,电信公司,航空公司等。因为他们大多使用ibm的服务器,unix和数据库产品。而微软的产品主要面向pc和pc服务器windows居多。这些公司更多注重开发者的实际项目经验和开发经验。就是要求开发者的知识要广。不管什么工具框架都涉猎过。面试的时候,对任何主流技术都能略知一二。对于新移民,转行的人来说通过短期训练积累经验是可以快速粗略通晓这些技术的。比如对于Java来说:网上有非常多免费资源:1:可以下载一些教程2:在自己的机器上安装并模仿实现教程项目3:如果有人能够指导一下就更好了。我认为如果对于当程序员有足够的雄心很多人可以在3~4个月的时间内从一个对计算机一知半解的人变成一个初中级水平的程序员的。希望能给那些还在迷茫的人一些鼓励。
评论
回复: 作为java developer, 需要注意提高哪些技能更正一下,我并不是否定.net,事实上加拿大很多企业也在用.net,比如一些银行。而且pay得更高。但是对于初学者来说:.net的网上资源相对于java少而且很多工具和框架不免费。对于自学者的门槛稍微高一些。
评论
回复: 作为java developer, 需要注意提高哪些技能顶 LZ的帖子很有营养
评论
回复: 作为java developer, 需要注意提高哪些技能鲜花!
评论
回复: 作为java developer, 需要注意提高哪些技能完全同意!这样说吧,对数据结构和算法掌握的程度,很大程度上可以衡量作为一个程序员可以达到的高度。
评论
煮饭侠回复: 作为java developer, 需要注意提高哪些技能我想提高Java的数据结构和算法,有什么好的书可以推荐?
评论
回复: 作为java developer, 需要注意提高哪些技能我想提高Java的数据结构和算法,有什么好的书可以推荐?点击展开...如我所说,leetcode上刷题去吧。半年刷够2遍,准确性和速度都不错的话,直接面apple/google.
评论
回复: 作为java developer, 需要注意提高哪些技能原来leetcode是印度人的网站 三哥勇猛
评论
回复: 作为java developer, 需要注意提高哪些技能有质量的好帖,对初学者很有帮助。希望楼主尽量多写点。
评论
on the way回复: 作为java developer, 需要注意提高哪些技能谢谢,转给我儿子参考。
评论
某仁兄,年四十余。始从文,连考三年而不中。遂习武,练武场上发一矢,中鼓吏,逐之出。改学医,偶染小恙,自撰一良方,服之,卒。我认为如果对于当程序员有足够的雄心很多人可以在3~4个月的时间内从一个对计算机一知半解的人变成一个初中级水平的程序员的。=====================================没有工作经验且非近期的毕业生,靠自学很难被公司录取吧(首先简历就通不过)。点击展开...就是要动手多做多练。很多框架,工具,api如果做过简单的项目,足够应付面试的了。我工作中也经常遇到没听说过的框架,api,一般自己做个小项目玩玩,3天之1周就基本清楚了。不要被困难吓到。最好能有人能问问当遇到困难的时候。
评论
回复: 作为java developer, 需要注意提高哪些技能very good post. 期待楼主更多的帖子。 能否说说.NET程序员要提升技术需要做些什么。另外,楼主不要忘了在.NET和Java以外,网络开发还有第三大阵营, Python, RoR, and PHP. 机会是不如.NET和Java多。不过用的公司越来越多。工资也不低的。 好的RoR developer一年也能挣100k.点击展开...你说的极是,ruby,python,php这种脚本语言工作机会也确实很多。python,php我都用过,也略知一二。他们的优势是开源而且免费,而且语法也更加简单易用。不过我认为,.net因为有微软所以强大,java因为有ibm,oracle,google等的支持所以强大,php等目前的使用者不乏大的知名公司,如facebook,阿里巴巴等,纽约很多金融公司我听说也是用Php,ruby等,但大型技术支持公司不多。目前我感觉javascript 有一统天下的趋势,有些js框架完全能实现前端网页,中间层逻辑和后台数据库之间的访问。而且google现在全力支持javascript化。github上前10名的流行框架,javascript 相关的就占6个,ruby只占1个。而且这种脚本语言也越来越变成面向对象的风格了。所以我认为作为程序员至少要学一种高级语言,这样学习其他的语言就会觉得触类旁通了。从趋势来说我还是建议学好java,再学好javascript。
评论
回复: 作为java developer, 需要注意提高哪些技能google现在大量的在用python。对于像我这样日常工作偏数据库和数据处理的,python和ruby是最适合的工具。无论是java还是.net都太“重”了。其实现在的市场划分趋势已经比较明显了,中小型企业应用是my sql,php主导,大中型企业.net+sqlserver多些,大到巨型企业是java+oracle的天下,而超大型的互联网企业,python+hadoop的搭配越来越多。
评论
煮饭侠我认为如果对于当程序员有足够的雄心很多人可以在3~4个月的时间内从一个对计算机一知半解的人变成一个初中级水平的程序员的。=====================================没有工作经验且非近期的毕业生,靠自学很难被公司录取吧(首先简历就通不过)。点击展开...我觉得对于Java,学习能力很重要,所以年轻就是优势,工龄长不一定是优势。
评论
回复: 作为java developer, 需要注意提高哪些技能google现在大量的在用python。对于像我这样日常工作偏数据库和数据处理的,python和ruby是最适合的工具。无论是java还是.net都太“重”了。其实现在的市场已经比较明显了,中小型企业应用是my sql,php主导,大中型企业.net+sqlserver多些,大到巨型企业是java+oracle的天下,而超大型的互联网企业,python+hadoop的搭配越来越多。点击展开...同意你的分析。不过超大型互联网企业绝对数量上毕竟不多。他们用到的更多是算法和结构优化等,不是很容易短期自学。
评论
回复: 作为java developer, 需要注意提高哪些技能同意你的分析。不过超大型互联网企业绝对数量上毕竟不多。他们用到的更多是算法和结构优化等,不是很容易短期自学。点击展开...是,所以主流的还是java和.net。我的意思是选择什么语言入手,要根据自己所在的行业状况和对未来的职业规划而定。
评论
煮饭侠楼主是在多伦多还是温哥华阿点击展开...我目前在多伦多,住密市,也是刚来不久,之前在美国混了几年,呵呵。
·新西兰新闻 新西兰近三分之一超速摄像头暂停发布罚单
·新西兰新闻 大快人心:皇后镇男子驾超跑“炸街” 车被警察没收28天