程序员面试宝典
程序员面试宝典
对于即将成为程序员的应届生,首先需要考虑的是如何选择一个适合自己职业起步的公司,以及根据自己感兴趣的技术确立自己将来的职业方向。对于已经身为程序员的跳槽人员,则需要考虑继续走技术方向还是转型到管理、销售等方面。在求职面试过程中需要什么流程以及需要注意什么细节?
针对初级C/C++工程师职位
所谓的初级C/C++工程师,也就是刚刚踏入C/C++开发领域的初学者,或者说是有过很短经历的C/C++开发者。针对这个职位,下面将会介绍这个职位所需要掌握的知识体系。
面向对象的知识: C++是一个面向对象的开发语言,因此熟悉面向对象对学习C++很有必要。读者要了解:什么是对象、什么是类、什么是封装、什么是多态、什么是继承、什么是抽象类、什么是接口等。读者不但要了解概念,还需要知道这些概念是如何体现的。例如,类和对象有什么区别?类是如何封装的?
C/C++语法:如果读者已经有了开发经验,那对于学习C/C++语法来讲比较容易。如果你有C++等面向对象语言的开发经验,那么只需简单的'翻看介绍C/C++的相关书籍。如果你是新手,那么就好好研究一本有关C/C++初级教程之类的书。学习了C/C++语法,加上面向对象的知识,相信读者可以写出来比较好的C/C++代码。如果再抽出时间熟悉一下C/C++编程规范,那么代码的水平就会比较正规了。
数据库知识:作为一名初级C++开发工程师,必须要清楚如何使用数据库进行一些简单的开发工作,这是一些应用软件开发的基础。
开发工具:读者都知道,开发工具可以帮助更好更快地开发,因此熟悉几种开发工具很有必要。目前C/C++的开发工具比较流行的有Turbo C和Visual C++ 6.0等。
掌握了以上的知识,另外再加上少许的开发经验,就可以称得上是一名基本合格的初级C/C++开发工程师。所有招聘公司对于初级程序员的要求并不高,但基础知识一定要扎实,如果你连开发工具都不会使用,那如何能迅速提高学习水平呢?
针对中、高级C/C++开发工程师职位
所谓的中、高级C/C++开发工程师,也就是有了几年的开发经验和实战经验的开发人员。针对这个职位,所需要掌握的知识和积累的经验就必须是更上一层楼了。下面将介绍中、高级C/C++开发工程师所需要具备的知识体系:
1.C/C++知识方面
一般的程序员或许只需知道一些C/C++的语法结构就可以应付招聘了,但要成为C/C++高级工程师,必须要对C/C++做比较深入的研究。读者应该多研究指针、输入输出、内存管理、数据结构等。如果有可能,希望能够对C/C++的所有模板和容器都进行了解和学习,这样就可以发现很多程序开发中所需的功能,通过C/C++的类库函数都可以实现。
2.设计模式
其实写代码是很容易的事情,相信读者也有同感,但如何写得好就比较难。这个“好”字包括代码可重用性、可维护性、可扩展性等。如何写出好的代码往往要借助一些设计模式。当然长期的代码经验积累,也会使程序员形成自己的代码风格。相信高级程序员的代码也比较符合代码的可重用性、可维护性、可扩展性,但既然前人已经总结出了经验,那么就可以借鉴这些宝贵的经验为自己的开发增添一些色彩。
3.熟悉主流数据库
其实真正比较大的项目都是有设计人员专门设计数据库的,但往往很多项目要求高级工程师也参与数据库的设计以及SQL的编写。为了更好的熟悉整个软件系统的开发流程,建议读者还是多了解一些主流数据库,例如SQL Server和Oracle,多练习有关SQL和 存储过程以及触发器方面的知识。如果读者不是“科班”出身,那么还需要补充一些数据库原理方面的知识。
4.UML
在比较正规的开发团队中,UML是讨论项目的交流工具,如果要想成为一名软件工程师,那么至少要能看懂,如果要想成为一名高级工程师,那么要能通过它来描述自己对项目的理解,尽管这不是必须,但却很重要。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除