我想通过此文来分享一下自己在2014年的IT公司笔试和面试中所遇到的基础知识,希望能对需要者提供一些帮助。
首先,在2014年的校园招聘中,我参加笔试面试被折腾蹂躏的IT公司包括:阿里巴巴、微软、百度、腾讯、去哪儿网、宇龙酷派、微策略、爱奇艺、广联达、网易、搜狗、小米科技、工商银行软开中心、opera欧朋、EMC(易安信)、巨人网络、花旗软件、IGT科技、中体彩科技等。
将通过C&C++、Java、数据结构、算法设计、操作系统、网络、其他(设计模式、汇编、软件工程等)部分分别整理,只能把还能记起来的写出来,有些实在是想不起来了。
一.C & C++ 相关
1.回调函数
2.sizeof与strlen
3.指针常量、常量指针、const关键字、指针函数、函数指针等
4.stl模板中vector的迭代器和erase方法的使用
5.memcpy、memmove(注意覆盖情况)函数实现
6.解释原因:在malloc函数中有分配内存大小的参数,在free函数中无内存大小的参数,然而free能正确回收已分配大小的内存
7.虚函数和虚函数表
8.复制构造函数、赋值构造函数、浅拷贝和深拷贝
9.指针和引用的区别
先写这么多,好多都记不起来了!
二、Java相关
1.Java的异常处理机制
2.Java垃圾回收的几种方式及特点、应用场景
3.Java虚拟机的原理
4.自己设计垃圾回收机制
5.多线程下的计数器实现
6.线程相关(sychronized对象和方法、wait、sleep、yield、lock等)、可重入对象
7.string与stringBuffer的区别,自己设计stringbuffer的append方法
三、数据结构
1.数组与链表的区别
2.排序算法以及复杂度
3.二叉树遍历的非递归实现
4.编程实现根据带有 括号和加减乘除运算符的字符串表达式计算表达式的值
5.黑红树的原理,以及插入删除操作
6.最短路径算法
7.二叉树的序列化与反序列化代码设计实现
8.寻找双向链表中的唯一的坏指针(该链表中仅存在唯一的一个指针指向错误)