php发展

注册

 

发新话题 回复该主题

加拿大北美软件工程师工作与面试 [复制链接]

1#

现在IT工程师是相对高薪的职业,同时就业范围比较广泛,特别是互联网时代,任何企业都离不开IT技术的支持。对于刚毕业的学生、新移民要找到软件工程师的职位可能是一个新的挑战,今天我分享一下我个人关于如何在加拿大或北美寻找软件工程师工作的经验。

首先介绍一下IT行业的特点。这个行业最大的特点就是它的变化非常快,快速的变化给这个行业带来了很多的机会,也给从业者提出了更高的要求。另一个特点是技术非常的多,现在大的方向有做前端的、有做后端的、有移动开发的、有做iOS的、做测试的、做数据库的等等,每一个大类里面又分很多小类,每个小类里还有很多相关的技术。面对快速变化的行业和众多的技术,软件工程师需要有持续的学习能力才能跟上变化。

我周围学习软件相关专业的同学毕业后大都有三个职业发展的方向。第一个方向是去大公司,大公司的产品比较稳定,生活工作的平衡比较好,第二个是去小公司,发展快的小公司可以学到很多东西,缺点是没有大公司那么稳定,第三个是转行,转去可以发挥IT的特长行业,比如金融行业有算法交易,高频交易需要软件工程师,现在股市里已经有相当大一部分交易都是由算法直接自动完成的,不需要太多人工干预。我觉得找到适合自己的方向,每一个选择都不错。

下面进入正题,谈谈如何去面试软件工程师这个工作。这里必须提一下一些软件工程师的基础书籍,即便是没有学过软件工程专业的人士,如果能把这些书看一看的话,我觉得也能去尝试面试软件工程师的工作。

ThinkinginJava,这是最经典的学习Java编程语言的书,讲解的非常全面而且具体,想要学习Java的同学可以多看看。

C++primer,这是学习C++最好的书之一,跟上面的ThinkinginJava类似,这本书会结合具体的例子把语法讲解的非常的全面,学习C++的话强烈推荐。

Introductiontoalgorithms,这是最经典的学习数据结构与算法的书,数据结构跟算法在面试过程中非常的重要,几乎每场面试都必须会考察的知识点,这本书讲解的非常全面,唯一一个不足的可能是书里面的例子都是用伪代码写的,有些同学可能看不习惯。

Operatingsystemconcepts,这是一本比较经典的介绍操作系统的书,在面试过程中不一定会考察上面的内容,但也是一本比较基础的书籍,有利于为工作打下一个扎实的基础。

Computerarchitectureaquantitativeapproach,类是于操作系统,这是一本基础书籍,在面试中可能很少用到,但对成为一个好的软件工程师也很重要

Compilerprinciples,techniquesandtools,这是介绍编译器最经典的书之一,面试过程中很少考察编译器知识,但这本书会帮你深入了解从编程语言到机器认识的二斤制码之间会发生什么,要想成为一名好的软件工程师是必须了解的知识。

bash,Linux,这两个并不是书籍,很多面试也可能不会考察但非常重要,是工作中几乎没天都会用到的知识,需要好好掌握。相关的书籍非常的多,就不一一介绍了,大部分书都介绍的很好。

有了上面的基础,就可以准备工作的面试了,北美的软件工程师面试大都需要做算法题。这里有几个非常经典的练习算法题的资源

Crackingthecodinginterview,这本书相对来说是一本比较入门的算法书,里面大概有三四百题,每道题都有详细的讲解,很多朋友问我我就推荐这本书。

Leetcode,这是一个非常流行的练习算法题的网站,现在大概有好几百题,几乎涵盖了大部分面试中会碰到的算法题,虽然题目比较多但是很多题的算法都是一样的,练习过程中需要学会总结,提高效率,有些题目非常难,可能超过了很多公司的要求,建议大家多看看网上的经验再练习。

最后稍微谈谈具体的面试过程。一般很多公司会有三到四个面试环节,一个环节是是做一个网上测试,即公司会发给申请者测试链接,进入链接完成里面的题目,包括编程基础知识和一些算法。第二个环节是电话面试或视频面试,这个相对后面的面试比较简单,一般会考察编程算法能力。电话面试后,进入到下一环节,很多公司都会邀请申请者去公司面试。一般是多轮的一对一面试,每轮的面试时间大概在一个小时左右。面试的内容各个公司都不一样,但一般主要考察写代码的能力。

相对而言,加拿大软件工程师的职位比其他领域的求职还是有多一些机会的,关键在于个人的定位和充足的准备。扎实的专业功底,认真的准备,拓展职业领域的人脉。

预览时标签不可点收录于话题#个上一篇下一篇
分享 转发
TOP
发新话题 回复该主题