2014笔试面试

来源:互联网 发布:淘宝上的貂皮能买吗 编辑:程序博客网 时间:2024/05/16 11:20

baidu面试:

上午11点面到12:30:

面向对象概念、实现方法,多态、虚函数原理(虚表),实现dynamic_cast的数据结构,map的实现机制;

malloc与new区别,malloc/free原理,写memcpy实现代码;

设计内存池的接口和数据结构,每次申请/释放量小于128k(两级索引?);

进程线程区别,共享哪些部分,Linux实现线程的方式(fork+共享信息+转换?);

大数量文件磁盘拷贝慢的原因(寻道),改进方法(打包);

字符串相似度比较(dp),文章相似度比较(某种特征值函数,或svm?);

带流量控制的缓存中间件设计(blacklist + 速率调节的定时恢复);

......


等到下午2点开始,吃了几个小面包,状态很差。被鄙视了一顿广电背景后,写代码:

1.非递归实现二叉树后序遍历:用节点+flag的方式,自认为优于开伴随数组(overhead小)

2.不用"/"实现整数除法运算:没想清楚就写代码,妥妥的挂了。回来想了一下,没必要像二分搜索一样step递减地搜索。step递增的话,只需要从1开始,大于目标值停止,不用确定搜索范围、好实现。时间复杂度其实一样。


yahoo面试:

无序数组返回第k大元素

linux多线程和锁

find . -name "my*"


sogou面试:

英文简历,统计所有单词和出现的次数
2sum, 4sum问题
从有序数组建立BST

空类和只有一个char的类大小

由点击屏幕icon到launch activity的过程


yoku面试:

一面

c/c++互相调用

实现整数乘法(递归)

反转单链表

拷贝文件函数

约瑟夫环

二面

linux进线程通信,删除文件的系统调用名称,linux信号,遍历文件系统的方法

socket相关,accept的作用,音视频,android


xiaomi面试:

一面

c++多态、重载等
Android一堆问题
code:
实现string类,包括拷贝构造函数、字符串连接、find操作等
删除单链表
二面
Android一堆问题,Binder,SM

java 问题
java package权限控制字
code:
数独合法性判断(hash)


1.动态库和静态库有什么区别?
.a编入可执行文件体积大,.so运行时动态加载体积小
2.查看库的依赖关系?
readelf -d
3.android有无查看本机手机号的功能
根据手机号验证推测可能没有
4.-1怎么表示
原码取反+1,0xffffffff
5.用3种以内颜色涂立方体6各面,有多少种情况?
56
6.有无实习,有无接过私活
均无
7.项目相关
介绍项目

网易
继承时static函数的调用顺序
内部类的权限,intent能传递的格式
求笛卡尔积
从N个数里以均等概率取出M个
堆排快排,堆拍的实际应用,前缀搜索
虚函数,虚继承
map和set的实现
对象拷贝到容器的原理*答的不好,对sp和代理这块还是似懂非懂

爱奇艺
mp架构,sf架构
sp解决的问题
堆排快排
StringBuffer和Stringbuilder区别
activity管理机制,CP的含义
gc原理,对象的生命周期
重要的service和组件,service的启动方式
启动线程的方式,looper和handler,同步控制,synchroniez用法
单例,观察者,模板方法,状态模式和策略的区别