面试刷题11-3


8.27 美团 二面

望京真的好大 头一次去都给我整懵了 有种刘姥姥进大观园的感觉。

二面

  1. 问项目问了好多
  2. 索引
  3. 分布式 集群中同步
  4. mysql中int(3)和int(11)
  5. redis了解什么
  6. JVM

Java 虚拟机

  1. 快速排序

三面

  1. 三面直接炸了 面试官是个高手 刚开始我还以为是个hr 先问的我未来规划
  2. 最短路径的算法 算法伪代码 什么时候用 为什么
  3. 冒泡排序什么时候比快排快???(我都惊呆了)
  4. 快排是不是稳定的 为什么 导致不稳定的具体原因
  5. java可不可以做嵌入式开发
  6. 什么情况下java做嵌入式开发比c和cpp还快
  7. Java的优势(面试官说c也可以做到全平台性 只要linux下编译好就行)
  8. Android是怎么优化使得手机不卡的
  9. ....



map的key如果是结构体需要注意什么问题
构造函数和析构函数什么时候调用
为什么要进行内存对齐,具体讲解,内存对齐又会带来什么问题
详细讲解堆和栈的区别,new和malloc的区别,malloc底层原理
详细讲解虚函数,虚函数表放在哪里,虚表指针什么时候初始化
详细讲解static成员变量和static成员函数


进程间通信的方式,共享内存的原理
自旋锁的原理,什么时候用自旋锁,什么时候用互斥锁

CAS 
详细讲解单例模式的实现
详细讲解select和epoll的底层实现,LT和ET模式的底层区别,ET模式下的读写注意事项
输入网址后的执行过程,详细讲解每一层
详细讲解HTTPS的原理,客户端为什么信任第三方证书
怎么实现DNS劫持
TCP和UDP的区别,TCP如何保证可靠性,UDP又有什么优势
如何控制客户端的并发数
详细讲解项目中用到的线程池,线程数应该设置为多大
MongoDB副本集实现高可用的原理,raft选举过程,投票规则,日志复制的过程,rocksdb引擎的优点,LSM树讲解



手撕代码:
* XML格式解析
* 有序数组找到第一个小于0的数和第一个大于0的数
* fork和循环结合后打印多少个字符
* 实现一个string类
* 矩阵左上角到右下角的最短路径和
* 实现一个智能指针
* 合并两个排序数组并去重
* 最长无重复子串
* 两个排序数组找中位数
* string转float


美团点评(一、二面,挂):

讲项目和实习
TCP三次握手、四次挥手,如何实现可靠性,拥塞控制,数据包发生乱序如何恢复

DNS解析的过程,DNS是基于TCP还是UDP
进程和线程的区别,进程调度算法,如何创建进程和线程,进程和线程的底层实现
MongoDB如何实现事务,事务的隔离级别
智能指针的思想,循环引用,unique_ptr的实现原理
介绍一下野指针
什么情况下会发生内存泄漏,怎么解决
HTTP长连接和短连接
用数组实现一个栈,并在O(1)时间复杂度内获取最小值,如果是队列该怎么做
实习遇到的难点

项目中的问题排查
------------------------
手撕代码:
* 最长连续子串
* 基于快排的思想实现TOP K



百度(一、二、三面,挂)

虚表存放在哪里,虚表指针什么时候初始化
TIME_WAIT状态持续时间为什么是2MSL,不是1MSL、3MSL
MongoDB高可用架构的原理
服务器运行很慢怎么排查
详细讲解简历里的一个专利的实现原理和创新点
36辆车,6个赛道,最少次数得到速度最快的3辆车
详细讲解科研课题方面的研究成果,难点和创新点
怎么知道服务端出现了死锁?死锁和死循环的区别,怎么区分

------------------------
手撕代码:
* 求A^B的后三位数
* 有一个日志系统,统计在某一段时间内某个IP出现的次数



腾讯(一、二、三面,offer):

 

项目的并发量有多少,做过压力测试吗,并发量有多少,性能瓶颈与什么有关
哪些地方用到了锁,为什么用锁,与锁有关的是哪些资源
三次握手和四次挥手的过程,交换了哪些信息,序列号为什么是随机初始化的
拥塞控制的流程,窗口大小为什么先以指数增加再以线性增加
进程和线程有什么区别,如何产生一个进程,子进程和父进程的内存空间是独立的吗,fork的原理,fork之后的子进程为什么会调用close
redis可以用来做什么,掉电数据如何恢复
tcp三次握手和四次挥手,time_wait状态是怎么回事,一定是出现在客户端吗,为什么是2msl,大量的这种状态会出现什么问题

数据库死锁的场景,怎么解决,操作系统的死锁,怎么解决
如何实现一个CDN系统
数据库的ACID四种属性的底层实现原理
如何实现一个缓存系统
海量词汇统计出现频率
计算各种情况下的sizeof
虚函数以及虚表的作用,具体分析
HTTP如何实现状态化,cookie被禁用了怎么办
TCP流量控制中发送端和接收端滑动窗口大小是怎么确定的
------------------------
手撕代码:
* 实现一个string类,尽可能地考虑到所有情况


电信云计算(一、二面,挂)

自我介绍
讲项目和实习
redis有哪些数据类型,分别有什么应用场景,怎么读取redis里的数据并推送到前端的
项目中有哪些难点,有没有遇到什么问题,讲讲你是怎么排查的
HTTP请求的数据包格式
C++内存泄漏和野指针怎么解决
Linux的基本命令,netstat、top、grep、sed、awk应用场景
讲解MongoDB基本概念和高可用架构原理,适合存储哪些类型的数据
对云计算的认识
为什么想来电信云
期望薪资是怎么考虑的,工作地点呢


小红书(一、二面,挂):

详细讲解项目并画出项目架构图
B+树的插入和删除操作
Linux如何为普通用户提供root权限
MongoDB的增删改查操作
epoll原理、TCP三次握手原理、TCP可靠性如何保证
输入URL后的执行过程,画出必要的流程图
口述两个并发的sql语句,并分析隔离级别和加锁机制
------------------------
手撕代码:
* 链表反转


滴滴出行(一面,挂):

实习遇到的难点
TCP两次握手有什么问题
100亿个数找TOP 10
缓存击穿和缓存雪崩怎么处理


旷视科技(一、二面,挂):

拷贝和赋值的区别,深拷贝与浅拷贝的区别
QT信号与槽实现机制
实现一个线程安全的栈,并且实现其单例模式,
MongoDB存储int和string有什么区别
------------------------
手撕代码:
* IP地址转无符号32位整数
* 链表的建立、插入和删除
* 反转链表
* 大数相加


58集团(一、二面,offer)

非阻塞connect怎么实现
accept与三次握手的联系
负载均衡怎么实现的
任务队列怎么实现的
定时器有什么用,怎么实现定时器
怎么处理高并发短连接造成的性能瓶颈
KNN是怎么实现的,特征有多少维,数据量有多大,时间复杂度是多少
wiredtiger引擎事务的实现原理
redis的有序集合是怎么实现的,跳表的增删改查复杂度是多少
------------------------
手撕代码:
* 字符串转int
* 二叉树转换为单链表


招银(一、二面,挂)

项目中问题的排查
动态语言和静态语言的区别
------------------------
手撕代码:
* 单例模式的实现
* memcpy的实现


追一科技(一、二面,挂)

Linux系统的启动过程
IP地址、子网掩码、默认网关、DNS的作用
如果你是老板,你会招什么样的员工
团队成员意见有分歧怎么处理
导师交给你一个任务,怎么去完成
画出项目架构图
MongoDB高可用架构的原理
添加一列索引,什么情况下索引并没有生效,如何改进


学而思(一面,挂)

面试体验非常非常差,和面试官直接怼起来了,不想多说了


猿辅导(一面,挂)

讲项目和实习
边缘触发和水平触发的区别,编码时有什么需要注意的
MongoDB副本集选主的过程是怎么样的
手撕代码:
* 两个数组,数组的元素都是区间,将两个数组合并


作业帮(一、二面,挂)

讲项目和实习
常规的面试问题(不再重复)
------------------------
手撕代码:
* 合并两个排序链表
* 分解因数(递归)


跟谁学(一、二面,offer)

虚析构函数的作用,内存泄漏问题
TCP每次走的链路是一样的吗
UDP如何实现可靠性,视频使用UDP传输有什么好处
动态链接库和静态链接库的区别,在链接的时候有什么不同
多线程的使用及其需要注意的问题
多线程中的“锁”用到哪些内核资源
面向对象的特性有哪些?说一下多态
说一下socket编程调用的函数
成绩排名、籍贯、高考分数、六级分数
说说自己的职业规划、优缺点、兴趣爱好、期望薪资
------------------------
手撕代码:
* 链表排序


盛趣游戏(一面,offer)

常规的面试问题(不再重复)
------------------------
手撕代码:
* 二分查找


深信服(一、二面,offer)

常规的面试问题(不再重复),项目和实习问得比较深


大华(一、二面,offer)

常规的面试问题(不再重复)


去哪儿网(一面,挂)

常规的面试问题(不再重复)
------------------------
手撕代码:
* 使用堆实现TOP K问题
* 二叉树的层次遍历


Shopee(一、二面,挂)

讲项目和实习
常规的面试问题(不再重复)
了解哪些缓存,redis用过吗,跳表原理讲一下,LRU又是怎么实现的
客户端的登录验证过程,如何保存密码
cookie和session的区别
HTTPS中为什么需要第三方证书,客户端为什么信任第三方证书
------------------------
手撕代码:
* 实现一个堆,包括插入和删除元素函数的实现
* 字符串按空格反转(I LOVE SHOPEE => I EVOL EEPOHS)
* 链表按空格反转(I->' '->L->O->V->E->' '->S->H->O->P->E->E => I->' 'E->V->O->L->' 'E->E->P->O->H->S)


BIGO(一、二面,挂)

讲项目和实习
常规的面试问题(不再重复)
进程切换时操作系统需要做哪些事
TCP流量控制发送端和接收端的窗口大小是怎么确定的
手撕代码:
* 二叉搜索树转双向链表


金山云(一、二、三面,offer)

常规的面试问题(不再重复)
线程间通信的方式有哪些
分布式数据库的数据一致性怎么保证
C10K问题和C100K问题
创建死循环有哪些方式
 

作者:纠纠翻身
链接:https://www.nowcoder.com/discuss/332884?type=2&order=0&pos=25&page=1
来源:牛客网
 

猿辅导服务端一面:

1. 自我介绍

2. 讲一个简历上的项目, 为什么用MongoDB而不是MySQL?

3. TCP三次握手过程?四次挥手过程?time_wait的作用?时间是多长?

4. HTTP请求报文都有什么?HTTP的请求方法有什么?PUT和POST有什么区别?

5. 进程线程的区别?

6. 怎么知道死锁了?死锁的必要条件?

7. 链表和数组有什么区别,插入删除的区别(因为我没说到这点)

8. B树和B+树有什么区别

7. 算法:二叉搜索树转有序双向链表,自己写一个用例跑跑我看看!

(这么简单的算法,面试时候看着他真的是大脑一片空白,一个字写不出来,提示一点写一点😂😂😂)

(话说用leetcode刷题只是实现算法,真的从大白板开始写,输入输出,构建个树,还真是蒙)

 

第一个面试,啥都没复习,所以都不会……

网易有道一面:

  1. C++ 的gc
  2. python装饰器
  3. get和post
  4. 两个算法:忘了

当时没总结,都忘了。

第二个面试,所以也啥都不会……

腾讯提前批一面:

1. 自我介绍

2. 算法:找到树里两节点的最近公共祖先节点(leetcode 236)

3. 算法:给一个array是新的排序方式,把另一个array里面的字符串按此排序

 

两个算法都是秒解,然而挂了,玄学,不知道为什么。

小米一面:

 

  1. 10万个数选前200大的数字
  2. KMP算法
  3. 数组元素整体循环移动
  4. 链表有环
  5. 计算机网络几层,都什么
  6. Http请求报文
  7. Http请求方法,GET和POST区别
  8. MySQL索引类型
  9. B+树为什么叶节点要连起来
  10. Varchar(32)和char(32)区别
  11. Java final
  12. 抽象类和接口
  13. Char大小,char = ‘中’存的下么

 

小米二面:

算错了时差错过了,还给了offer,也不知道为啥。

美团一面:

  1. 项目
  2. OS: 进程线程?线程占用资源么?都什么?临界资源?属于进程还是线程?用什么操作临界区?进程通信的方法?进程同步的方法?页面分页和分段?
  3. 网络:TCP和UDP全称?区别特点?用什么实现TCP可靠?UDP不可靠为什么还用?什么情况用UDP?什么协议用UDP?怎么流量控制?为什么滑动窗口可以?访问一个网站的过程?
  4. Java基础(因为我是Java新手,以前不用Java,所以考的Java比较简单):重写?重载?多态?写一个多态。
  5. 算法:动态消除相邻相同的数([0,1,2,3,3,2,1,0,4] -> [4])和Leetcode 124
  6. 闲聊国内互联网形势

美团二面:

  1. 项目(遇到的困难和引申思考比较多)
  2. (又由于我是Java新手)我们且国内大多数后台都是Java,你怎么学Java?都需要学什么?最近在看什么?
  3. Oracle和MySQL区别?
  4. 滑动窗口和拥塞窗口?有什么用?慢启动与拥塞避免的过程?
  5. 数据库隔离级别?MySQL默认隔离级别?处理不了什么问题?什么是幻读?
  6. 算法思考:服务器有很多IP访问,几个T,文件存不下了,现在让你挑出来访问次数最多的10个IP地址?(Divide and Conquer, Hash % n)
  7. 算法:打印一个菱形

美团三面:

 

  1. 出国感想
  2. 有研究方向么
  3. 喜欢看书么,看什么书
  4. 了解什么中间件么
  5. 国内互联网公司都用什么语言栈?为什么有的是Java,有的是Go
  6. 想到啥聊啥

 

和三面面试官三观不合吧,让我不遗憾的是,它是美团打车……

阿里优酷一面:

 

  1. 自我介绍
  2. 你常用的数据结构?排序算法?时间复杂度?稳定性?
  3. 如何验证XML合法性?
  4. 计算机网络分几层?都是什么?
  5. TCP在哪层?这层还有什么其他协议?TCP UDP区别?都应用在什么上?
  6. TCP可靠有连接,那他还需要心跳机制么?长连接、短连接区别?各自如何实现?
  7. TCP断开过程?必须要由客户端断开么?HTTP是谁来断开的?
  8. TCP断开,出现大量的CLOSE_WAIT怎么了?
  9. Cookie和Session的区别?Session是怎么验证是来自同一个浏览器的?如果不需要登录呢?
  10. 数据库隔离级别?分别解决了什么问题?MySQL默认什么级别?
  11. MySQL索引都有什么?为什么用B+树做索引?聚簇索引和普通索引什么区别?

 

感觉下来,阿里问的很细,确实有一些东西以前没仔细揣摩过。

图森未来一面:

 

  1. 算法:最大区间和
  2. 算法:最大不相邻两个子区间和

 

两个算法秒解,和腾讯一样,给我挂了,玄学,不知道为啥。

字节跳动后端一面:

 

  1. 自我介绍
  2. netty锁
  3. 访问网站的过程
  4. TCP连接和断开的过程?如果服务器和客户端一起断开怎么办?CLOSE_WAIT, TIME_WAIT作用?
  5. Cookie和Session的区别
  6. 数据库隔离级别
  7. InnoDB默认什么级别?如何处理幻读?Next-key Locking怎么实现的?什么是幻读?
  8. 为什么用B+树,搜索时间复杂度?
  9. 什么样的要添加索引?索引使用条件?
  10. Leetcode 33(此处对面试官已无力吐槽,这种都进了宇宙条,只能说他赶上了好时候)

 

 

问的太杂了,一个多月确实是复习不了那么全,平时的积累不在开发……唉,遗憾。最想拿的offer,没拿到。

字节跳动客户端一面:

  1. 自我介绍
  2. 算法:最大区间和
  3. 算法:最大不相邻两个子区间和
  4. C++ map和unordered_map区别
  5. C++ 析构函数为什么是虚函数?
  6. 你知道什么设计模式?
  7. Cpython GIL是什么,特性,有什么用
  8. Http长连接和短连接的区别,长连接靠什么设置
  9. 输入一个URL到渲染到页面的整个过程
  10. HTTPS如何保证安全?SSL整个过程?
  11. 数据库隔离级别?都能处理什么问题?什么是幻读?
  12. B+树索引和哈希索引的区别?哈希索引的“自适应性”可控么?
  13. linux fork()是什么?有什么特性?

 

 

字节跳动客户端二面:

  1. OSI七层
  2. TCP/UDP
  3. 应用层有什么协议

http

  1. 输入域名到渲染的全过程
  2. HTTP可以用UDP吗,HTTP都知道什么版本,不同是什么

1.0 和1.1

  1. HTTPS过程,怎么加密的,对称加密算法
  2. 进程线程,进程通信方式,管道种类
  3. 算法:topK

 

 

字节跳动客户端三面:

 

  1. 算法:删除list中的所有target
Iterator<Integer> iterator = list.iterator();  
while(iterator.hasNext()){  
    int i = iterator.next();  
    if(i == 1){  
        iterator.remove();  //正确
    }  
}

使用迭代器

  1. 项目,挑战,解决方式
  2. 算法:非递减数组,找到第一个target的位置,若无,返回-1
  3. 为什么不去算法岗?(面试官认为我一二三面的算法秒解,就让我去算法岗……然而并不喜欢算法岗,就算想去,看今年形势也进不去……)

 

华为2012中硬一面:

 

  1. 手撸笔试代码
  2. 字节流第一个不重复字符
  3. HTTP报文结构?HTTP请求方法?POST请求数据结构?

请求行,请求体,内容

  1. HTTPS连接过程

TCP连接

华为2012中硬二面:

 

  1. 面向对象一系列问题,多态,重载……
  2. 设计模式,双重校验锁原理,懒汉饿汉原理,抽象工厂原理,设计原则(开闭,单一)
  3. join
  4. 微服务?
  5. 平时看什么技术网站
  6. 算法:多项式合并

 

(总之,特别的应用)

 

华为业务主管面在下周,到时再更新。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值