freewheel
一面
- 自我介绍
- 介绍下对freewheel的认识
- 项目介绍,项目的流量大小,QPS,每天处理多少数据的流量
- sql题,1 查询表中1-5,2020-08-26 00:00:00的rate(汇率);2 根据rate表,找到每个汇率的持续时间。比如下图中1对5的汇率: 1|5|1.8344|2020-08-16 00:00:000(start_date)|2020-09-01 00:00:00(end_date)
这是一个汇率变化表
- 1 用英语总结下面这个图;2 现在用二叉树的形式,向某个video(或video group)插入一个广告,返回client B里面有哪些video被插入了广告;3 如果是N叉树,你怎么做呢
- shell命令:选出一个文件夹(文件夹可能嵌套文件夹)里面,所有文件内容包含"python"的文件
- 反问
二面
- 自我介绍
- 介绍项目
- 算法题:leetcode 翻转矩阵,写单测
- 算法题:找两个字符串的公共前缀,写单测
- 算法题:将数字转换成英文(1000101,转换成one million and one hundred and one)
- sql题:忘记了...
- 场景题:你是Insight部分(clickhouse之前的数据处理部分不用管),针对从clickhouse拿数据和查询数据,这里面有什么risk或者你想问的?
三面
- 自我介绍
- 介绍项目,介绍自己做了哪些功能,功能是干嘛的
- 设计题:现在有N个人,N个位置,把这N个人放到这N个位置上。需要满足:每个人在每个位置上的概率是一样的。怎么设计,伪代码怎么写
- 数据库有哪些连接
- sql:现在给你两个表,表A和表B,数据字段一样,数据可能有重复。让你找出只在表A不在表B中的数据。
- sql:日活,月活的sql怎么写
- 现在有1TB大小的文件,超过单机内存,你准备怎么处理。
- linux命令题:删除一个文件夹下(文件夹会包含文件夹)里所有以.class结尾的文件怎么写
- 大数据的处理流程是什么,对每步所需要的知识有什么了解
- 平时刷不刷leetcode周赛,成绩怎么样
- 反问
6. 查看进程用什么命令?知道进程id,怎么查找进程的可执行文件路径
5. linux了解吗,有在linux下的开发经验吗,vim用的怎么样
9. 做题:第一题是给定一个数组,求和的绝对值最小的两个元素的下标;第二题是leetcode上的有效括号数量那题,我忘了咋做了。面试官提示可以用回溯,楼主基本思路表达出来了,但是后面心态炸了,写的代码里有个大bug。
7. 多线程编程了解吗
8. 写下单例模式
9. 编程题:和为某个值的子路径数量
一面主要问基础知识和写题,算法题都很简单,比如二叉树最大深度,判断是否存在路径使二叉树路径和为定值,找到数组重复的数
基础知识问了tcp,udp,线程和进程,Linux下线程,线程切换,常用的Linux命令,数据库事务特性以及实现
二面写了两道题,第一道是写链表右移k个位置,第二题是判断两个字符串是否可以通过指定的操作得到(将一个字符串任意划分成一棵二叉树,左右子树为不相交的子串,操作为将左右子树交换)。这题我一直在想有没有什么规律之类。。。结果面试官看我没写出来然后提示我用暴力法😭😭
然后问到c11新特性,智能指针,智能指针是线程安全的吗?auto关键字。问到当web服务发生异常时,如何定位问题所在。
二面感觉没面好,有些地方没回答好,第二道题也没来得及写完。
三面主要就是聊项目,聊业务,聊人生。