2019年秋招总结~ 陌陌,小米,快手,字节,美团……

为了明年(2020年)毕业后,不想毕业就是事业的状态。努力学习,一定会成功哒!目前拿了陌陌,小米它们的offer。超级超级感谢男票的陪伴与鼓励呦。嘿嘿嘿~~~

下面是面经分析~~~

字节:

一面:85min

  1. 自我介绍
  2. c和c++的区别
  3. c++是面向对象,你现在当我是个老奶奶,给我介绍下面向对象是啥。
  4. c++的三大特性
  5. 多态
  6. 写代码:能表示多态和封装的特性
  7. 工厂模式
  8. 进程和线程的区别
  9. 多线程编程和多进程编程有那些机制保证安全
  10. 场景题:用户买火车票,用什么机制。我说了用互斥锁,最后被面试官引导说出了用读写锁
  11. 写时拷贝技术
  12. 深拷贝和浅拷贝
  13. 编译连接过程
  14. 场景:4G的内存能否运行16G的程序
  15. 函数调用过程
  16. TCP的三次握手
  17. TCP的特点
  18. TCP什么机制保证正确性。我讲了拥塞控制
  19. enmm,.text和.data为什么有两个段,把数据和代码放在一起不行吗?
  20. 场景:现在一台电脑等好几个QQ有几个.text段
  21. 写代码:单列模式加锁的……
  22. 排序:将冒泡和快排以及它俩的时间复杂度
  23. 这些排序都适用于那些场景(快排、堆排)
  24. 写代码:判断是否是回文

面完之后,面试官就直接说一面过了,下午二面

二面:30min

  1. 讲下项目,讲了在学校做的也讲了实习做的
  2. malloc/free与new/delete的区别
  3. 堆栈的区别
  4. 数组和链表的区别
  5. 多态
  6. 智能指针
  7. TCP四次挥手、各个状态、close_wait与time_wait
  8. HTTPS
  9. 虚继承、多重继承、排布方式、虚指针
  10. 代码:求数组中最大子集和

三面:35min

  1. 自我介绍
  2. 讲项目
  3. c++与flutter自己理解它俩有什么区别。
  4. 场景题:鼠标点击页面如何得知点击的是此处的按钮而不是别的地方的按钮
  5. 场景题:view可以用什么数据结构进行表示
  6. 堆栈。。。函数能不能返回指针,(不能返回指针地址,只能返回指针本身数据)
  7. new一个对象什么时候销毁为什么,声明一个对象什么时候销毁为什么
  8. 为什么想来北京(because……)
  9. 什么想问我的
  10. hr会在2个工作日内回复消息

一面:60min

  1. 自我介绍
  2. 类和结构体的区别
  3. 多态
  4. delete和free
  5. 堆栈的东西
  6. 哈希,解决哈希冲突的方式,map
  7. flutter框架MVVM模式怎么理解这四个字母,bloc模式项目迭代时怎么使用
  8. 编译连接过程
  9. 设计模式(单列模式和工厂模式和观察者模式,使用场景)
  10. https
  11. 公钥和私钥、非对称加密
  12. 求二叉树的宽度(完全二叉树和普通二叉树)

 

bilibili:

Flutter native

自己回答说的页面跳转到另一个页面使用路由地址进行跳转。面试官问还有没有 其他的方法

Flutter内存管理

自己就说dart是个单线程的语言。实现多线程就可以运用异步编程的方式,异步编程的实现方式有两种一种是future另一种是await和async。同时根据队列的优先级我们可以规定事件触发优先级。

2019年秋招总结~ 陌陌,小米,快手,字节,美团……_第1张图片

多线程:abc三个线程,ab异步,c依赖于ab线程都完成才被调用,怎么设计。

设计锁,当a,b都执行完毕之后解锁,c只有锁是解开的状态才能被执行。监控a,b线程完成使用信号量和变量来监控

C++三大特性
封装
继承
多态

继承是子类继承父类,可以不用写重复的代码。但继承会打破封装性。

封装就是将某些东西包装起来,外界无法直接使用,必须通过某些特定的方法才能调用。

多态就是一个接口,多种形态。基类的方法被virtual关键字修饰,派生类继承基类进行方法重写。

重载和重写的区别。

重载:在同一个作用域下,函数名相同,返回值不同,参数列表不同。

重写:在不同作用域下,函数名相同,参数列表相同。

内存管理

静态存储区:就是全局的变量或者,static修饰的变量。它们初始化了的就放在.data区未初始化和初始化为0的放在.bss段

动态存储区:堆和栈。new或者malloc一个指针,指针的地址在堆上。函数在栈上。

引用和指针

引用是一个变量的别名,指针就是一个变量。

引用必须要初始化,指针没有特别的规定。

指针有多级指针,引用只有一级引用。

Const和define

define相当于是一个宏替换。

const是一个可以修饰变量,方法的关键字,也可以修饰对象。

20个数查找10个最大的
数组中去除重复的数字
数组中找到重复两次以上的数字
回文字符串

 

美团

52min

flutter中mvvm模式

mvc模式

mvvm模式和mvc模式的区别

http和https的区别

tcp和udp的链接和断开过程

流量控制和拥塞控制

代码:

删除链表倒数第n个结点

100万个数,找10个最小的

写sql

微信聊天两个人的聊天记录最新记录,建表

计算某市的出租车数量

最近看啥书

博客

有啥想问的……

 

快手:

一面:53min

自我介绍

Https

三次握手四次挥手。为啥四次

一个程序执行了10次,成功调用了7次,失败调用了3次。可能是什么情况。

进程调度,资源怎么被分配进程

代码:两个数组中怎么确定是否数组中的数据是相等了的

代码:广度递归的view的subview

编译链接过程

代码:链表逆置

进程和线程

二面:42min

iOS:

Flutter method channel

FlutterviewController

Dart

Statefulweight StatelessWeight

Dart const

Bloc

Flutter动态化

基础:

死锁

进程和线程

文件的被编译叫什么名字

快排

 

猎豹移动

Liunx开机过程

Liunx下同一个端口能否为多个进程提供服务

Linux下删除一个文件夹权限不足

孤儿进程和僵尸进程

进程间通讯

缺页中断

存储区域

数据库的隔离级别

SQL注入

 

有赞:

20min

讲项目文件传输。

Flutter做的东西

http中get和post的区别

访问www.google.cn的过程……

 

新东方在线:

讲#include<>和#include””的区别

#include<>直接从编译器自带的函数库中寻找文件

#include""是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件

#include 效率较高(编译器自带的函数库中寻找文件)

#include "iostream" 效率较低(从自定义的文件中找 ,如果找不到在从函数库中寻找文件)

调试程序用的啥

gdb,,,问有没有用过codedump没有……

缓冲区溢出

将栈溢出(上益和下益)和大量的内存泄漏会导致内存溢出

单列模式 为啥是static

不依赖对象调用,不能返回类类型

线程安全和不安全

讲了懒汉模式和饿汉模式的情况

自旋锁,那资源被释放,如何通知其他线程,使用什么变量

Singal和wait

容器,map和list,有啥缺点

http和https

tcp和udp的区别

设计安全的udp

应用层加可靠的机制,RUDP

拥塞控制

滑动窗口

 

小米:

1面 35min

2019年秋招总结~ 陌陌,小米,快手,字节,美团……_第2张图片

寄存器、内存、高速缓存、本地磁盘、远程磁盘的优先级

寄存器-> 缓存->内存->硬盘

http和https

根CA

进程和线程

TCP和UDP的区别

TCP的三次握手和四次挥手

滑动窗口

为什么有滑动窗口

哈啰实习干啥了

编译链接

二面 45min

哈啰实习内容

B+和B树

索引

给了两张表,写SQL语句

http讲了过程,结果他让说短连接和长链接以及keep alive

C++内存管理

虚函数

回溯算法

代码:

  1. N皇后问题
  2. 机器人走方格的路线,写好之后,有写加了障碍物的

 

陌陌:

一面:

HashMap线程安全吗?

Vector底层,HashMap底层

代码:

单列模式(线程安全和线程不安全)

链表快排

求两个链表的第一个节点

树的层次遍历

大数据处理:A、B两个大文件,查找相同的URL

AWK代码…

二面:

代码:将一棵完全二叉树,都变成只有左子树。不能用栈(包括系统的栈)以及队列

大数据处理:求16G数据的top1000

现在有两颗玻璃球,求那层楼玻璃球会碎的时间复杂度。答案是O(√n)

Hr面:

正常的一些问题

你可能感兴趣的:(面试)