日常面试刷题9-29

突然被腾讯爸爸捞起来打电话(48分钟左右)

1.自我介绍

面试官:我们这写c++哦 。我:没事我可以转

2.c/c++区别

3.c++的stl

4.c++多态

5.MySQL索引类型 b+,hash 怎么选择这些索引,怎么建立

6.唯一索引非唯一索引的区别,实现原理

7.MySQL灾备怎么做(主从复制)

8.还了解其他灾备吗 异步?同步?半同步?(????)

9.访问网页请求全过程

10.如果项目中很多请求打到数据库 你怎么优化(缓存,http版本)

11.redis你项目用来干嘛 存了什么

12.redis实现原理

13.redis跳表,为什么不用红黑树啊

14.redis持久化

15.hashmap实现

16.给你一个ip 和海量网段黑名单,怎么判断ip是否在黑名单中呢,效率要高哦(???)

17.随机海量数据求中位数(我讲了二进制分文件筛)那如果这些数都是很接近的你这个算法不太行啊 咋优化(???)

18.有什么问的  什么部门 -微信部门的  有什么建议  -算法和数据结构加强下(估计场景题没答好)

 


 

百度面经

一面

看了一眼我的项目,问是不是github上面的,我说是。。

面试官:你还挺老实,直接承认了

然后就没有问过我的项目了。。

1.spring BeanFactory和FactoryBean

2.spring bean生命周期

3.ConcurrentHashMap size()过程(我说我没看过这部分源码,面试官说可以自己发挥)

4.Synchronized ReentrantLock锁

5.写代码,多线程,三个方法A,B,C,循环打印十次A、B、C。没写出来,后面换了一道先执行完A、B再执行C

6.二叉树每个节点添加一个next指针,指向同一层的下一个节点(层次遍历,但是面试官说他觉得深度遍历更简单)

7.一个有障碍物的迷宫,求小球是否可以从左上角滚到右下角(有墙,可以向四个方向滚动,但会一直滚动到撞墙为止)

8.数据库隔离级别,innodb默认隔离级别,什么是幻读,innodb能不能解决幻读,怎么解决


 

二面(是个小姐姐)

1.同步和阻塞的区别

 

2.redis缓存穿透,缓存击穿,怎么解决

3.tcp协议的状态

直接问tcp协议的状态,问的比较少,TCP协议共有11种状态

 

4.线程池核心参数

5.线程池shutdown和shutdownnow的区别,实现原理

6.写代码,正则表达式匹配(剑指offer原题)

 

三面(全程被吊打)

从简历开始,说我的项目太简单没必要写,不如写自己研究方向

具体的问题记不太清了,还是偏技术的,我说的最多的就是不好意思/不清楚/不知道/不了解

(当时只想快点结束让我走吧)

两道代码题:

1.二叉树层次遍历

2.n个骰子,抛出点数和为m的概率(写了一个暴力的,他说让我回去看看动态规划。。)

结束的时候我问面试官这个是技术面吗,面试官说综合面,我问为什么不问我hr的问题,,,

面试官:我不看重这个,那我们就随便聊聊hr的问题吧。。

然后就随便聊了一下人生就结束了。。

 

vivo

一面(30分钟):

1、如何存储微博、微信等社交网络中的好友关系

使用图存取

2、一亿个数中取中位数

使用分桶算法,统计出中位数在哪个桶中。

3、项目

二面(hr面,10分钟):

1、自我介绍一下
2、你觉得你项目中最有成就感的地方
3、用两个标签描述一下自己

字节跳动游戏提前批

一面:

1、手撕代码
    1)线程安全的单例模式

    2)两数之和(leetcode第一题)

2、怎么处理网络堵塞
3、三次握手和四次挥手,为什么要三次握手和四次挥手
4、数据库的索引
5、你了解哪些索引结构
6、B树与B+树的区别
7、map的底层结构实现
8、unordered_map的底层结构实现,怎么扩充数据;
9、你了解哪些设计模式
二面:

1、手撕代码 
    1)对称二叉树
    2)写一个堆,包括插入,删除,返回长度,返回堆顶元素,上下维护    
2、简述C++有哪些容器
3、项目中的算法优化做过哪些
4、TCP和UDP的区别
5、如何实现两个界面之间的相互通信
6、主界面打开子界面,子界面如何返回打开主界面
7、你了解哪些设计模式
8、介绍一下观察者模式
9、你有没有投网易或者腾讯,他们游戏做的那么好,诚实一点,投了就是投了,没投就是没投

三面:

1、手撕代码
    1)用两个栈实现一个队列
    2)判断一个点是否在扇形中
    3)实现一个产品:客户端有UI界面,是一个正在编辑的文档,可多用户同时编辑同一个文档
    某一个人编辑得内容会在短暂时间更新得到所有人的电脑屏幕上;
    会自动保存;
    (这一题和面试官撕逼撕的比较久)
2、俄罗斯方块的实现
3、堆区和栈区的区别
4、为什么选择杭州
5、你对游戏程序研发这个行业的看法
6、复制粘贴怎么实现

oppo
一面:

1、算法比赛中印象最深的一题
2、讲一下你参与最多的一个项目
二面:

1、单向链表和双向链表的区别
2、你觉得你保研的成功方法是什么
3、你大学有没有参见过社团之类的,给你带来的帮助是什么
4、C与C++的区别是什么
5、C为什么偏底层一点

6、根据调度方式分类,有哪些操作系统
7、总结一下递归
8、递归无限执行时,堆和栈是怎么溢出的
9、堆和栈分别存储了哪些东西
10、跨平台是怎么实现的,为什么能跨平台
11、gcc和vs的区别是什么
12、程序运行时,编译器在干什么
注:这个面试官反复问你是否确认你的答案

三面:

1、自我介绍
2、家庭背景
3、给自己打三个标签
4、最痛苦的是什么时候
5、如果你是以个leader。你的一个队友以前非常勤奋,忽然开始懈怠,这是项目又很紧急,你会怎么做
6、你为什么选择oppo
7、你是根据什么找工作的
8、你的期望薪水是多少,为什么是这么多
9、你能说出你身边几个优秀的人吗,他们优秀在哪
10、你对工作地点怎么看
11、你的六级成绩是多少
12、oppo是你投的第一家吗
网易雷火

一面:

1、手撕代码:三数之和
2、虚函数表存在哪,虚函数存在哪,单继承,多继承情况的虚函数表使用方法
3、socket编程的过程,以及select,poll,epoll的区别
4、进程调度算法
5、进程通信方法,利用共享内存通信的具体原理
6、map和 unordered_map的区别,底层实现原理;

二面:

1、Void f( int index)
{
    static int i = 0;
    cout << ++I <<endl;
}
Int main()
{
  f();
  f();
  f();
 return 0;
}
输出为:
2、192.168.1.1/255.255.254.0中的广播地址为多少
3、TCP协议三次握手和四次挥手
4、TCP协议处理网络堵塞的方法

5、项目
三面:

1、进程间的通信方法;
2、针对共享内存,当一个进程把一个类写在共享内存中,另一个进程能正确读读出和使用吗,如果类中有虚函数呢,如果类中有int成员,两个进程默认的int类型不一样,那么另一个进程能正确读出吗
3、内存对齐原理
4、map和 unordered_map的区别,底层实现原理
5、哈希表的实现原理及如何以O(1)的复杂度删除封闭式哈希表中的数据
6、数据库中索引的原理及数据结构
7、B+树和红黑树的区别,既然B+树的查询效率比红黑树高,为什么用红黑树的地方不用b+树
8、一个类添加普通成员函数和虚函数会影响类的大小吗;
9、派生类继承的两个直接基类中都包含虚函数f(),并且派生类重写了f(),这种情况下虚函数表是什么样,调用会出什么问题

10、在类中的某个成员函数如下:void f()
{
    delete this;
    f2();
}
能这样用吗,会报错吗,编译时报错还是执行时报错。

四面(hr面):

11、你了解内核吗,描述一下系统调用的过程
12、介绍一下函数阻塞的过程及原理
13、select、poll、epoll的区别,epoll的底层实现原理
14、TCP网络阻塞,为什么要那么做。
15、内存泄漏原理及怎么处理。

1、就一个项目介绍一下这个项目带给你的成长
2、你有什么好的学习习惯
3、职业规划
4、投了其他公司没有
大疆:

一面:

1、j项目
2、介绍一下有哪些构造函数
3、介绍内存四区
4、const变量存在哪
5、TCP三次握手

二面:

1、两分钟讲一个你觉得做得最好的项目

2、10万个数寻找前K大个数

3、怎样在函数运行之前打印字符串

4、嵌入式开发和PC 端开发的区别

5、你觉得嵌入式开发应该注意什么

拼多多:

一面:

1、50分钟项目
2、算法题
环路上有N个加油站,每个加油站有汽油gas[i],从每个加油站到下一个消耗cost[i],求到从哪儿个加油站出发。

二面:

1、进程通信的方法
2、管道和消息队列的区别
3、静态全局变量和动态全局变量的区别
4、多进程程序和多线程程序的区别
5、泛型编程时为什么把定义都写在头文件中
6、TCP的拥塞避免
7、select 和epoll的区别
8、客户端发送了两个请求,有一个是失效的,服务端应该怎么去识别
9、现有一台主机有200G数据,怎么最快的将它复制到50台其他主机上,每台主机的接受带宽都是100M
10、将C文件编译成可执行文件的过程。
11、在网页中点击某一个链接 ,描述一下之后的过程
12、循环展开为什么能加快程序运行
13、缺页中断以及段页式存储为什么要这样做
14、TCP传输过程中有几次数据拷贝
15、银行家算法
16、聚簇索引和组合索引的区别
17、DNS域名解析
网易互娱

一面:

1、撕代码:打印全排列

2、介绍项目

3、内存局部性概念

4、一致性哈希

5、页面置换算法

其他的想起来在补充吧。。。

二面:
撕题:内存拷贝
1、介绍一下虚拟内存
2、指针相减
3、怎么看游戏研发
4、能不能来广州
5、对网易游戏的认识;

字节跳动正式批(效率工程部门)

一面:

1、写一条查询语句(数据库)

2、项目(细节讨论了很久)

3、撕代码:最长不重复子串

二面:

1、介绍IP协议

2、那个指令用了ICMP协议

3、怎么样创建一个只能在栈上创建的类

4、怎样创建一个只能在堆上创建的类

5、介绍依稀allocator

6、介绍TCP协议中的11个状态

7、撕代码:跳格子,数组中每个元素表示的是能在当前位置跳的最远的距离,问从第一个位置出发,能否跳完数组

8、如果只知道一台主机的mac地址,怎么获得它的ip地址

9、怎么由一台主机的ip地址知道整个局域网的网络地址和主机地址,反过来呢?

10、介绍一下vector的底层原理

三面:

1、撕代码:第k大的数

2、进程和线程的区别

3、进程的通信方式

4、什么叫有血缘关系的进程

5、linux系统下按键ctrl+C后会发生什么

6、为什么选择杭州

7、对游戏研发有什么看法。

百度

一面:

1、进程和线程的区别

2、撕代码:两数之和

3、vector的内存管理

4、撕代码:单利模式

5、撕代码:字符串中去空格

6、指针和引用的区别

二面:

1、项目

2、撕代码:去除源码中的注释

3、数学题:平面上有2n个点,任意三个点不共线,问是否存在一条直线,可以平分这2n个点,并给出证明

没了,真的没了

三面:

1、介绍项目

2、Qt中信号与槽的底层原理

3、继续上题,假设你现在有一个信号,有多个窗口可能可以响应这个信号,这多个窗口应该用什么结构去存储,又怎么判断这些窗口是否应该对信号做出反应。

4、map和unordered_map的区别

5、介绍一下队列

6、介绍一下哈希表

7、撕代码:二分法。

8、你了解百度吗

8、你对北京怎么看

华为、浦发的面试内容不太记得了,但应该与上述问题类似。

总结一下,个人认为,虽然今年是互联网小年,但是找到工作其实也没那么难,最重要的是一定要理论基础扎实,题要能撕出来(虽然楼主也很菜。。。。);项目其实没那么重要,楼主的项目其实跟后台都没有什么关系,大部分面试问项目也都是问一下,走个流程,只有少数几个会深挖,但你可以对自己的项目做一下拓展,比如往多进程,多线程方面。另外,有一些竞赛经历也是有帮助的。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值