之前面了一次百度的实习,并且拿到offer,下面是实习过程中出现的题目,希望给同样投百度的同学一个参考。百度垂直搜索部门实习面经一面1. 背景问题:自我介绍,问有关项目经历,描述以前做的东西语言:1. C++ 关于vtable,是类对应vtable还是对象对应vtable(类)2. 构造函数能否是虚函数(我说的比较含糊:个人认为从语言设计角度来讲不需要)3. malloc和new的差别4. 析构函数不是虚函数的情况给个例子,问会发生神马5. 在一个函数new了一个以后,没有delete,用什么技术来解决此处发生的内存泄露6. cpp编译成二进制文件的过程7. delete数组有什么不同,如果用deletep来delete数组,会有什么问题OS:new分配内存的过程,应该回答出一种内存管理方式如果有多个程序同时申请内存,这个时候操作系统如何做到互斥访问海量数据查询问题:用户的输入常常会有错误,错误主要分三种情况,多一个,少一个,写错一个。假如我们在数据库中存储了所有正确的输入,利用什么技术,例如输入一个错误query,来得到所有正确的query。这个题目是hr提示我的,其实我也没有什么思路
想到的是hash表
对正确的数据存储的时候做如下处理:
例如我们要存储abcdef,首先存储abcdef状态为1,说明是争取的字符串。
把这个字符串的每个位置去掉一个分别存储,用来以后做用户少输入一个的检测。
则里面有bcdef acdef....在检索的时候,假如目标串是A, 检索A,如果检索到的标记是1,说明输入的是正确的。 如果检索到的字符串标记为0,则说明用户把争取的少输入了一个。现在把A的每个位置去掉一个字符。如果检索到的标记为1,说明用户多输入一个,如果检索到的标记为0,说明用户输入错一个。二面:1. 讲项目经历,大概一共聊了15分钟吧2. 一个寺庙有N个台阶,一个人站在下面,他要去到第M个台阶,假设他只有2个方案可以选择 1. 向上走3台阶 2. 向下走2个台阶。请问他到达第M个台阶最少要走多少步。给出核心算法并分析复杂度(dp可以解决)(后来顺便扯到如果台阶个数特别多,应该如何分配dp[N], 然后又扯到局部变量,全局静态变量,和堆变量的差别,包括生命周期,分配上的大小限制,读写速度,什么情况使用哪种变量)3. 简化题目为:有两个数组,A[N], B[M],代表两个集合。3.1现在求出集合的交集,给出算法的复杂度 3.2 如果两个集合都已经排好序,如何求出交集阿里巴巴研发工程师面经百度2012实习生校园招聘笔试题相关资讯 互联网 百度 百度面经
- 30亿网民坐稳啦!互联网之门将要换 (今 06:51)
- 互联网迎来“独立日”? (03月21日)
- 互联网让我们变聪明了? (11/13/2015 07:53:43)
| - 互联网从开放走向封闭 (06月20日)
- 全球首个互联网网页上线 25 周年 (12/21/2015 13:40:02)
- 古巴的Netflix、Hulu和Spotify不在 (09/28/2015 07:00:59)
|
本文评论 查看全部评论 (0)