Sap软件开发职位面试全过程
2014-07-16 20:32
399 查看
总共经历了电话面试、笔试、一面和二面。由于是测试开发转开发,虽败犹荣,整个过程让我了解了测试开发转开发是多么地不容易,也了解了自己在开发方向的很多不足之处。平时钻研的深度太浅,很多东西都只知道表层,当被细化问到时,只有傻眼的份。下面记录一下整个面试过程,供像我一样想踏入开发领域的学子们学习。
电话面试:
1、自我介绍
2、指针与引用的区别
3、类的内存存储结构,内存对齐 http://www.cnblogs.com/jerry19880126/p/3616999.html
4、堆与栈的区别,线程中的栈有大小限制吗?超过了会怎样?
5、设计模式的好处?
6、有了哪些语言,有脚本经历吗?
7、你的职业规划
8、类的三大特征,什么是封装,封装有什么好处
9、爬楼问题
10、随便用英语聊聊
11、有什么想问我的吗?
笔试:
笔试总共有11道题,1~8题中至少需要做两道,时间总共为1个小时,试卷为全英文。试卷前1~8题中有c++、c#、java、javascript等,最好选择自己熟悉的语言题解答,否则会被问得很惨。
由于我对c++比较熟悉,只要做了几道c++的题目。
1、智能指针的作用?请用c++实现一个简单的智能指针。
2、给出一段代码,问你有哪些改进的地方,需要如何重构。
3、一道C#题,主要是考察虚函数表,
public class Base
{
virtual public void func1()
{
Console.WriteLine("A");
}
virtual public void func2()
{
Console.WriteLine("A");
}
virtual public void func3()
{
Console.WriteLine("A");
}
}
public class Derived : Base
{
public void func1()
{
Console.WriteLine("B");
}
public override void func2()
{
Console.WriteLine("B");
}
public new void func3()
{
Console.WriteLine("B");
}
}
class Program
{
static void Main(string[] args)
{
Base p = new Derived();
p.func1();
p.func2();
p.func3();
Console.Read();
}
}
问输出是什么?
answer:
A
B
A
9、一道sql题
10、一道算法题,说实话,看了很久都没有看懂题目,表示英文太差了。
11、逻辑题:今年参加高考的人数有7400万,请问这个数字合理吗?为什么?
说实话,我当时就不明白为啥考这道题,后来问了同学,才知道这是一道探索性的问题,面试官主要考察你分析和解决问题的能力。我同学是这样给出答案的:首先需要查一下近五年的高考人数,这个适龄高考青年的人口数,然后是学校招生的人数,求出一个录取比列,跟近5年的比较来考察这个数是否合理。
一面:
一面主要是技术面试,主要针对笔试题和简历。
1、自我介绍
2、智能指针的实现,由于没有写全,面试官就问了类中除了构造函数,析构函数,拷贝构造函数,还需要实现哪些函数。意在提醒我智能指针类还没有写全,还需要有操作符函数的实现。
3、针对笔试题3,问得很深,要我写出类的内存分布图,虚函数表的结构图以及override与overload的区别。
4、tcp的三次握手过程
5、由于我大部分都是写的工具,面试官就问写过最多的代码量有多少?当时就支支吾吾的。然后还接着问如果让你现在转开发,你觉得自己的弱势在哪里?我还傻傻地回答由于没有写过大项目,可能代码上会不太规划,汗,这不是自找死路嘛。说完真想抽自己一巴掌啊。
6、问了组内一共有多少个人,有多少个项目,项目间的人是如何合作的?这个主要考察团队合作。
7、为什么想转开发?为什么一开始不找开发的职位?
8、用英语随便说说,说说你的项目。
二面:
由于一面面试下来,自我感觉很差,二面来的面试官明显只是敷衍,相对于一面面试官一个小时的面试过程,二面的时间算是非常迅速啊,全过程仅仅十分钟左右。
1、指针和引用的区别
2、团队合作
剩下的就记不得了。。。
最后总结一下失败的几个致命点:
1、首先简历没有写好,找开发岗位,简历上还是写了很多测试相关的内容,没有突出是工具开发。
2、技术上不够深入,问及一下类的内存分布都不能完整说出来。
3、准备上不够充分,完全没有面试的技巧,整个面试过程很被动,简历上没有出彩的东西,技术上也不够合格,注定是一次失败的面试。
电话面试:
1、自我介绍
2、指针与引用的区别
3、类的内存存储结构,内存对齐 http://www.cnblogs.com/jerry19880126/p/3616999.html
4、堆与栈的区别,线程中的栈有大小限制吗?超过了会怎样?
5、设计模式的好处?
6、有了哪些语言,有脚本经历吗?
7、你的职业规划
8、类的三大特征,什么是封装,封装有什么好处
9、爬楼问题
10、随便用英语聊聊
11、有什么想问我的吗?
笔试:
笔试总共有11道题,1~8题中至少需要做两道,时间总共为1个小时,试卷为全英文。试卷前1~8题中有c++、c#、java、javascript等,最好选择自己熟悉的语言题解答,否则会被问得很惨。
由于我对c++比较熟悉,只要做了几道c++的题目。
1、智能指针的作用?请用c++实现一个简单的智能指针。
2、给出一段代码,问你有哪些改进的地方,需要如何重构。
3、一道C#题,主要是考察虚函数表,
public class Base
{
virtual public void func1()
{
Console.WriteLine("A");
}
virtual public void func2()
{
Console.WriteLine("A");
}
virtual public void func3()
{
Console.WriteLine("A");
}
}
public class Derived : Base
{
public void func1()
{
Console.WriteLine("B");
}
public override void func2()
{
Console.WriteLine("B");
}
public new void func3()
{
Console.WriteLine("B");
}
}
class Program
{
static void Main(string[] args)
{
Base p = new Derived();
p.func1();
p.func2();
p.func3();
Console.Read();
}
}
问输出是什么?
answer:
A
B
A
9、一道sql题
10、一道算法题,说实话,看了很久都没有看懂题目,表示英文太差了。
11、逻辑题:今年参加高考的人数有7400万,请问这个数字合理吗?为什么?
说实话,我当时就不明白为啥考这道题,后来问了同学,才知道这是一道探索性的问题,面试官主要考察你分析和解决问题的能力。我同学是这样给出答案的:首先需要查一下近五年的高考人数,这个适龄高考青年的人口数,然后是学校招生的人数,求出一个录取比列,跟近5年的比较来考察这个数是否合理。
一面:
一面主要是技术面试,主要针对笔试题和简历。
1、自我介绍
2、智能指针的实现,由于没有写全,面试官就问了类中除了构造函数,析构函数,拷贝构造函数,还需要实现哪些函数。意在提醒我智能指针类还没有写全,还需要有操作符函数的实现。
3、针对笔试题3,问得很深,要我写出类的内存分布图,虚函数表的结构图以及override与overload的区别。
4、tcp的三次握手过程
5、由于我大部分都是写的工具,面试官就问写过最多的代码量有多少?当时就支支吾吾的。然后还接着问如果让你现在转开发,你觉得自己的弱势在哪里?我还傻傻地回答由于没有写过大项目,可能代码上会不太规划,汗,这不是自找死路嘛。说完真想抽自己一巴掌啊。
6、问了组内一共有多少个人,有多少个项目,项目间的人是如何合作的?这个主要考察团队合作。
7、为什么想转开发?为什么一开始不找开发的职位?
8、用英语随便说说,说说你的项目。
二面:
由于一面面试下来,自我感觉很差,二面来的面试官明显只是敷衍,相对于一面面试官一个小时的面试过程,二面的时间算是非常迅速啊,全过程仅仅十分钟左右。
1、指针和引用的区别
2、团队合作
剩下的就记不得了。。。
最后总结一下失败的几个致命点:
1、首先简历没有写好,找开发岗位,简历上还是写了很多测试相关的内容,没有突出是工具开发。
2、技术上不够深入,问及一下类的内存分布都不能完整说出来。
3、准备上不够充分,完全没有面试的技巧,整个面试过程很被动,简历上没有出彩的东西,技术上也不够合格,注定是一次失败的面试。
相关文章推荐
- 软件开发过程中,各职位的职责
- 面试Java软件开发职位面试题
- 又一次分享面试经历(招聘职位:软件开发,上海xx网络科技公司)
- 2011年PPS网络电视C++软件开发笔试面试过程
- 鲸鱼游戏后端开发工程师职位面试过程回顾
- 软件开发项目计划编制过程(下)
- 浅谈Hibernate获得成功的十大理由-个人觉得软件开发过程,就应该这样
- Java 建模: 子整体软件开发,第二部分--需求收集:工作的恰当过程
- 软件开发的过程中关键路径问题
- 不错的Oracle存储过程开发软件Toad
- 软件开发过程中最重要的是人?还是领导者?(转)
- 软件开发项目计划编制过程(上)
- 漫谈企业应用项目的软件开发过程
- 软件开发过程
- 软件开发是人类通过逻辑解决问题的过程
- 软件开发过程
- 以测试为核心的软件开发过程
- UML学习笔记(2)---软件开发过程(RUP概述)
- [转贴]软件开发怎么管?---产品、过程、人员三要素
- 软件开发全过程检测及软件测试自动化(转贴)