人人范文网 范文大全

程序员面试总结

发布时间:2020-03-03 16:45:48 来源:范文大全 收藏本文 下载本文 手机版

程序员面试总结

这篇侧重于具体的笔试、面试的问题,至于是哪个公司的就

不去追究了,但一定是经常问到的,而且我嵌入式系统工程师和移动 开发工程师都参与了,问题要区别看待,那么自然就少了很多对C++ 问题的考察。

笔试

有一个教训是,题目让你编程实现的,不要罗列一大堆思想方

法,编程么,就是把你的代码写上去,比如写个非递归的中序遍历二 叉树,都知道用个栈就好了,但是还是要写的。

嵌入式中最常考的就是

(1)运算符优先级,实在记不下来,每次去前看一遍(没办法, 人家非要考)

(2)用变量a 给出下面的定义(《程序员面试宝典》,后面很多 题都是其中的),注意a)一个指向有10 个整型数数组的指针 b)一 个指向函数的指针,该函数有一个整型参数并返回一个整型数 c)一 个有10 个指针的数组,该指针指向一个函数,该函数有一个整型参 数并返回一个整型数

(3)结构体占用内存空间大小的计算,然后优化;考察内存对齐 (为什么要对齐?),其实不同编译器,不同平台都是有差别的,但 既然要考,把基本的弄清楚。

(4)剩下的对const 的理解,#define 和inline 的区别,typedef、volatile 的理解使用以及值传递、地址传递,内存空间分配(堆栈)

等宝典上都有。

(5)这里加两个代码的:a)CPU 大小端的判断(要理解)

[cpp]

1.int check_endian(){

2.union w{

3.int a;

4.char b;

5.}

6.c.a = 1;

7.return (c.b == 1)

8.}

b)求二进制数中1 的个数(《编程之美》),这个很常用,是一 些问题的基础,其中a 是要求1 个数的数

[cpp]

1.int num = 0;

2.while(a){

3.a &= (a-1);

4.num++;

5.}

6.return num;

(6)Java 中主要涉及接口、抽象类的理解,异常处理机制

(7)对内存回收时机的考察(恰当时候,不是一定回收),finalize

的执行,顺带的可以和final、finally 的理解一起出现,而且注意 finally 即使在return 后面,也照样执行;有些公司考到内存的分 代回收,可以了解下。

(8)字符串常量池的理解,题目的话就是结合new 创建对象和==、equal,问你创建了几个对象,判断两个对象是否相同,一般记住new 肯定创建新的引用,而是否指向同一个字符串用==无法判断,而单独 声明String 对象,那么就没有新创建对象。

(9)String 类的+操作,StringBuild 的优化和StringBuffer 的 区别,相类似的对各种容器的区别理解(List,Set,Map),而且会 说到线程安全SynchronizedMap 和ConcurrentHashMap 的区别;至于 真的考察Java 中I/O 类的联合使用,那就靠自己的经验了。

(10)内部类、泛型、反射好好看看《Java 编程思想》,基本应 该能搞定。而且你还会看到是否有sizeof,线程之间的协作问题等 等。

面试

不管答案怎样,面试的心态和表达技巧一定要多学习,不要

仅仅回答是或否,要有条理的展开,否则一个小时左右的面试会有各 种各样的问题,总有你答的不好的;面试是个人和人交流的过程,但 是简单基础的问题千万别错,否则后面一点机会没有。

(1)必问:进程间通信、写个擅长的排序或者网络公司问个TCP、UDP 区别,其实可以从问你DNS、HTTP、Ping 等属于哪一层,底层是 基于传输层的什么来考察你的;还有就是各种权限相关的,序列化相

关,C++的虚函数实现,Java 的内存回收机制,强调的是要用自己的 话说出来,尽量不要去背。嵌入式的基本nand nor Flash 的区别以 及笔试中的大小端、宏定义、断言等问题也常在面试中出现。

(2)常问在《编程之美》上的如摸石头的游戏3 篇, 求二进制 数中1 的个数 ,寻找最大的K 个数,斐波那契(Fibonacci)数列, 数组相关的如 求数组的子数组之和的最大值,求数组中最长递增子 序列 以及 桶中取黑白球等,很多是原题,也有就是以此为基础来做 的; 比如百万级数量的IP 段,一个区段对应一个地方(比如北京, 西安之类),给一个IP 查找确定是哪个地方

(3)设计模式 23 个常用的要了解一下,单例模式要会实现,看 看我推荐的书应该问题也不大的。

(4)Android 相关的也是些框架的理解,进程间通信,四大组件 的理解使用,从这些问题上看看你到底用到、学习到一个什么样程度, 对错估计不是特别在意的。

(5)非技术性的就是些项目难点,收获,感受,你的优势,证明 你的能力之类,还有就是你期望的工作环境、氛围,职业规划,理想; 有时会遇到压力的优缺点,把一个MP3 推销给聋子等问题。补充一下 的是,有时候会从你做的项目中问你对产品的思考,包括UI、功能 实现,性能优化等等。面试还是针对公司的特点,多看以往的面经比 较好。

最后要说的是不管你大

二、大三,研

一、研二,其实对于找

实习都是个非常好的锻炼机会,早早的了解自己的优势和需要弥补的

地方,同时也能证明你是个用心,早做准备之人,机会是留给有准备 的人的,祝你好运!后面会再写一篇关于工作,关于人生道路的选择 的。__

程序员面试总结

程序员个人面试总结

程序员面试自我介绍

程序员面试智力题

程序员面试自我介绍

程序员面试常见问题

程序员面试技巧,自我介绍,亲身总结

程序员面试英文自我介绍

程序员面试问题分享

PHP程序员面试题目

程序员面试总结
《程序员面试总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 程序员面试 程序员
点击下载本文文档