开发职位经典面试题
来源:互联网 发布:mysql中references 编辑:程序博客网 时间:2024/06/05 09:25
最近面试,要做各种题目,在网上看到一个同志的文章, 把他的文章拿过来mark下,每个题目都要弄会啊。
下面是原文:
过去两个月,面了几乎所有的上点规模的IT公司,包括google,微软,甲骨文,百度,搜狐,QQ,360,小米科技,人民搜索,百分点,云壤,美丽说,京东,轩辕互动(现happy latte)。结果怎么样,就不吐槽了。只是想把一些经典的面试题与大家分享下。面试岗位:c++开发工程师(初级)。
语言部分:
- 虚函数,多态。这个概念几乎是必问。
- STL的使用和背后数据结构,vector string map set 和hash_map,hash_set
- 实现一个栈类,类似STL中的栈。这个题目初看非常简单,当时我还有点不屑,怎么出这么简单的题。但写过c++和没有写过c++的人写出的代码是一眼就能看出差别的。譬如三大函数有没有写,引用的使用,都非常的关键。如果这方面没有经验,建议阅读下http://book.douban.com/subject/1971825/ 这本书中简单数据结构的实现,细节很关键
- c部分:函数指针的声明
- c++中的多线程
算法部分:
- 判断一个单链表是否存在循环(快慢指针的方法)
- 如何判断一副麻将牌胡了(回朔法)
- 二叉搜索树,节点上已经标有数字,如何找两个节点的最小公共节点(查找第一个在两个节点值中间的节点,如两个节点分别是3,8,查找在3,8之间的值的节点,如没找到,则3,8其中一个是另一个父节点)
- 二叉树,如何找两个节点的最小公共节点(比较笨的方法是,找到从root到两个节点的路径,然后两条路径的从root开始的最后一个相同节点就是所求节点。精妙点的参考lca算法)
- 最短摘要生成,有一个数组,还有一个集合,在数组中寻找包含集合中全部元素的最短子串。详细可以参见编程之美3.5
- 寻找最大的K个数,编程之美2.5
- 如何判断两个网页的相关性(如果说面试搜索相关的只是,看下吴军的数学之美大有裨益,其中的向量空间模型非常优美,TF和IDF这些术语也必须知道)
- Hash的平均查找长度和装填因子的关系(好好回味下数据结构书吧)
- 一致性hash原理
- rehash的时候可能导致插入的元素响应时间特别长,有无更好的方法?可以参考redis的rehash实现,当到了rehash的时候,不是一次性把所有的数据迁移到另一个更大的hash表中,而是每次迁移一个bucket,这样可以平摊时间
- 如何对全是01的文件进行压缩,一直没有好的答案。
系统设计部分:
- 当系统的处理请求时间一定的时候,如何可以加快响应速度。(cache的使用),当时很傻,竟然没想到这个,我给的答案是增加系统规模,这样只能减少请求等待时间。有时候面试人就会短路,google的题,想了半天才想出来
- 两块虚拟网卡进行通讯,但是需要数据加密,如何实现数据加密。感觉跟ssl很像
编程部分:
- 二分查找(频率超高)
- 建堆,顺便说下建堆的时间复杂度是O(n),不是log,证明可以看算法导论
- 写一个函数,将字符串反转,反转方式如下:“I am a student”反转成“student a am I”,不借助任何库函数 (频率超高的一题,先反转整个字符串,然后反转每个词)
项目部分:
- 因人而异
- 开发职位经典面试题
- 开发职位经典面试题
- Google Android 开发工程师职位面试题
- 软件开发职位面试题汇总
- 面试Java软件开发职位面试题
- Android应用开发经典面试题
- Android应用开发经典面试题
- 嵌入式软件开发经典面试题
- 图像处理职位面试题汇总(1)
- 图像处理职位面试题汇总(3)
- 图像处理职位面试题汇总(2)
- 图像处理职位面试题汇总(4)
- 图像处理职位面试题汇总(5)
- 图像处理职位面试题汇总(6)
- 图像处理职位面试题汇总(7)
- IBM经典面试题
- 经典面试题
- java经典面试题
- JNI由C编译方式改成C++编译方式
- win7 把电脑当无线路由
- ubuntu下jrtplib3.9.1和jthread1.3.1的安装
- 单例设计模式
- OGNL表达式struts2标签“%,#,$”
- 开发职位经典面试题
- 正则表达式 入门 -- 简单字符匹配、元字符
- 静态什么时候使用?
- 正则表达式 进阶(一)-- 匹配多连续字符、位置匹配、子表达式使用
- Python调用windows下DLL详解 - ctypes库的使用
- 积累需要过程,积累需要记录
- 第八周-项目2
- Qt Quick的C++类注册和QWidget添加qml
- Android之高仿飞鸽传输热点创建与搜索模块