现在是5月11号,刚从北京到家,总算也可以歇歇了,最近一段时间真是忙于奔命的感觉,也确实体会到了找工作的艰辛,总而言之,求职之路,如人饮水,冷暖自知。
我想把这段时间找工作的体验和经历分享出来告诉大家,让大避免以后少走弯路,也希望大家可以从我的面经中汲取一些经验教训,毕竟这也是我一步步走的坑了,这期间我面试了几乎中国互联网大多数公司,我面试的岗位主要是研发岗相关(涉及后台服务端研发,大数据研发,基础平台研发,测试开发),所以如果是研发岗的小伙伴应该可以得到一些经验教训吧。
在这过程中,我一共拿到了7个offer,分别是腾讯(游戏部门测试开发),华为(中央软件院大数据研发),美团(金融部门后台研发),助理来也(基础平台后台研发和推荐),蘑菇街(基础平台大数据研发),新浪微博(Feed流支撑平台后台研发),网易游戏(游戏计费数据研发)。在我面试过的所有公司中,按照难度划分一下,我只针对我来说,大概排序如下:今日头条>美团点评>=阿里巴巴>美丽联合(蘑菇街)=助理来也>=腾讯=新浪微博>网易游戏>京东>华为
可能跟部门有关吧,反正这是我的大概感受,每个公司的风格真心不一样,所以一定要有针对性地研究面试,否则很容易吃亏,比如头条就特别看重算法,相反阿里特别看重的是基础和架构,可能跟公司的文化挂钩吧,我觉得有必要大家可以在看准网,牛客网看看这些公司的面经,大有裨益。在这个过程中,我们几个人也会整天交流一些面试经验,确实收获很多,找几个一起面试的小伙伴,我觉得大家当面分享经验,是很容易提高的一个过程,大家不妨可以试试。好了,废话不多说,直接说面经吧。
1. 阿里巴巴篇
未拿到offer。阿里经历了两次,第一次是阿里云数据研发岗,四面挂了,后来阿里文娱服务端开发岗把我捞起来了,打电话简单聊过,本来今天笔试,没参加放弃了,因为也算确定其他公司了。
哈哈,阿里是我面试的第一个公司,远程电话面试,当时是三月份中旬,啥也没准备,大言不惭让阿里试水,事实证明千万别盲目自信,面试不是儿戏,不要毫无准备就上战场,这样输的概率很大。阿里云一面面试官是个非常温柔的大姐姐,但是能感觉出来,技术非常厉害,时间一个多小时,问了我好多基础知识,感觉一面主要是基础为主吧,涉及数据库(非常多),操作系统,数据结构和算法,我感觉一面就是把所所有知识全都过一遍,毕竟是大公司,比较看重这些,所以还是要把这些基础过一遍的,我当时看的微信公众号内推军的一本面试书,事实证明上面的知识点整理的不错,因为阿里用的全是Java语言,所以JVM原理这块,要好好看一下,这块我感觉我被问的次数奇多,包括垃圾如何回收,新生代、老年代、永久代的回收过程等等,类加载的过程。还有因为我面的是数据研发,还问到了不少Hadoop相关的知识,比如Yarn的原理,HDFS的原理,MapReduce的原理,总之,阿里面试问的比较深,涉及的东西很多,能感觉出来这是一个技术导向的公司,技术积累很雄厚。二面就是写代码,打开链接,远程coding,一个小时,题目不难,二叉树的中序遍历非递归,单链表逆序(空间复杂度O(1)),冒泡排序,事实证明阿里算法还是不卡人的,哈哈~三面是个主管,问的也不难,半个小时吧,随便问了一些知识点,主要问的python多线程和消息队列这块,四面面试了一个小时,死在了读写锁的实现,我发现这道题出现频率极高,报阿里的可以看看,我之前博客也有总结过,读写锁实现。总之,四面之后我感觉没有答好,前几面给自己打85分,最后一次60分吧,当时没啥经验,也没有笔画一画,事实证明现场面试效果比远程要好。当时面试失败很郁闷,后来一个月后阿里文娱把我捞起来了,说了重新面试,但是要统一笔试,我也没参加,还是觉得阿里面试太墨迹了,一般五面起吧,下面是所有的面试题。
说一下进程和线程的区别?协程呢?
进程之间如何通信?说几种方法并且举一个例子
说一下内存管理机制
线程同步的方式
什么是死锁,死锁产生条件以及预防办法
磁盘如何存储
数据库如何应对大规模写入和读取
什么是读写分离,如何实现负载均衡,nginx是咋实现的(除了哈希),什么是垂直扩展和水平扩展
加索引会不会降低读的并发
数据库引擎,内部实现原理
NoSQL了解不,说说redis
订阅发布机制是什么原理
两个大表join
说说常用数据结构?hashmap的原理
说一下快速排序
大数据会不会?说说hadoop
Namenode是如何和datanode进行数据交换的
数据是如何存储到datanode上面的,存到哪里了
一个datanode坏了,数据如何恢复
每一个datanode上面有几个副本,可以更改吗
说说mapreduce和shuffe
知道流处理框架不?spark知道不,flink知道不,卡夫卡知道不
说说大数据项目
说说其他你感兴趣的项目
前端怎么样,你了解的框架
机器学习常见算法?随机森林,python语言怎么样
实习多长时间?谁内推的
在线编程:
非递归实现二叉树中序遍历
冒泡排序
单链表反转
二面:
英语自我介绍
python多线程是咋回事
消息队列有哪几种,比较一下
流处理框架比较一下
三面:
项目
头重脚轻,redis如何进行优化的,怎么处理的
lvs和nginx的区别
网站能承受的具体的负载以及吞吐量
读写锁
2. 今日头条篇
未拿到offer。吸取了第一次的教训,我决心好好复习,因为头条一直以来也是我最想去的公司,所以也算做了充足的准备,不过还是感觉时间有点赶。和於杰等人研究了很多今日头条的面经,以及刷了不少LeetCode,因为我知道头条是很注重算法的,两个礼拜我总结了二叉树、链表、矩阵、动态规划、排序等各个方面的算法题,以前博客中总结过,还有从其他同学口中得到一些经验,包括魏印福等人,头条比较爱问Redis相关的知识,比如如何持久化,所以也顺便把Redis相关知识也进行了复习。总之,复习了两个多礼拜吧,还有因为比较重视的原因,怕远程视频面试效果不好,还特意去了一趟现场面试。去到中航头条总部面的抖音部门,去到一个很狭小的面试房间,本来预约的下午三点,一点就过去了,就提前面试了,还是没啥经验,表现地有点紧张,手都不知道怎么放。一面是个和我差不多大的男生,还是简单自我介绍,然后就开始一连串的提问,我怀疑是对着电脑问的,肯定有个题库,涉及操作系统,数据库(乐观锁如何实现,Redis持久化),网络,分布式等等,当然肯定会问算法了,我觉得头条一不知道问什么了就会做两道算法,这次问的我不是特别难,是动态规划类的题目,求最长递增子序列,之前接触过,我总结过动态规划类算法,在纸上写的代码,开始还是写的有点小问题,被及时纠正,幸好改对。
自我介绍 数据库乐观锁悲观锁,以及乐观锁如何实现,索引 数据库引擎,为什么要用B+树,B+树和B树的区别 Redis持久化,单进程单线程epoll Http post和get Session,cookie,sessionid存储 并发和并行 多线程原子性,可见性和有序性 算法最长递增子序列的个数,最长公共子串 Tcp连接原理 多路IO复用,epoll 单核需要处理多线程吗
哈希一致性
数据库缓存重建
一面差不多一个多小时,我给自己打分90分吧,一面面试官不苟言笑,面完就说稍等,我去叫二面面试官。等了大概10分钟,二面面试官来了,明显岁数大一些,问我一些基本情况,为什么愿意来抖音,实习完愿不愿意转正等等,聊了得有20分钟才正式开始面试,先自我介绍,然后问我项目,问了好多,我的简历项目写的比较多,所以挨着问,再强调一遍,自己写的项目一定要自己弄懂,所有技术都是!问了Top K相关的算法,就是10亿数找最大的100个那种,这种题目出现的频率特别特别大,我觉得我遇到过至少4次,不知道的可以看我总结的Top K专题。还有就是异步同步啊,GC算法啊等等,当然也会有算法,事实证明都是剑指offer出现的,再三强调,这本书一定要看完。比如矩阵从左到右递增,从上到下递增,找某个数,还有就是给出每天的单价,进货一次卖货一次如何收益最大,要是多次呢?时间复杂度是O(n),还有自己实现LRU算法(LeetCode原题),最后出了一个场景题,如何自己实现微信扫码登录,感觉说的磕磕绊绊,二面大概一个小时,完了让我回去等通知,我感觉挂了,给自己打分70分吧,后来果不其然,唉~以后要好好准备,而且现场即便不会也不能怂,把自己想的过程应该说出来,让面试官知道你一直在想,这样通过的概率很大!
比较python和java
微信扫码登录原理设计
Python多线程
项目说了好多
异步和同步
如何解决高并发
GC
单链表归并
单链表奇数位递增,偶数位递减进行排序
一个矩阵从左到右增从上到下增查找某个数,时间复杂度o(n)
top k问题堆排序
最长递增子序列
01背包
最长公共子串
二叉树序列化和反序列化
二叉树知道前序遍历和中序遍历构造还原
LRU算法实现不许用现成的数据结构
一个货物八天的价格给出问哪天买哪天卖收益最大,时间复杂度o(n),要是可以买卖多次呢?
3. 腾讯篇
拿到offer。前两次失利,让我有点怀疑自己,我真的这么差?这时候我的决心有点动摇,还要不要面下去?事实证明,当你怀疑你自己能力的时候,千万不要放弃,就是逼自己也要走下去,成功就在下一步!那个礼拜,我基本是海投的,我觉得我必须拿到一个offer,算是给自己的一个交代吧,还有我觉得我应该没有那么差吧。结果下个礼拜,我的天,每天都是面试(包括之前做过笔试的),赶在了同一周,从周一到周五,上午到下午全都是面试,真的是两点面完这家,四点又面另一家那种,好在撑过来了。
腾讯是长沙现场面试的,还是去霸面的,我笔试做的很好,不知道为啥没收到面试通知。在长沙一个五星级酒店,可能简历比较好,上来就拿到了面试机会,一面面试官人很和蔼,和我聊了很多,持续了大概30分钟,不得不说,腾讯面试官人特别和蔼,也循循善诱,即便不会也会慢慢引导。这里有个小插曲,在去一面面试官房间的路上,我收到了浙江杭州的电话,是蘑菇街,他问我有空没,我脑子一懵,说有,有。。。好吧,就开始面了,突然感觉好对不起腾讯面试官,让他等了好久,好了,蘑菇街一会再说。进去之后,他说他是IEG部门(腾讯游戏)的,喂,我投的明明是OMG部门(腾讯视频)啊,好吧,面试官问我说你投的是后台开发,一般用什么语言,我回答Java和Python,他说他们部门主要是PHP,Python用的比较少,问我愿意转PHP吗,其实去之前我也没想着能过,这次比头条那次自信好多,脑子一抽就说不想搞PHP,以前用过PHP,对这门语言嗤之以鼻。。。然后面试官说没关系,就说我们还缺少测试开发,问我愿意吗,我问测试岗?他说不是,是类似于白盒测试,给测试人员开发测试工具,也是开发岗,想了想还行,就面了。还是常规的自我介绍,各种问项目,问动态资源分配,问消息队列等等,有一道场景题,问我平时玩什么游戏,我想肯定不能说网易的游戏啊,哈哈,就说绝地求生,他说,那好,你设计一下该游戏的后台架构,可以支撑住100人同时在线保证不卡,这次吸取头条那次教训,我就边想边说,长连接,消息队列排队,压测,静态资源分配(不能用动态的,因为会卡),带宽流量等等,扯了好多。好在面试官最后反馈不错,给自己打分90吧。二面是过了两天去的,上午9点,面试官是个大boss,一直问我实验室课题项目,问的很深,还有就是压力测试,负载均衡啥的,整体难度不大,给自己打分85,最后大boss还亲自送我下楼,问我学校离这远不远,感觉人真的好赞!三面就是HR小姐姐了,无外乎就是优点缺点,爱好啥的,还有问我如何看待抖音抢占了腾讯社交流量,那我肯定说腾讯有钱有技术有用户,不会的,腾讯也应该多思考一下新的社交流量方式。然后就这么稀里糊涂通过了,直到给了offer, 总之这次难度并不大,感觉腾讯今年扩招了,思考再三,最后没选择腾讯,不过腾讯HR小姐姐还给我打电话了,说把我放在了优先资源池,到时候会提前秋招内推,额,到时候再说吧。
吃鸡游戏压力测试,游戏开发负载均衡
聊项目,聊了好几个
网络问了好多,还有操作系统
消息队列,docker
静态资源分配和动态资源分配
多人游戏如何保证游戏不卡
4. 华为篇
拿到offer。华为笔试其实蛮难的,不过好在我三道算法题全都AC了,也收到了面试通知,在中南大学现场面试。我其实就想拿华为保底,也没想太多,因为听说华为比较看学校,所以就投的比较好的部门2012中央软件院。去的现场,好多人啊,比腾讯那时候多好多,我才知道为什么新闻报道说大学生就业难,唉,大家都不容易。其实面试华为我很随意了,一点也不紧张,看到周围的人都在抱怨问的我啥也不会,我也没感觉,一面是一个比较严肃的面试官,问的东西很多,但是问的不深,只要你说点就不问了,说实话,有点水,他问了我15分钟左右,设计模式,数据库,网络,操作系统,算法都有涉及,我全答出来了,毕竟之前看了好多,然后他就说没问题,等着二面吧,额,这次给自己打分98分吧。等了一会叫我二面,进去面试官在写文档,让我等一会,等了大概10分钟,我做好了写算法的准备,额,竟然和我聊人生,问我为啥去国防科大读研,问我怎么看待华为和BAT,问我愿意去深圳发展吗等等,整得我一脸懵逼,华为果然看学校啊,但是面试官人很好,聊得很愉快,华为就这么过了。不过听说华为去了随机分岗,最后我也没有确认offer,不过华为面试官人很好,承诺去了之后可以干我想干的,还说转正sp一般至少20k,也确实蛮心动的当时。
TCP三次握手,四次挥手
Hashmap原理
Java Clone复制对象
Volitile关键字
线程池
Hadoop,Storm,kafka原理
前端Ajax跨域
单例模式(双重锁)
5. 美团点评篇
拿到offer。说实话,美团是我除了头条面的最难的公司了,这个公司Java技术栈问的特别深,而且各种技术问的特别详细,场景题也是我最想搞的那种。我感觉里面牛人很多,技术氛围应该不会差,去了应该能学习很多,而且在北京,所以暂定的去美团。美团笔试我答的还不错,笔试题题量很大,还有好多找规律的题,编程两道,难度中等吧,最后面试官给我说过,我笔试成绩很高,哈哈~面试都是电话面试,一面问的不多,估计是大概了解一下,问了一下我的相关技术和项目,其实主要说了说项目,感觉答得还可以,大概持续了30分钟,给自己打分90吧。然后过了两天二面和三面,这两个基本合在一起面的,一共面了两个小时,二面问了特别多的基础题,自己设计实现线程池,JVM内存模型怎么存储,具体怎么回收,反正就一直问,问到你不会为止,ThreadLocal,静态代理和动态代理怎么实现,进程通信,线程同步啥的,网络time wait的原因,数据库引擎,B+树的细节等等,反正就是各种知识点问的都比较难,而且一直深问,自己答得还行吧,面试官人也不错,会提示,给自己打85分。接下来马上三面,换了一个面试官,问我Java内存模型,乐观锁如何实现,Lock和synchronized区别,CAS原理等等,还有Spring框架问了好多,什么Spring的原理,Ioc和AOP,事务,多个bean的关系,SpringMVC的流程,看我写的熟悉大数据,问我Hadoop mapreduce原理,消息队列kafka,分布式事务等等,也是问的比较深,甚至有点钻牛角尖,让我感觉工作这些全能用上?三面给自己打分85吧。四面过了几天,是个大boss,上来先问的项目,然后就是场景题比较多吧,让我实现小米的抢购怎么做,我开始说的是针对读压力大的情况,设置读库,他说你觉得这是读场景吗?感觉好严肃,之后说了MQ,说了分表水平扩展和垂直扩展,又问我究竟如何扩展,我说了水平按照时间,又问我那要是查询某个用户所有订单如何?又说了按照用户哈希,又问我如何按照查询当天所有订单,问了我哈希一致性算法,问了分布式缓存,问了MySQL5.6和5.7的区别,问了tomcat如何处理http,让我比较redis和memcached,问我servlet和filter是否可在一个线程等等,感觉这个面试官说话不太清晰,听不太清,给他说了,还是那样,然后确实答得不理想,给自己打75分吧,以为自己凉凉了~没想到第二天系统状态变了,然后接下来hr联系我,大概面了一下,就这么过了,可以说美团笔试题不简单,面试问的难度很深,不像别的公司说出来这个就够了,他会往深挖,就比如你说出hashmap扩容因子是0.75,他还会问你为啥是0.75那种,真心建议投美团的好好准备基础知识,总之这次面试还是学到很多。
项目和大概会的一些技术 JVM内存模型,垃圾回收,问的很深,伊甸区复制到存活区究竟应该放到哪个地方,新建对象存在哪里 多线程线程池如何自己实现,栈内存多线程 动态代理和静态代理,正向代理和反向代理 Spring原理,bean的关系,事务 Hadoop的mapreduce原理 进程线程,通信方式,同步方式 Cookie和session,http状态码 Tcp四次挥手,time wait原因,2MSL 数据库引擎,联合索引,聚簇索引,非聚簇索引,这一块问的挺深,B+树和B树比较,红黑树,涉及到很多存储细节,让我回去再好好看看 Java内存模型,原子性,可见性,有序性 乐观锁的实现方式 Lock和synchronized区别,CAS原理 小米抢购如何设计 分表之后如何查 水平分区,按照什么标准 Mysql 5.6和5.7不同之处 Tomcat如何处理http servlet和filter是否可以在一个线程 Redis和Memcached区别
数据库事务隔离级别
6. 蘑菇街篇
拿到offer。美丽联合(蘑菇街)是苏君君帮我内推的,因为他在那边实习,想让我过去,当时手上没有offer,就答应了。我以为这个公司不是太难,没想到比我想象中要难,说明这个公司很有技术积累,拿到offer确实也着实费了一番心力。之前说了,一面是在腾讯一面前面试的,远程电话面试,我有点着急,感觉没说好。一面面试官人不错,因为我投的大数据研发,问我大数据的东西很多,介绍资源管理调度Yarn,介绍HDFS,介绍MapReduce,介绍Storm的Topology,介绍HBase和Hive,讲讲Hive的分区和分桶,hadoop数据倾斜怎么办,问我大数据项目,遇到的困难以及如何解决(这个问题出现频率很高,一般都会问你遇到过什么问题,都是怎么解决的),小文件太多怎么办,maptask和reducetask的数量怎么控制,resourcemanager,nodemanager,applicationmanager和MRAppMaster等等,反正我这块还比较熟,一边想着腾讯面试官会不会生气,一边希望他赶紧结束,哈哈,答得比较磕磕绊绊,打80分吧。二面是在腾讯hr面试之后面的,间隔20分钟,感觉蘑菇街和腾讯真有缘,二面也问了一些大数据的东西,还有一些机器学习打标签的方式,然后问我Java怎么样,我说还不错,就问我Lock和synchronized,问我读写锁如何实现,我阿里这道题死过,我早就把源码看过了,一顿猛说,也问了Top K和JVM内存模型,以及hashmap,hashtable,concurrenthashmap的区别等等,这次答得比较好,都是准备过的感觉,面试官人也不错,对我评价比较高,这次给自己打分95吧。三面是大boss,人特别随和,问我对什么熟就说什么,我就想装逼解释了一下为啥hashmap开始是16个,2的N次方,还有泊松分布啥的,结果被人家问住了,人家就问我为啥全是1降低哈希冲突,然后一脸懵逼解释不通,事实证明,这几次面试越来越装逼了,还是要不得的,哈哈~也没问啥,还问了Storm流数据处理的一些细节,给我解释了一下他们部门的5个方向,让我去了选,感觉面试官人特别好,有些方向我也确实很心动,给自己打分90吧,可是因为在杭州,最后心痛拒了。四面是HR小姐姐,人也很好,问的也比较简单,就是你的缺点优点,未来规划啥的,问完就发offer了,最后没去觉得也特别对不起苏君君。
Yarn机制,问的特别细,resourcemanager,nodemanager,applicationmanager,1.0和2.0hadoop对比 说大数据项目,机器学习打标签的方式,tf-idf top k算法 读写锁原理 lock和synchronized JVM内存模型 hashmap,hashtable,concurrenthashmap 三面一直谈论我对哪块熟悉,然后说了下storm,谈了一些业务
7. 助理来也篇
拿到offer。这是一个特别好的公司,面试官很好,HR也很好,我还有同学董梦囡在里面帮我内推,最后没去这个特别愧疚,尤其是最后还问我情况,真的很纠结。一个非常棒的创业公司,搞的AI相关的业务,也会涉及paas层的基础平台,整体面试难度偏难,可以看出很不容易进,对技术要求很高。面试是远程电话面试,一面是两个面试官同时面试,上来就问我微软Bot那个项目,可能是因为公司也是做智能问答的吧,问了我好多NLP的相关知识,问我LUIS,问后台对话如何匹配,问如何利用Azure云服务,看我项目中用到了Lucene,问我Lucene原理,Solr原理,搜索引擎原理等等,问我擅长什么语言,我说Java和Python,他们公司用golang比较多,我觉得学go我就很愿意,让我学PHP我就特别反感,哈哈,就是这么耿直。他们说看重我全栈开发能力,整体评价还不错,我感觉这次面试也很不错,给自己打90吧。二面是一个大boss,人也特别好,你不会就慢慢引导你,给我出了两个场景题,一个就是在10亿url中找出出现频率最高的1000个,一个是抢红包随机算法,必须保证公平性。第一个没啥问题,已经总结过了,第二个开始我说的是先取平均值,然后可以设置上限和下限,其实可以采用在绳子上随机选9个点的类似解法。还问我列式存储和行式存储的区别,分别几次IO,HDFS存储原理,Redis的内部原理等等,相关知识在我往期博客应该都可以找到,最后我们聊了公司的业务,感觉还不错,可能岗位那里让我做部分运维,还有推荐,我觉得有点杂了,不过面试官口头给我offer了,给自己打分80吧。创业公司比较累,是大小周,给的待遇很高,但是要求实习时间也比较长,跟导师商量之后,还是忍痛拒了,反正觉得这公司给我的印象非常好!
介绍大数据项目
说说搜索引擎原理,lucene特性
说说u3d项目,介绍NLP的一些特性
后台对话怎么用来匹配,如何运用Azure云服务
抢红包随机算法
top k问题url
列式存储和行式存储比较
HDFS的存储原理
Redis内部原理
8. 新浪微博篇
拿到offer。这个也好心痛啊!面试官特别好,最后我说了不去,还对我没去表示遗憾,并尊重我的选择,对我的评价也很高。话说微博这个岗位我真的很喜欢,feed微博信息流增长,又在北京,但是新浪待遇确实有点低,感觉实习补助特别少,我要是北京上学还好,外地真心不容易,否则我真去新浪了。唉,心痛~新浪采取的是远程视频面试,一共两面,一面是一个挺年轻的面试官,让我大概讲了一下项目,没有深问,接下来就是一个算法题,123.45.ab.cde变成cde-ab-45-123,正则表达式匹配,开始正则直接按照.切分的,肯定不行,提醒我了一下,加了个转义符就行了,之后问了个SQL语句,某一时间段各部门按照人数进行排序取前十个,也不难,最后大概问了一下微博高并发应对措施就结束了,给自己打分85吧。二面也是个很年轻的面试官,人特别好,上来先给我介绍部门的工作做什么,问我想了解什么,把我的疑惑都解释完就开始面试了。高流量这块,哈希一致性,多线程都有问到,还有网络知识,中间项目中的知识都有涉及,最后一道算法题,IP地址(v4)用字符串存储特别占用存储空间,现在用int存储,之后还能反序列化出IP,刚开始想了一会儿,问可不可以用long,回答不可以,后来说了思路,按照十进制拼到一块,面试官说你这有存储浪费啊,突然意识到用二进制存就行,正好32位,好吧,我把算法大概写一下吧,开始我写麻烦了,直接移位就行:
public class Test3 { public static void main(String[] args) { String ip = "255.255.255.255"; String[] strings = ip.split("\\."); int int0 = Integer.parseInt(strings[0]); int int1 = Integer.parseInt(strings[1]); int int2 = Integer.parseInt(strings[2]); int int3 = Integer.parseInt(strings[3]); System.out.println((int0 & 0xFF) << 24 | (int1 & 0xFF) << 16 | (int2 & 0xFF) << 8 | (int3 & 0xFF)); } }
面试官会好好引导你,所以不用担心,感觉这次体验真的蛮不错的,给自己打分85吧,最后成功拿到offer。就是因为待遇这块放弃的微博,我觉得没去新浪真心是个遗憾!
项目 算法,123.45.ab.cde变成cde-ab-45-123,正则表达式匹配 SQL语句,某一时间段各部门按照人数进行排序取前十个 微博高并发应对措施 做题,ip地址用int序列化和反序列化 高流量应对措施 Hash一致性 多线程这块 聊了好久项目 谈微博的业务
数据库事务隔离级别
9. 网易游戏篇
拿到offer。说实话,我不太想去游戏部门,网易我最想去有道,可是投了一直没反应,游戏开始也是,过了一个月才打电话面试,估计没招满,今年网易游戏招了好多人,我压根也没想去,就是用来练练手吧,地点在广州,注定了我不会去。网易游戏面试不是很难,就面了一面,远程电话面试,所有面试中最短的一个了,面试官人不错,当时是两个面试官同时问的,问的也比较基础,比如面向对象怎么理解,抽象类和接口这种,让我说了常用的linux指令,https的整个流程,mysql和hbase的对比,nginx的一些参数设置,Java基础,集合类,List和Hashmap,还有concurrenthashmap对比,多线程,问我所了解的大数据的整个流程,最后有一道场景题,爬虫把多个电商的数据爬取,如何存放,如何找到同一商品最便宜的网址,整体答得感觉不怎么样,当时刚睡醒没啥状态,给自己打80分吧。
自我介绍
项目介绍,深问技术
常用的linux指令
https的流程
你所了解的大数据的整个流程
场景题,爬虫把多个电商的数据爬取,如何存放,如何找到同一商品最便宜的网址
mysql和hbase对比
Redis应用场景
Nginx的一些参数
Java基础,集合类,List和Hashmap,还有concurrenthashmap对比,多线程
抽象类和接口
SSM框架简单问了一下
如何排查网络故障
说说你对面向对象的理解
你最精通的技术栈
10. 京东篇
一面之后自己拒了。京东商城,后台开发,一面电话远程面试,简单问的比较基础的知识,比如get和post的区别,数据库事务的隔离级别,set和list,单例模式,构造方法私有化,hashmap和concurrenthashmap,TCP和UDP,final,finally和finalize的区别等等,反正很基础的东西,大概问了一下之后,问我之后能去北京面试吗,我说我在长沙,不是很方便,他说必须去北京现场面试,额,好傲娇啊,然后给我说以后来了北京可以联系他面试,然后我就没联系过,到了北京也没联系,说实话已经拿到感兴趣的offer了,别的没有太大的动力了。
写在后面的话
微软给我面试机会了,我当时不方便没面,后来打过两次电话,对方比较忙,那几天正好是我面试最多的几天,我也挺忙,就没联系了,最近想在北京现场面试,因为已经确认其他offer了(有时限),所以就没面试,想着秋招试试吧,而且微软研发偏.Net技术栈,反正不管如何,微软和头条一样,偏算法,所以只要好好刷算法,应该问题不大。外企其实很爽,不用加班,工资也高,像FreeWheel,Hulu,秋招都可以试试。
百度也给我面试机会了,给我内推的机器学习研发岗,说实话我对这个岗位感觉不是太喜欢,当时想面确实是想刷一下经验,颜丙政学长帮我内推的,他问我想不想来,说实话,我不太想去百度,我就实话实说了,他就说那就别面了,否则面试过了也不去一是影响大家的时间,二是对内推的人影响也不好,我就跟hr说取消面试了。
总之,这一个多月,是我上研究生第一次找工作的体验,大四也找过,不过没积累啥经验,这次实习我真正体验到了找工作其实蛮难的,基础知识,算法,项目这些都要好好准备,否则没有那么容易拿到想要的offer,我可能秋招还会试试头条,也没觉得就是那么难,运气成分也很大。面试确实运气成分很大,但是也不要啥都怪运气,提高自身能力才是关键,周围好多厉害的小伙伴都收到了很多厉害的offer,我也要向他们学习!还有就是我真的不知道怎么拒绝人,下次不想海投了,找到自己想去的公司就赶紧去吧,面试官都那么好,最后还不去,心里特别愧疚,秋招绝对不海投!!!