菜鸡面经

首先感谢下牛客上之前帮助过我的学长学姐,我也为下一届提供一点经验
面过挺多互联网公司,最后拿到百度,头条,乐视,当当
本科学的硬件,研究生学了一年软件知识,C/C++方向,主要学习内容牛客上有很多帖子,我不用重复了, 我当时也是翻过大多数面经贴,帮助了我很多

我一般挂在笔试 ,或者最后一轮技术面
我只是上点面试干货(有些公司面试给忘了):

乐视一面 :

1. C++ 看过哪些书

2. 找到倒数第二个节点

3. 一个指针指向的内容经常变化 , 如何防止编译器去优化它

4. Static 的作用

乐视二面 :                                                                       

1. 服务器 A 10 个文件 , 在服务器 B 写一个脚本 , 传输这 10 个文件 , 并合并到一个文   件上

2. 项目相关

 

一点资讯一面 :

1. 写一个字符串转浮点型 .

2. 项目相关 .

一点资讯二面 ( ):

1. 线程和进程的区别以及理解 , 哪一个更好写 , 哪一个通信成本更低

2. 中序非递归遍历二叉树写代码 , 后序非递归遍历二叉树 , 的两个栈的实现

3. select 的描述符一次使用之后 , 下一次还会继续在描述符集里面吗 .

4. epoll 的两种触发方式 , 以及哪一种效率更高 ,

5. accept 的非阻塞返回链接的套接字 , 怎么知道此套接字准备好了 .

6. 项目相关

 

百度一面 :

1. 求序列的最大乘积子序列

2. 有大量的 URL 去重 ( 布隆过滤器 )

3. 写一个不能被继承的类

百度二面 :

1. 说一下这个项目干了什么事 ...

2. 网络分几层 , 每层存在的意义 , 为什么需要这一层 , 不要它会出现什么问题

3. 多线程和多进程的区别

4. TCP 三次握手 ( 如果两次怎么办 ), 四次挥手

5. 服务器重启的时候可能启动不了 , 是为什么 ( 考点 : 此时 fd 正在和客户释放链接 , 于关闭的套接字 2 分钟内不能使用 , 存在启动不了的问题 , 解决办法 , 设置一个 socket 选项 / 具体忘了 )

6. 网络编程的客户端和服务器的套接字结构 . 以及 accept() 返回的什么 , 以及如何使 服务器并发处理数据 ( 多线程 , 多进程 ,epoll/select)

7. Epoll/select 的区别

8. fork 的返回值是什么

9. 数据库了解吗 ,mysql 引擎 ,redis 的操作

10. 会哪些数据结构 , 我说得栈 , 队列 , , , 哈希表 , 跳跃表 .

11. 栈和队列的区别

12. 平衡二叉树是什么 , 它的查找复杂是多少 , 怎么插入 , 旋转以及平衡二叉树和跳跃 表相比的优劣 ,

13. 跳跃表的实现原理

14. 解决哈希冲突的办法

15. 解释一下多态 , 并写一个多态的例子 , 说明在一个类中的默认函数有哪些 , 以及复制构造函数和赋值函数 operate=() 的区别 , 以及什么时候用到 .

A a(b) A a=b 都是复制构造函数 /A a=b 是用 operate=

16. 平时如何学习一个新技术

百度三面

1. 写一个 char* strcpy(char *s,int n) 函数 ,[ 考点 : 注意判断有效输入和 malloc 返回空 ]

2. 用数据说明 ,python 路由任务有什么优势

3. 论文中用到了什么算法 , 迪加斯科单源最短路径 , 详细讲讲此算法的核心思想

4. 在文件中每行都有时间戳 , 计算每秒输入了多少行 ( 当时说了 python 字典的方法和 grep ..|wc -l)

5. 讲一下项目中的服务器的后台架构 , 负载均衡使用的什么 (nginx), 以及我负责的模

6. 项目中最有成就的一件事

7. 平时喜欢干啥 , 能来实习吗 , 巴拉巴拉巴拉

 

美团一面 :

1. linux TOP 命令

2. 改变文件权限的命令 chmod, 以及 chmod 755 代表的意义

3. 写一个小程序 , 输入一个奇数 , 5, 输出一个菱形矩阵如 :
                                                *

           ***

          *****

           ***

            *

4. 一个村子 , 生孩子 , 直到生一个女孩才停止 , 问生出的男女比例

5. 进程和线程的区别

6. 进程间通信方式 , 以及它们什么时候使用

7. 线程的几种状态 , 以及画一个状态转换图 ,

8. linux 中如何打开一个文件 , 如何处理一个正在动态增长的文件

9. 造成死锁的条件 , 以及如何解决死锁问题

10. TCP3 次握手 , 为什么是 3 , 哪些协议简历在 TCP 上的

11. TCP 协议如何进行拥塞控制

12. inode block

13. 找到数组第一个出现一次的值 ( 剑指 offer)

 

美团二面 :

1. 项目架构以及项目设计 , 是否有可以改进的地方

美团三面(卒):

                   1. 十进制 IP 地址转整形

                   2. 智力题
      3.设计一个拍卖系统服务器

华为一面 :

1. 软件路由器的程序架构

2. C/C++ 基础知识 , 如构造函数不能是虚函数 ,sendmes postmes 分别是阻塞和非阻 ,

3. 实习项目后台服务器架构


华为二面(应该是在备胎池):
    1.写一下中序遍历
    2.指针数组,数组指针,函数指针等一系列指针问题

今日头条一面 :

1. 一个 python 相关的程序问输出 :

def fun(a=[]):
    a.append(1)
    print a

if __name__ == '__main__':
    fun([])
    fun([])
    fun([])
    fun()
    fun()
    fun()

2. 写一个程序 , 有两个有序数组 A,B, 找到第 k 大的数 ( 最后想到复杂度 lgn 的算法 )

3. 熟悉数据库吗 , 回答只是会用 , 以及知道 redis 的底层数据结构

4. 爬虫使用到什么程度 ( 只会抓取静态网页 ....)

今日头条二面 :

1. 说一下实习项目 , 巴拉巴拉巴拉

2. 写一个程序 , 给定一个数组 , 有正数负数 , 找到 X+Y+Z=0 的这样的组合 , 一个就 OK( 到了复杂度 O(n^2)+ 辅助空间 O(n) , 以及复杂度 O(n^2*lgn) ), 然后手写                      O(n^2*lgn) 的算法

今日头条三面 :

1. 写一个程序 , 找到一个数组中所有数的最靠近它的第一个大于它的数 , 2,9,3,5,2 输出 0,9,9,5( 提示了很久 , 很久 , 很久才想到 O(n) 的方法 )

2. 设计一个系统 , 一个下拉动作可以拉出所关心的最近的 10 条信息 .( 核心是为每个 用户创建一个链表存储数据 )

3. 1 亿个被关注的主题 , 并发量 1000,5 亿用户接收 , 会存在什么问题 .( 如果对每个 用户的数据存储结构上锁 , 会有 5 亿个锁 , 太浪费资源 , 而并发量只有 1000, 所以 只用维护一个数据结构 , 如数组 , 长度 1000, 来管理被访问的数据结构 , 这样只需 要一个锁 )  

 



全部评论
这是运维?
点赞 回复 分享
发布于 2016-10-29 12:53
楼主决定去哪了嘛
点赞 回复 分享
发布于 2016-10-29 13:12
与楼主比,我就是渣
点赞 回复 分享
发布于 2016-10-29 17:06
答主学了一年软件就到这水平了,,,牛啊。
点赞 回复 分享
发布于 2016-10-29 23:17
没给他讲morris遍历吗😂
点赞 回复 分享
发布于 2016-11-01 16:24
学长,乐视一面第3个问题,是在变量前加volatile关键字么??
点赞 回复 分享
发布于 2016-11-01 17:04

相关推荐

点赞 41 评论
分享
牛客网
牛客企业服务