春招收尾,整理几份笔经面经,算是回馈吧

留学党,国外找实习惨败而归,4月份开始投国内实习,面了几家,终于昨天收到了滴滴的录用电话,现在在等邮件,准备就此从了,凭记忆整理了几家还有印象的笔经面经,权当总结和回馈,顶着时差脑子有些浆糊,好多内容都忘记了,所以会有好多诸如“等等”的字样出现,还请各位见谅。。。
先说明一下,本人简历主要是python的内容,但在投简历的时候迫于无奈也投了一些JAVA岗,虽然也拿到了面试,但面试过程中涉及到语言的问题大概还是以python为主的…
头前总结:一路下来看,感觉实习的一面乃至二面的很多内容好像也就固定的那么多点,比如进程线程、三次握手四次挥手、java的gc机制、python的装饰器等等这些问题出现的频率超级高,面试前看一看温习一下就可以答得很好,但最开始面的时候没有经验,准备的没有条理、又赶上课程project和考试,最后近乎裸面,有些问题话到嘴边表述不好,有的干脆忘了这东西是啥(第一次被问到装饰器真的没反应过来,满脑子notation不知道怎么解释清楚)。。白白浪费了很多大好机会,现在想想很是可惜,甚至觉得有些对不起面试官……毕竟人家好像真没想刷你。。。
此外对于面试过程中的编程问题,虽然实际考察点因面试官而异,但确实有一些潜在得加分项需要注意,比如代码规范、思路交流以及一些习惯问题(比如测试?)
再贴两个github链接,都是在牛客翻到的,用来复习知识点非常有帮助,十分感谢几位在维护得同学,感恩!


1. 百度:软件研发工程师
笔试部分忘记了。。
编程题目:分解url,对于给出的任意url,按照url的组成部分(协议、域名、端口、参数等等)进行分解,面试官还很和善的解释了一下应该有那些部分…就是字符串处理
基础题目:进程与线程的区别,GC机制等


2. 阿里:研发工程师JAVA - 技术风险部
牛客上找的内推,python简历投的java岗,技术风险部给的面试,因为说是他们那边的工作差不多70%java 30%python,所以更倾向于俩都会的吧。。当时就觉得不怕简历奇葩就怕不敢去投……= =
  1. classmethod,+staticmethod和instance+method的区别
  2. 单下划线变量(_a)、双下下划线变量(__a)以及前后双下划线变量(__a__)的区别
  3. 使用多种方式实现1-100的累加,不用for循环
  4. 使用lambda和filter返回[1,4,5,3,9]中小于5的数字的迭代器
  5. 有用过with+statement吗?它的好处是什么?
  6. 已知两个链表head1+和head2+各自有序,请把它们归并成一个链表依然有序
  7. java部分:gc机制等等
  8. 四次挥手


3. 滴滴:研发工程师CTO线 - 地图事业部
依然是坛子里找的内推,地图事业部给的面试,约时间的时候HR姐姐好像没听清时差的问题,结果安排了凌晨四点连续面了两面…
两面内容都是比较简单的,有一些问题也比较相似,大概有装饰器、排序的方法、多叉树层序遍历,归并排序等等,全部口述就好。


4. 网易游戏(杭州):游戏测试开发工程师
编程:二分查找,最左边/最右边的位置
玩过哪些游戏、哪个游戏投入最多等等
python装饰器、global等
有许多玩家的战斗力,战斗力是不断变化的,要弄一个排行榜,怎么弄


5. 字节跳动(头条):算法工程师
第一次笔试没赶上,第二次笔试题目忘记了,不过记得坛子里有人考完当天就发过,有兴趣的同学可以搜一下。
第三次笔试:
120分钟5道题,难度大概是竞赛签到题,不过时间比较有限。

第一题字符串处理,给一段C的程序,统计有多少处注释,需要判断eof,要考虑//,引号,转义符,/**/的换行等等,太浪费时间弃了。。

第二题hash或者字典树,先给一堆前缀,然后给一些query问有没有前缀匹配的。。数据包含多组,需要判断eof,且包含中文,我下面手测都能过但是提交就0%,不知道为啥= =

第三题类似约瑟夫环的变体,0-n个人,m个数,循环地依次从m个数里取一个数,然后从第0个人开始,踢掉第a个人,下次踢人从这里开始,再取下一个数,以此类推问最后剩谁 -- 暴力取模70%
比如4个人,编号0-3;2个数:3和1;
第一轮:取数字3,从位置0的0号开始数,0,1,2——踢掉2号,剩下0,1,3
第二轮:取数字1,从位置2的3号开始数,2——踢掉3号,剩下0,1,
第三轮:取数字3,位置2已经是末尾,回到开头,从位置0的0号开始数,0,1,0——踢掉0号,剩下1
结果是1

第四题模拟一个简易的elasticsearch,给两个字符串,一个keywords和一个待搜索文档,字符串里面每一个字母都算一个关键词,然后将keywords按顺序匹配到文档中的倒排索引(最右边的位置),100-相邻两关键字的间距 -- 90%,剩下那个点大概是什么边界条件没判断
比如keywords:mbh,文档:asmhbgyhfwea
m的位置是2,b的位置是4,h的位置是3和7,取最右边的7
b和m之间隔1个字符,h和b之间隔2个字符
则得分为100-1-2=97分

第五题动归,给一个矩阵,每个格子都有一个分数,从最左一列,向右上/右/右下走,问最后最大能有多少分,但是有一个额外条件是,可以将矩阵中最多一个格子里的数字变成相反数。 O(m2n2)暴力dp -- 40%, 最优解貌似应该是是O(mn)的

一面:
面试官看简历感觉我不适合算法,问我为什么投这个,我表示本来想投研发的当时好像没了,于是面试官说先一面,过了的话问问同事有没有要研发的。。
  1. 给出数组A,找到最大的(Ai-Aj)(i>j),扫一遍记录一下就好
  2. 单调不减数组二分查找,如果存在返回出现的第一个位置,不存在的话返回-1.
  3. 给出一个数x,求sqrt(x), 精度在1e-6,还是用的二分
二面:
  1. 1-n的二叉搜索树有多少种形态
  2. java gc机制
  3. 2w流量高并发下生成id,尽量保证按时间顺序
  4. 进程与线程、进程间的通信等等
#百度##阿里巴巴##滴滴##网易##字节跳动##Python##实习#
全部评论
NYU校友?恭喜啊,我也在等滴滴的消息
点赞 回复
分享
发布于 2018-05-24 11:00
菜鸡问一下,要是用python找工作,需要学一些什么,感谢
点赞 回复
分享
发布于 2018-05-24 11:00
联想
校招火热招聘中
官网直投
恭喜啦!
点赞 回复
分享
发布于 2018-05-24 11:05
感谢楼主。。。为数不多的py面筋,不过感觉要是问题还能细一些就好了。
点赞 回复
分享
发布于 2018-05-24 12:34
想问下大佬的学习路线啊
点赞 回复
分享
发布于 2018-06-11 21:00
tandon校友哦?
点赞 回复
分享
发布于 2018-06-12 07:24

相关推荐

7 79 评论
分享
牛客网
牛客企业服务