多语言展示
当前在线:1849今日阅读:154今日分享:43

应聘高级工程师应该具备的能力

作为一个程序员,必定不甘于一直作为一个初级程序员拿着微薄的薪水,然而作为高级程序员要具备什么样的能力呢?或许有些人会有些迷惑,本人通过面试十几,进而总结出一些共性的东西,就是说面试高级程序人所应具备的能,分享给大家,仅供参考
工具/原料

不甘平庸的心

方法/步骤
1

深入学习的能力:高级程序员一定不是仅仅停留在技术的表面,而应该深入技术的核心原理,只有深入原理才能够更好地开发出优秀的作品,比如Android界面启动的整套流程,Framework层摸个模块的深入学习,某个开源框架的深入研究,都将成为开发利器,面试形式是:都看过那些源码,是否能大概讲解下源码的原理?面试官非常重视是否学习研究源码,因为这是高级的基础。

2

快速学习的能力:在这个学习的速度赶不上知识更新的年代,如果不能在有限的时间内快速学习新的知识豆浆被淘汰,面试体现出来的形式是:最近有没有学习什么新的技术,如果要学习某一个新的控件比如:注入需要多久?这意味着你是否快速成长的步伐。

3

全面的知识体系:高级开发者在实际开发的工程中需要有解决各种技术问题的能力,所以面试过程中会问及到方方面面的技术点,比如联网方面http,tcp/ip,socket通信,性能方面内存管理,内存泄露,性能优化,IPC AIDL用法,静默安装,泛型等等,你确信自己都能回答的全面吗?这个意味着你是否能够快速解决各种问题。

4

数据结构和算法基础:面试中必会问道基本的数据结构和算法,比如数组,链表,队列之前的区别,一些基本的排序比如二分查找,快速排序,有的则是要求当场写出这些算法。算法功底从某方面也意味着编程功底。

5

架构能力:设计模式的熟练使用也是意味着一个工程的架构能力,架构是一种抽象但是要求更高的能力,一个优秀的程序架构对于后期程序的拓展开发非常重要,更决定了整个程序开发的质量,非常重要。面试形式:都学习过哪些设计模式,哪些有使用过,甚至会要求当场设计出一个简单的架构,比如一个计算机。单例一半都也会要求写的。

6

技术细节:面试比较独特,那就是会让你写一些程序,比如写一个算法,写listview中getview(),要求注意性能,根据你写出的程序会问及一些细节,比如为什么要用static静态,是否还有什么更好的优化方式,从细节评价开发者的水平,这点很重要,就是说那怕一些我们常用知识点,但是有时候我们却不清楚为什么用这个技术,为什么要这么用。

7

是否会借助开源:整个编程领域博大精深,我们犹如汪洋大海中的一叶扁舟,如果仅仅凭借自己的力量,很难取得非常大的成绩,站在巨人的肩膀上,多去采集众多优秀的技术为己所用,是自身成长为高级,大牛必不可少的过程,开源网站github便是这样的一个平台,面试形式:是否用过github,都有fork学习那些优秀的开源框架,是否有贡献一些开源代码?

9

总结:整个面试过程还有一点需要注意的那就是,在第二面过程中往往面试官会根据面试者的经验,去发现面试者是否有一些出色的成分,也就是说在竞争力面前,你有哪些比大多数同级别的人做的更好,你的闪光点在哪里,这就是竞争力。这点很重要,因为我很多面试就是在这点上吃亏了。

推荐信息