春招也基本结束了,拿了点offer,因为一开始就没有准备找区块链方向岗位,所以准备的还是研发岗,简历写了一些分布式,所以分布式理论问的也蛮多。
感觉形势蛮严峻的,好多厂貌似都不开放暑期实习了。
个人比较遗憾的就是微软笔试时候浏览器没搞好,导致没法进oj,错过了笔试,后来场外ob发现参加了估计也爆0。。。。
因为面的比较少,大厂就面了BATD,所以手上的offer并不多:滴滴、腾讯、阿里还有一家创业公司。过程还算顺利,然后拿了offer也就没有再面其他家了,懒=_=。
应该是去阿里了,蚂蚁金服这个平台确实是难以拒绝的。
当然下面这些问题并不是全部,有些问题我记不得了,写了记得比较清楚的问题。
面试就一轮,面完了很快就发offer了,也是实习到现在的公司。一家清华系创业公司,做AI、区块链芯片的,公司同事都是挺优秀的,技术氛围很浓,在这里也是很舒服的,主要做共识算法研究和优化。
一面:
主要就聊了简历
1.简历项目,具体工作
2.SHA256全称,HASH算法原理
3.POW算法,你了解的其他共识算法
4.拜占庭容错
5.常见排序算法,快排的原理,复杂度分析
6.二叉树和多叉树性能对比
7.有什么问题
整个面试流程也是比较短的,很快就offer了,强烈建议日常实习去清华系创业公司,没有很多束缚,技术氛围也很好。
蚂蚁金服的过程还算比较曲折。内推开始之后接了一个数据技术部的内推,到二面的时候面试官非说我简历和他们部门不匹配,然后重新放回池子里,好在被大安全部门学校一个学长捞起来,面试也就很顺利的进行了下去。
笔试:
1.类似摊煎饼,小明有m个煎饼,每个煎饼需要摊a分钟,每次最多摊b个,请问在n分钟内最多可以摊好多少煎饼
2.记不得了,算法类似最短下降路径,用一个矩阵保存每个点的最小下降路长度
一面:
上来就手撕题目,m*n的矩阵,有c种颜料,每种颜料的个数为C[i],要求每个方格与周围的颜色互不相同,有几种方案。
我用的dfs,10分钟写完了,面试官提示动态规划,其实我第一反应也想到了dp,但是怕出意外,我就说保险点用dfs了,因为m和n都在10以内。
1.项目,论文
2.你认为java和go的区别,go的特性
3.简单讲讲go中协程goroutine
4.c++中的面向对象特性
5.虚函数、纯虚函数、虚函数指针
6.http几个状态码的意义
7.简单讲讲区块链共识算法
8.你觉得区块链未来前景如何
也基本是常规问题吧,可能我的简历写的是cpp和go,所以也没怎么问java。
二面:
1.线程之间通信方式
2.http和https,https增加了哪些东西
3.new/delete和malloc/free区别
4.c++多态性表现
5.面向对象特点
6.数据库ACID原理,分布式CAP理论
7.TCP和UDP区别,如何在应用层增加UDP安全性
8.你觉得你的优势是什么
也是比较常规的。
三面:
是内推我的学长面的,问了好多,感觉好多答得不太行。
1.如何提高https的连接效率
2.static关键字作用
3.了解联邦学习吗
4.c++里面多线程了解吗,pthread_create()的作用
5.写过makefile吗
6.多进程编程了解过吗
7.进程间通信
8.访问一个网站过程
9.TCP四次挥手,具体状态码
10.分布式CAP理论和BASE理论
11.你知道哪些分布一致性算法,paxos、raft、pbft
12.了解raft协议吗,简单讲讲
13.啥时候能来实习
交叉面:
其实三面过后都感觉凉凉,不过两三天之后收到了交叉面通知,面试官是钉钉的p10。
面试就一个问题,给他讲讲区块链到底是什么,还有数字货币价值这些问题,10分钟就结束了,毕竟p10大佬。
之后就很快hr面了,offer也很快发了。
总共4轮技术+1轮hr吧。
PS:入职后了解了面试顺序,整理一下:
04.09约面试 -> 04.12一面P7 -> 04.13二面P8 -> 04.14三面P9 -> 04.17交叉面P10 -> 04.20HR面 -> 04.24offer
整个面试offer效率非常高,从约面试到发放offer前后两个礼拜,据说是评级好的有交叉面。
腾讯是我的实验室师兄内推的,北京csig腾讯地图。
一面:
1.TCP三次握手和四次挥手
2.操作系统内存管理
3.死锁的必要条件,预防死锁的办法
4.你平时用的地图软件是什么,怎么评价
5.手撕题,单链表翻转
6.new/delete和malloc/free区别
7.虚函数和纯虚函数
8.c++const和static关键字
常规技术面试。
二面:
1.你平时用什么地图软件
2.你觉得你用的地图软件有什么优点和缺点
3.在大规模地图数据中,如何做到数据同步存储
4.你觉得区块链在地图中的应用场景有哪些
5.手撕题,给出当前日期,计算n天之后的日期
6.有什么问题
感觉开放性问答了。
三面:
三面是总监面,基本都是开放性问题,聊的蛮开心。
1.你数学建模美赛的题目,具体解决方案
2.你觉得数学模型在疫情中如何发挥作用
3.地图场景下,区块链如何应用
4.你对区块链技术的看法
5.对于意大利疫情和武汉疫情,数学模型的参数调整
6.有什么问题
然后就是hr面,电话通知offer,一个礼拜之后就正式offer了。
总共3轮技术+1轮hr。
boss找的,面试官说是做好看视频的,我都不知道百度还有这个部门,感觉挺边缘的,二面就没参加了。
一面:
1.手撕题,跳台阶
2.goroutine实现多线程寻找1到1000000内所有素数
3.go实现死锁
4.go内存泄漏、内存溢出
5.手撕题,stack实现queue
6.了解哪些机器学习算法
7.tcp三次握手四次挥手
整体是golang的问题比较多,感觉还行,二面面试官约了时间然后被我鸽了。。。
这个是日常实习offer,在boss直聘找的,感觉部门可能也是挺边缘的加上非暑期实习可能转正率很低,但是也面下来了,第一个大厂offer吧。
一面:
一面感觉答得不是很好,但是过几天也收到了二面邀约
1.区块链介绍,如何做到防篡改
2.区块链中的共识算法
3.CAP和BASE理论
4.线程之间通信
5.为什么是三次握手,两次握手会有什么问题
6.CPU调度算法
7.页面置换算法
二面:
二面真的是一直在手撕题
1.手撕题,翻转字符串
2.手撕题,翻转双向链表
3.手撕题,有序矩阵查找
4.手撕题,最长递增子串长度
5.你对国际化支付岗位的看法
6.goroutine的特性
忘了不少问题了,感觉就是一直在写题目讨论算法,有序矩阵那个我没写二分查找被diss了。。。
三面:
三面面试官感觉很好,面试过程也比较舒服,很多都是共同探讨那样子
1.区块链在支付中的应用
2.CAP理论,为什么CAP不能满足全部
3.举例说说CAP三种情况的应用场景
4.CAP和BASE的比较
5.讲一个你最熟悉的去中心化共识算法
6.场景设计,设计一个支付软件,考虑哪些功能
7.讲讲paxos和raft
8.简历项目和论文
四面:
其实我当时还不知道有四面,三面结束几天后收到一个面试邀约短信,开始了四面
1.讲讲项目和论文
2.设计一个安全序列,类似PV操作那种,支持大规模服务,高并发,安全容错等
3.手撕题,stack实现queue
4.概率题,52张牌抽2张同一花色的概率
5.设计一个打车软件,需要考虑各种问题
6.如何在未知数据情况下,估计各个短视频app的日活用户
7.区块链在支付方面的应用
8.有什么问的
其实感觉四面还是很多开放性问题的,特别是估算用户那题,讨论了很久,统计各个短视频app下载量啊再统计活跃用户量啊以及他们的播放量啊blabla的然后给出一个简单计算公式 ,聊得也很舒服。
滴滴整个感觉面试过程是比较好的,但是比较拖沓(前后四轮面了接近一个月)。其实感觉要是暑期实习可能就接了,虽然各个公司的国际化部门听说都挺坑。
其实我没有碰到那种手撕红黑树啊JVM那种,基本都是蛮常规的问题吧,可能硕士期间做的区块链方向也比较小众吧,感觉不少面试官都不是很了解,所以这也是我担心的问题,区块链目前发展太狭窄了,坑位少,技术不成熟,而且中央数字货币出来之后肯定对于韭菜币是一轮打压,确实还是要找主流的方向,不管是个人成长还是未来发展。