已经工作3个多月了,整理以前资料的时候,顺手翻到了之前实验室小伙伴们面试的记录,索性就分享出来了,需要的人可以参考一下
360(c++)
1面
1、堆排序
2、kmp
3、虚函数的作用
4、top k
5、int 范围的很多的数,排序
2面
1、从左上角走到右下角一共多少种走法(用组合数学来说)
2、从左上角走到右下角对角线不能走
3、前序中序求后续
4、如何找出分析出一个用户的年纪,用机器学习的方法
5、说说你学习的机器模型(不懂)
3面
1、为什么没有机器学习的知识来报我们部门
2、证明你的学习能力强
3、有啥问题
阿里(一面)c++
1.使用cmd进入命令行模式,键盘上单击任意字符,相应字符会出现在界面上,这个过程发生了什么?
我答得是:保存当前状态栈,进行IO中断处理,处理完后继续进行当前任务。(面试官说要微观的过程,不理解)
2. 进入命令行模式,光标一直在闪动,这里又发生了什么过程?(难道不是等待输入,不理解想要问什么微观过程)
3. 如果让你设计memcpy(des,src,size)函数,若是不知道所传参数类型,怎么知道des的大小和size关系?
4. 同样的问题,对于strcpy(des,src)函数,如何知道des的大小(面试官说的是,如果你先给des malloc一段空间,当时你是知道该des指针的大小的,但是他作为参数传输strcpy函数中,如何获取它的大小呢)
5. 说几个常见的设计模式理解。
6. 若想尽量防止内存泄露,应该怎么办?
刚开始说的是new和delete要成对出现,被他鄙视一通,然后想起了智能指针说了一下。
阿里(一面)android
activity生命周期
开屏和关屏后activity的生命周期
java内存模型
设计一个android的登录系统
http状态码 post get区别
推送机制(xmpp协议)
介绍一下项目
项目中的问题和解决方案
数据库优化select语句
冒泡排序
3升的杯子和5升的杯子量出4升的水
优缺点
工作地点选择
阿里(一面)c++
问了在构造函数括号体内初始化和成员列表初始化有什么不同?
成员列表的初始化顺序
拷贝构造函数都在什么情况下会被调用?
如何防止拷贝构造函数被调用?
默认的拷贝构造函数是怎么实现的?(还有浅拷贝的问题)
虚函数的作用?
Public,protected,private关键字的作用?这3中继承分别是什么情况?
说一下红黑树
用过哪些STL的容器?说说各种容器的作用
说一下项目的东西
职业规划是什么?
豌豆荚 c++
一面:都是手写代码
搜狗 c++
1、问了项目,特别细节
2、合并n个数组,lc上题
3、找出n个数组相同的数
4、返回vector引用
5、红黑树咋实现的。。。(居然问这个)不懂
6、C++写一下单例(static的,不满意)
二面
问了一个,如何找统一词库(给你一坨网页,给你一坨query)
如何建立一个搜索推荐词库(类似百度搜索下面有一条的)
三面
自我介绍
然后给一个数组如何压缩(没想到好方法)
1亿多个字符串文件,找出中位数
然后简述一下你对cache失效时间的做法。
百度 c++
1、tcp和udp区别
百度 c++
1. 自我介绍
2. 介绍项目---介绍印象最深的(影响最大)---为啥印象最深(收获最大)
3. 算法
a) 给定N个数,找第二大的数(O(n)),依次隐身找第K大的数(最小最大堆)
b) N!尾部0的个数,比如5!=120那个返回1,具体解法见编程之美
c) 类似3 Sum这样的题目,具体解法就是排序之后,用前后两个指针扫描,由此降低一维复杂度。详情请分析下leetcode之3 Sum
4. 大数据-推荐看csdn july秒杀大数据那节
5. 和经理瞎扯
腾讯地图 c++
1. 谈项目(20分钟)
2. 算法(手写,2题)
Ø 题目1:给定一个有序数组,如[1,2,3,4,5,7,9,10],将数组后半段置前,即循环右移若干位,变成如[7,9,10,1,2,3,4,5],如何在变化后的数组中快速找到给定目标;
参考链接:http://www.cnblogs.com/davidluo/articles/1837561.html
(ps:不要试图去查找右移位数或尝试将数组分成两个有序段然后再做二分)。
Ø 题目2:给定一个数组,数组任意相邻的两个数的绝对值差的大小为1,给定一个目标t,如何快速找到他的位置。
参考链接:http://blog.csdn.net/morewindows/article/details/10645269
Ø 自我介绍(别再重复简历了,会被直接打断的。。。)
Ø 项目简单介绍(比较短)
Ø 我说的是C++/C,问了几个问题:
A. C和C++区别
B. C++多态、虚函数和面向对象的理解
C. C和C++能否相互调用,extern关键字的理解
D. C++编译器内核(完全不懂。。。)
E. 问了一个基类指针问题,实际上问的是基类和派生类内存分配问题(答得很乱。。。)
Ø 问了一个开放性问题,时间比较长:有这样一个系统,能反映实时路段的拥堵情况,即输入一个路段,系统返回一个该路段当前的拥堵状况信息。实现这样一个系统需要完成哪些功能模块,某一模块的具体实现(流程,非算法),问了好久,实在问不下去了,就说这题就到这里吧。
Ø 因为我简历写了实验室定位的项目,而且部门又是腾讯地图,所以问了一个问题:当前定位的主流方法有哪些,了解定位的趋势(说了百度、高德等等,忘了说腾讯,⊙﹏⊙b汗)
美团/蓝汛或者其它(记不清了)
问答题:
预编译,编译,连接(动态链接、静态链接)
Int f(int a){return 0;}
算法:
系统设计:
100张票,很多个人去抢这些票(例如12306)设计一个系统处理这个问题
智力题:
1、100的阶乘
2、一个村子生男则停止,生女则直到生男才停止,问最后男女比例
3、100个囚犯的问题(经典问题)