不是技术牛人,如何拿到国内IT巨头的Offer
作者:网络转载 发布时间:[ 2013/11/4 10:55:43 ] 推荐标签:
因此,当你决心把一个项目写入你的简历中,你一定要能回答出面试官的如下问题:
1、你负责了哪一块?
这个问题是想知道这个项目里究竟有哪些代码是你写的,尤其是多人合作的项目。你必须强调你所做的工作。
问题出来了。很多时候我们参与的项目,他的架构、核心技术你并不熟悉,而仅仅是写了部分逻辑代码,那怎么办呢?
解决办法是,花时间去了解项目的核心,对项目的整体有清晰的认识,至少要达到能够表述的很清楚的程度(简单的说是能吹的很有说服力。回想你答辩的情形)。
如果你做的那一块确实微不足道,而且你也无法表述项目全局,那放弃提及这个项目吧,否则只能让面试官越看你越觉得锉。
2、你用到了哪些技术?
这是好发挥的一个问题。你可以介绍项目用到的每个开源库,也可以介绍你用到的源代码管理工具(如SVN、GitHub),调试工具(如WinDbg)甚至项目管理工具(UML工具、VS Project等)。总之,这是一个很好表达你的项目综合能力的机会。
如果上面的都不出彩,那尝试从你的项目架构、设计模式、接口设计等方面入手。总之要站在一个较高的角度,空谈项目的业务需求和逻辑意义不大(当然,充满创意的项目除外)
3、你遇到的大问题是什么?如何解决的?
这个问题是重要的,也是具有回答技巧的问题。你必须说出一个听起来确实很难解决,但你确实又解决(或者避开)的问题。
如果你实在没有头绪,或者你觉得项目确实太简单,没发现困难问题,不妨从这些方面思考:
有网络功能的项目,考虑网络传输效率和网络同步等问题;
有多线程、多进程的项目,考虑他们之间的同步/互斥、负载、调度问题;
需要处理大数据的项目,考虑数据预处理、数据调度等问题;
如果这个项目出了论文,那么尝试描述论文解决的问题;
你解决问题的渠道,如MSDN、CSDN、开源社区的论坛、国外技术论坛、文档手册等。
面试官想要听到的,是你发现问题、分析问题、寻找解决方案、终解决问题的思路与方法。细节并不重要,因为他也未必能完全弄懂每个技术细节。
总之,一个完整的项目能让你充分的表达你的技术能力。在项目这一块上,你需要下足功夫。
如果很不幸你没有,那么请往下看。
深厚内功——坚实基础
一般第一轮技术面都是来考察你基本的技术功底。
招聘季节,随处可见抱着厚厚的《程序员面试宝典》啃的学生。偶尔也能看见《编程之美》《剑指Offer》的神书。这些经验书确实有用。但是要想全面的掌握笔试面试的基础考点,还是需要完整的复习。
其实,笔试面试对计算机基础的考察是万变不离其宗的。其考点无非分为:
语言语法(以C/C++为例)。
指针(数组),函数指针,操作符运算顺序,const(常指针与指向常量指针),static四大用法,字符串(字符数组),字节对齐(sizeof),位运算。书籍:《C++ Primer》
面向对象。
构造与析构顺序、多态、重载、覆盖、C++对象模型等。书籍:《深入理解C++对象模型》。
数据结构。
栈,队列,链表(双向、循环),树,堆,哈希表。
基本算法。
排序(重要的是快速排序)、查找、图算法、贪心算法、动态规划。书籍:《算法导论》。
设计模式。
考察多的是单例模式。只因为他实在是太常见又太简单了。书籍:《设计模式》,《重构》。
数据库。
主要是SQL语句与存储过程。
操作系统。
进程与线程、互斥与同步、死锁、进程间通信,页表,虚存等。书籍:《Windows核心编程》,《Unix核心编程》。
计算机网络
ISO七层架构,TCP,UDP,IP地址等。
英语。
有些公司喜欢出一些用英文描述的问题,或者英文翻译题。看懂IT领域内的英文并不难,如果你平时使用MSDN、Google、StackOverFlow的话根本不是问题。
如果你还有充分的时间,建议认真看上面推荐的书籍。如果时间不够,有针对性的去掌握这些考点。
不得不吐槽的是,很多技术不错的朋友,有着很好的项目,反而挂在了笔试的基础知识考察上面。因此不要小看这些考点。该背的还是要死背的。
笔试或者面试如果让你在纸上写程序,会有2种情况:
1、写一个函数或算法。
不要因为题目简单想在短的时间写出来。请一定要注意,对所有参数做边界检测和有效检测。这才是考察的重点!
如果一个算法具体实现你记不清了,写伪代码,在每行代码后加上详细注释。如果是面试,写完以后跟面试官解释说具体的代码你忘了,但是你记得算法思想,因此用了伪代码。
如果具体思想也忘了,尝试用自己的思路解答问题。总之,尽量别交白卷。
2、设计一个软件或系统。
这种情况不要求你写详细代码。你需要在程序结构、框架、设计模式或者系统架构等方面进行设计。
这种框架性的东西好先打草稿,想好了再重新画一遍,把每个模块的功能,模块之间的关系、各个模块的功能接口画出来,如果是面试,写完以后给面试官详细解释。
这里强调一点,是否懂得架构设计,是鉴别代码菜鸟和熟手的重要指标。T级越高的公司,越偏向于考察架构层级的知识。比如百度笔试的后一题经常是要求设计一个分布式服务器系统。
锦上添花——无限潜力
通常技术一面是面基础,二面更多的是双方的进一步了解。如技术方向,技术潜力等。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11