算法方向优质面经合集
篇一:字节跳动7月份按岗位汇总算法高频题
一、前言
前段时间总结了5月和6月字节跳动的两个月高频题目,反响还不错。
这两天在分析提前批的面经,发现题目的趋势更加明显,可能真的应了那句话,面试官就那么多,考的题也就那么多。
而且越新的面经,参考意义也就越大
距离结束还有不到十天的时间了,这次我把7月1号~7月6ri的算法题做了汇总,发现最近LRU频繁出现!大家一定要会呀!!!
二、后端
算法题 |
频次 |
102. 二叉树的层序遍历 |
4 |
146. LRU缓存机制 |
3 |
415. 字符串相加 |
2 |
199. 二叉树的右视图 |
2 |
113. 路径总和 II |
2 |
3. 无重复字符的最长子串 |
2 |
25. K 个一组翻转链表 |
2 |
2. 两数相加 |
2 |
958. 二叉树的完全性检验 |
2 |
剑指 Offer 42. 连续子数组的最大和 |
2 |
347. 前 K 个高频元素 |
1 |
101. 对称二叉树 |
1 |
1147. 段式回文 |
1 |
20. 有效的括号 |
1 |
283. 移动零 |
1 |
876. 链表的中间结点 |
1 |
460. LFU缓存 |
1 |
206. 反转链表 |
1 |
100. 相同的树 |
1 |
69. x 的平方根 |
1 |
124. 二叉树中的最大路径和 |
1 |
剑指 Offer 11. 旋转数组的最小数字 |
1 |
160. 相交链表 |
1 |
15. 三数之和 |
1 |
143. 重排链表 |
1 |
8. 字符串转换整数 (atoi) |
1 |
842. 将数组拆分成斐波那契序列 |
1 |
41. 缺失的第一个正数 |
1 |
704. 二分查找 |
1 |
128. 最长连续序列 |
1 |
814. 二叉树剪枝 |
1 |
剑指 Offer 33. 二叉搜索树的后序遍历序列 |
1 |
23. 合并K个排序链表 |
1 |
1. 两数之和 |
1 |
445. 两数相加 II |
1 |
62. 不同路径 |
1 |
63. 不同路径 II |
1 |
4. 寻找两个正序数组的中位数 |
1 |
剑指 Offer 29. 顺时针打印矩阵 |
1 |
509. 斐波那契数 |
1 |
103. 二叉树的锯齿形层次遍历 |
1 |
141. 环形链表 |
1 |
剑指 Offer 52. 两个链表的第一个公共节点 |
1 |
剑指 Offer 61. 扑克牌中的顺子 |
1 |
105. 从前序与中序遍历序列构造二叉树 |
1 |
215. 数组中的第K个最大元素 |
1 |
111. 二叉树的最小深度 |
1 |
994. 腐烂的橘子 |
1 |
剑指 Offer 54. 二叉搜索树的第k大节点 |
1 |
33. 搜索旋转排序数组 |
1 |
977. 有序数组的平方 |
1 |
344. 反转字符串 |
1 |
234. 回文链表 |
1 |
三、客户端
算法题 |
频次 |
104. 二叉树的最大深度 |
2 |
146. LRU缓存机制 |
2 |
543. 二叉树的直径 |
2 |
21. 合并两个有序链表 |
1 |
151. 翻转字符串里的单词 |
1 |
7. 整数反转 |
1 |
206. 反转链表 |
1 |
257. 二叉树的所有路径 |
1 |
102. 二叉树的层序遍历 |
1 |
215. 数组中的第K个最大元素 |
1 |
103. 二叉树的锯齿形层次遍历 |
1 |
3. 无重复字符的最长子串 |
1 |
662. 二叉树最大宽度 |
1 |
1. 两数之和 |
1 |
剑指 Offer 34. 二叉树中和为某一值的路径 |
1 |
剑指 Offer 32 - III. 从上到下打印二叉树 III |
1 |
300. 最长上升子序列 |
1 |
322. 零钱兑换 |
1 |
460. LFU缓存 |
1 |
958. 二叉树的完全性检验 |
1 |
四、算法
算法题 |
频次 |
104. 二叉树的最大深度 |
1 |
110. 平衡二叉树 |
1 |
剑指 Offer 55 - II. 平衡二叉树 |
1 |
814. 二叉树剪枝 |
1 |
23. 合并K个排序链表 |
1 |
1. 两数之和 |
1 |
445. 两数相加 II |
1 |
2. 两数相加 |
1 |
62. 不同路径 |
1 |
63. 不同路径 II |
1 |
4. 寻找两个正序数组的中位数 |
1 |
剑指 Offer 29. 顺时针打印矩阵 |
1 |
509. 斐波那契数 |
1 |
五、前端
算法题 |
频次 |
剑指 Offer 48. 最长不含重复字符的子字符串 |
1 |
680. 验证回文字符串 Ⅱ |
1 |
112. 路径总和 |
1 |
六、测试
算法题 |
频次 |
169. 多数元素 |
2 |
796. 旋转字符串 |
1 |
543. 二叉树的直径 |
1 |
20. 有效的括号 |
1 |
25. K 个一组翻转链表 |
1 |
215. 数组中的第K个最大元素 |
1 |
704. 二分查找 |
1 |
169. 多数元素 |
2 |
七、数据
算法题 |
频次 |
1201. 丑数 III |
1 |
剑指 Offer 41. 数据流中的中位数 |
1 |
篇二:回馈牛客,秋招总结分享
一、前言
2021届秋招基本结束,谨以此文做一下梳理与沉淀。仅限技术栈为后台开发。
二、秋招结果
个人情况本科、硕士都是双非一本,坐标北京,论学校和学历的话并不占优势,实习的时候基本身边都是北邮、北交及以上的同届同学。但是也希望和我一样的学校并不出彩的同学不要放弃,付出总会得到回报的。有过三家大厂实习:滴滴(Java)、字节(Golang)、阿里(大数据),技术栈不算窄。在实验室也是团队负责人,带过项目。
总的来说,有优势也有劣势,这次整理一是沉淀一下秋招的收获,二是分享给大家,如果可以给大家带来一些帮助,也是我心中所愿。
秋招offer主要集中在互联网公司:阿里SP、腾讯SP、快手SSP、美团SP、京东SP、滴滴、小米。
国企银行部分也有一定的收获,但是相比互联网的结果,不算成功。总的来讲国企银行更看重综合实力,技术能力只是评估指标之一,学历与院校水平占据更多的主导地位。
三、面试情况总结
(一)语言
互联网公司校招对语言没有硬性要求,如果语言对口,会针对语言进行一些基础知识的测试。但是如果语言不对口,不会因此直接拒绝,会从其他方面进行更全面的综合基础测评。Java类较多的公司:阿里、美团、京东、快手、小米
Java类较少的公司:腾讯(基本无Java,主要C++/Golang/Python)、滴滴(主要Golang/php)、百度(主要C++/php)、字节跳动(主要Golang、Python)
(二)计算机基础
计算机基础是面试中的重点,能让面试官了解到你对整个计算机体系的了解程度,尤其面试非语言对口的公司与部门时,如果计算机基础不过关可能会被直接淘汰。数据结构与算法
数据结构是重中之重。基础数据结构需要深刻掌握,并且拥有代码实现能力;部分高级数据结构需要有一点的了解与理解。
- 基础数据结构:顺序表(数组)、链表(单向、双向、循环等各种)、栈、队列、树(以二叉树为基础)、图(主要是一些关于图的搜素算法)、哈希表、堆等。
- 高级数据结构:红黑树、线段树、跳表、前缀树、并查集等。
- 面试要求手撸代码,不接受口嗨。
- 题目对面试者有较深的考察,通常需要掌握高级数据结构。
京东:京东今年大部分部门采取电话面试,但是有的回合会进行电话+在线编程界面的形式,对算法考量程度中等,难度不高,中低水平,题目很多集中在《剑指Offer》中。
其他:其他几家大厂基本都采用牛客的在线面试程序,每回合基本都有算法涉及,但是难度均不太高,题目大部分集中在《剑指Offer》中。
- 牛客2020算法高级班:https://www.nowcoder.com/courses/cover/live/482?coupon=AIfrncy
- 牛客2020算法中级班:https://www.nowcoder.com/courses/cover/live/503?coupon=AyGVM82
- 牛客2020算法基础提升班:https://www.nowcoder.com/courses/cover/live/500?coupon=AqPCSZT
- 牛客2020算法基础入门班:https://www.nowcoder.com/courses/cover/live/509?coupon=A9MsMP8
计算机网络
计算机网络。互联网面试中,计网的参与度同样很高,软件开发部分主要集中在整体网络体系、应用层、传输层层面,很少下探到底层,不过有个别现象,比如京东二面中被问到了载波监听与多路访问。最基础的常备知识点如下:- 5层、4层、7层网络体系结构。
- 一次www.baidu.com的浏览器检索,发生了什么。
- http与https
- http1.0/1.1/2.0区别
- tcp与udp
- 三次握手、四次挥手
- 滑动窗口、拥塞控制、快速重传等
操作系统
操作系统。在面试中操作系统的问题不算多,因为这门课下探的话深度太深,面试官也不好尝试,甚至有的面试官也不太熟。一些常备问题有了解就好,多看些面经,当然如果可以深入,你讲出来就是你的亮点。举个例子,进程和线程的区别中,大家都会提到一条线程切换比进程切换要快,但是如果可以讲出为什么快,进程切换做了什么,线程做了什么那自然是加分项了。最基础的常备知识点:- 进程和线程的区别
- 几种IO模型
- select、poll、epoll
- 进程、线程的几种状态;状态转换等
- PV操作
- 进程通信的方式
- 分段分页
计算机组成原理
计算机组成原理。这门知识很贴近硬件,面试中单独提问的基本很少,如果时间有限可以战略性放弃。但是有时间如果可以补充的话为最好,其中一些底层运算机制能帮助梳理整体计算机体系,并且涉及到的汇编语言、机器指令也可以很有效的帮助理解高级语言。数据库原理
互联网面试中,对数据库的考察偏重实际应用,很少涉及到书本上的数据库原理层面(如关系代数等知识),但是一些常见问题,如三大范式,依然在考察之中。关系型数据库,选择一种深入了解即可,推荐MySQL。要对存储引擎、事务控制、索引优化等知识的原理和使用都深入了解。并且需要拥有一定的SQL能力,面试会出现很多场景SQL题与索引优化题。问题举例:
- MySQL中都有哪些存储引擎,有什么区别。
- ACID代表什么,脏读、幻读、不可重复读是什么,如何解决。
- 索引有哪些种,什么区别。索引结构有哪些,如何实现,什么区别。
语言框架
其实每个大厂都会有一套或者多套自己的生态环境,入职后都需要进行再学习。但是针对你选择的面向对象语言,要对语言生态有一定的了解,常用的开源框架核心功能的使用与原理都在大厂的考察范围内。我的主语言是Java,所以这里说一些Java需要掌握的框架。
Spring
Spring已经不再是一个框架,而是一个生态了。Spring旗下的各种框架需要有一定的了解和研究,如:Spring、SpringBoot、SpringMVC等。问题举例:- Spring的IOC和AOP
- SpringBoot是如何实现自动配置的
- SpringMVC的请求流程
MyBatis或Hibernate
做Java开发的同学必不可少需要涉及至少一种持久层框架。总的来讲,目前MyBatis用的比较多,但是擅长Hibernate也是可以的。这块知识其实面试中不会很多,但是偶尔也会提到一两句,普遍偏应用方向,原理层面也会有部分涉及,所以复习程度要自行斟酌。中间件与分布式
这部分知识不是必须的,应届生在学校中往往没有实际应用场景,所以可能会欠缺这方面知识,这个时候实习就显得很重要了。这部分知识往往是提升面试面评的最佳之选,上述的内容可能你掌握不牢便属于不合格范畴,是合格与不合格之间的评判标尺。而这部分内容便是合格与优秀之间的评判标尺。当然,这方面复习要根据时间、基础等条件斟酌决定。Redis
Redis基本已经成为基础必备知识,Redis的常用方向、数据结构(分为表层数据结构和底层数据结构)、分布式部署模型、缓存相关的内容、分布式锁等。RPC
RPC框架有很多,想进入大厂甚至想取得大厂SP的话,至少对一种RPC框架(如Dubbo、Thrift等)有一定了解,并且要对微服务的架构有一定的认识。并且要对一些数据传输的底层协议、注册中心监控中心的原理、负载均衡算法等有一定了解。四、面试题目类型
面试中面试官所问的问题有几类,可以对这些类问题加以区分,针对性复习。算法编程类:考验代码基本功,通常需要电脑上编写、纸上手写、口述思路等。
- 算法题目:例如写一个快速排序。
- 设计类编程题目:例如写一个DCL的单例模式。
- SQL类:给你几个表,做一个统计分析。
- 如果让你设计一个qps 10w级别,数据量日均1000w的秒杀系统,你如何设计?
- 现在有一个系统是单机部署,现在突然访问高峰期,需要提高性能,你如何操作与设计?
- 线上服务非常卡顿,用户请求响应超过预期,你觉得是什么原因,如何定位,如何解决?
五、写在最后
欢迎指正交流。
篇三:一个“普通人”的秋招算法岗上岸心得
作者:欧姆表不孤独一直想写点东西总结一下自己的秋招历程,觉得在一定程度上应该能代表很多"普通人"的秋招经历。但是由于各种原因(主要是自己懒),从去年11月秋招大致结束,一直拖到现在都没有写。最近在好友的鼓励下,终于下定决心,克服懒散,提笔记录下这段艰难但也颇有意义的经历,希望能给师弟师妹们一些信心,同时少走一些弯路。另外题目中写"普通人"是因为自觉在各方面都不出彩,加引号是为了免去一些闲话,如果你看完全文还是觉得我有冒犯,那我在这里先道个歉。
先介绍下自己的背景:西北某211本硕,方向为计算机视觉(CV),没有论文,没有实习,做过几个实验室和学校的项目,一个天池比赛前20。最终拿到四个offer,美团、字节、小米、旷视,均为SP。我相信一定有很多像我这样普普通通的人,感觉自己各方面都比较一般,没有比较好的论文、项目,比赛名次也不是特别高,编程也没那么牛,一边看着网上的各种算法岗劝退言论,一边心慌慌地纠结要不要继续找算法岗。我写这篇帖子的目的就是希望能给大家一些信心,如果你觉得自己做过一些相关的项目、比赛,有一定的基础,肯花时间好好准备找工作的相关事宜,那我建议你可以下决心了。
我想先从大的方面对秋招中比较重要的几个方面进行总结,也给出一些建议,然后再把几个公司的面经贴上来。因为面经在一定程度上具有很大的偶然性,并不能完全代表一个人或这一个厂的真实情况,只能作为参考,因此最好是多看一些。
一、秋招总结
1、心态
秋招对大部分人来说都是一段非常难熬的经历,本身自己就已经是顶着很大的压力在求职,还要面对很多外界因素带来的影响,时常会给自己的心态带来非常大的波动。本来我在这一部分写了很大一段回忆自己遇到的一些搞心态的事情,但仔细想了想还是删了,以后有机会单独写一帖吐槽求职路上的奇葩经历,这里就写一些可能会影响到自己心态的方方面面,大家可以注意一下。1)面试被拒:这应该是最常见的压力来源了,而且随着被拒的次数越来越多,压力也会成倍增加,对个人心态考验非常大。对我们这样的普通人来说,前期面试被拒再正常不过了,这时候一方面是要总结好失败的经验,另一方面也要寻找合理的宣泄途径,跟好朋友吐槽、打两把游戏等都是很有效的方法。
2)周边环境:我们一般都是和同届同学一起找工作,有些同学比较优秀,很快就拿到offer,这时候也有可能会对我们的心态有些影响。不过这是没有必要的,你直接去跟他取经就好了,能拿到offer大概率是有可取之处的,我当时就跟一个同学学到了很多东西。当然也不排除有些人拿到offer后在朋友圈装逼、散布焦虑情绪,这种我建议屏蔽或拉黑,同时也希望大家拿到offer后能低调一些,以己度人。
3)网络言论:每年在网上都会出现一个词来形容每年的算法岗状态,19年是"诸神黄昏",20年是"灰飞烟灭",不知道今年会是什么。但无论怎么说,都改变不了大部分人最终拿到offer的事实。这种问题其实挺唬人的,四月起这么个问题,大家都刚开始找工作没啥经验,碰壁了就去吐槽,造成一种算法岗无望的景象。但如果你十一月问这么个问题,很多回答应该就成了如何通过不断投简历、面试最终上岸某家公司,其实我身边的同学、朋友大部分也都是9月之后拿到了"定稿"的offer,10月、11月的也多的是,所以大家一定要稳住,尽量不要受到这种言论的影响。
其实在秋招中感受到痛苦是一件再正常不过的事情,但我也不敢跟你说:"心态要好,不要在乎那些事情",虽然这是对的,但经历过那种压力和痛苦就会知道完全做到这样几乎是不可能的,就跟世界上没有圣人一样。我给大家的建议就是首先要做好承受这一切的准备,秋招几乎不可能是一帆风顺的;另外当压力到来的时候,一方面要先做好总结,另一方面也要找到合理的宣泄方式,不要让一次的失利影响你太久。恐惧、失落、时常进行的自我怀疑,这都是秋招中的常态。一边痛苦,一边反思,在秋招中这是提高自己最快的方法。
2、刷题
这是一个老生常谈的话题了,在互联网只要是技术岗,笔试面试都要撕题。我本人是从2020年2月中旬开始准备的,期间一共刷了400道题,总体感觉下来能应对几乎所有的笔试、面试场景了,印象里面试过程中碰到的题目全都撕出来了,笔试大概能通过80%的样子。接下来会说一些自己的小心得。首先声明,我没有参加过编程比赛,本科学过C,学过基础的数据结构和算法知识,读研之后大部分时间使用python,整个刷题和笔、面试也都是使用python完成,可以说在刷题方面也是一个非常普通的人。
1)如果你像我上面说的一样,对刷题需要的算法(排序、链表、二叉树、图、动态规划等)没有过一个系统的学习,那我强烈推荐你去看左程云(左神)的算法课,个人感觉左神的课在深度和广度上都能覆盖整个秋招的范围。首先,如果你没有很好的算法基础,左神的课能让你对算法建立一个系统的认识,对基础的算法有很好的理解;另外,左神也会做很多扩展性的算法介绍,这些你可能没听过,但是不要紧,至少之后你在牛客题霸看到的时候不会一脸懵逼,知道这是个什么东西,大概解决了什么问题,然后再慢慢研究。总之,左神的课非常长也非常良心,希望大家能坚持看完(基础班我记得接近30小时),你一定会大有收获。再次对左神表示respect!
2)有了基础之后,接下来就是刷题。我建议大家先按照类别刷,比如链表相关的做个十几道,有个比较深入的理解,然后再去做二叉树、排序等,这样按照大类做下来之后,你就不会对题目感到陌生和惶恐了,看到题之后知道这大概是个什么事。然后我建议把《剑指offer》刷两遍,剑指非常经典,牛客题霸也有剑指专题,很方便。之后就比较随意了,可以先把热题TOP100刷一遍,如果有时间也可以按照顺序再刷个两百道,感兴趣的话去参加周赛也挺好的(我没有参加过)。另外,牛客上也有大佬整理了每个公司出过的题目汇总,这也是不错的选择。对于出现频率非常高的题目,一定要多刷几遍,确保碰到就能秒了。
总之,在刷题这一块我一直有两个看法,一是如果你现在对秋招很迷茫很惶恐,不知道该准备些什么,那你就刷题去吧,至少这肯定是不会错的,另外就是在你有时间的基础上,刷的题目越多越好。根据我对周边同学的了解,最好是能刷到200道以上的题目,这样在面试中底气也会更足。
3、基础知识
基础知识是考验基本功的,包括机器学习和深度学习里面的一些基础的问题。这部分可能会问的比较广,需要系统地学习和整理。这里推荐两本书:李航老师的《统计学习方法》和周志华老师的《机器学习》(西瓜书)。建议大家可以先深入地读一下《统计学习方法》,李航老师写的非常精炼,也比较"好懂",碰到不懂的可以去看看西瓜书,两本配合食用效果更佳。知乎、博客上也有很多大佬们更通俗的解释,可以加深理解。《深度学习》(花书)也是非常好的一本书,但是太厚了,很难读完。建议当成工具书,碰到问题可以去专门的章节翻阅,可能会有意想不到的收获。在这个过程中最好准备一个笔记本,将公式的推导以及一些算法的流程和重点记录下来,能巩固记忆,查阅起来很方便,面试前也可以拿出来翻一翻。推荐大家用活页本,内容增添起来很方便。
除了看书以外,总结和整理也是至关重要的。有的问题你可能理解了,但是表达出来没那么专业,不够味。因此这部分我建议大家先去网上搜集一下面经,把里面提到过的问题都整理出来,然后自己总结出一个合理的答案,形成文档,以后碰到就这么回答就行了,这也就是网上有些人说的"八股文"。如果面试碰到了没有见过的问题,就把它加入到你的文档中去,确保以后碰到能够对答如流。我在后边也会把我整个秋招过程中碰到的比较常见的问题列出来,供大家参考。
总结一下,基础知识部分主要是学习+整理,当你的面试数量达到一定程度之后,这部分就几乎不是问题了。记住,一定要整理成文档,一定要整理成文档,一定要整理成文档!
4、论文/项目/比赛
这部分主要是个人的一些经历,是体现"个人价值"最重要的部分,也是简历上面试官着重会进行提问的。这部分因人而异差别很大,因此我只说一些小建议。1)论文:首先强调一点,没有论文也是可以上岸的,没有论文也是可以上岸的,没有论文也是可以上岸的!我身边的同学,以及秋招中认识的朋友,很多也是没有论文的,但最后都能拿到比较满意的offer。不少人在论坛上说"没论文简历都过不了",这绝对是缺乏数据支撑的。简历没过很大程度上是因为简历写的不好,或者部门不匹配。前者需要好好地琢磨一下简历的逻辑、布局,后者的话就找准方向多投就行了,肯定会有捞你的。如果有论文的话要想办法把自己论文的贡献点讲清楚,这部分我没有实践过,就不班门弄斧了。
2)项目:这一部分很多人有这样一种疑问:"我项目做的很弱,就做了这点东西都不好意思讲出来"。其实这是很正常的,永远记住,大部分人都是普通人,岗位很多,不可能只招天才。你做的再一般,那也是完成了一个项目,也有项目背景、创新点、应用场景,也是能在某个场景下解决了某个问题,这其实就够了。只要你真的对项目投入了精力,对其有比较好的理解,一定是有可取之处的,证明你解决问题的能力是很不错的。接下来你需要做的就是如何把项目给面试官讲好,这里我还是建议大家像写演讲稿一样把你要将的东西整理成文档,不要只在大脑里凭空想,一定要写在文档里,先去找同学讲一遍,然后面试的时候发现某个地方讲的不够好,回来再继续改进,慢慢地就能将项目讲好了。记住,一定要自信!
3)比赛:这部分和项目比较类似,面试官比较感兴趣的是你解决问题的思路、采用的方法以及相比其他参赛者的方法的优势。和上述一样,最好是整理成文档,把比赛题目、算法设计思路、具体采用的方法以及最后和其他方法的对比和反思都写一下,面试的时候按照写好的逻辑来讲。比赛这里,优胜参赛者的解决方法也是比较重要的一点,面试中经常会问到,一定要去论坛把前几名的方法都大致看一遍,大致了解一下。
5、简历
简历是给面试官的第一印象,写一份好简历是求职过程中非常重要的开端。在这里也给大家几个小建议,大家写的时候可以注意一下。1) 模板:简历模板尽量简约一些,不要花里胡哨的那种;
2) 照片:建议大家去比较专业的照相馆拍一组证件照,西服领带搞起来,这样看起来正式一些。
3) 项目介绍:这部分是简历最重要的地方,一定要仔细琢磨,每句话的存在都要有意义,都要体现项目中最"精彩"的部分,切忌废话连篇。另外,每个点的介绍都要胸有成竹,确保面试官问起来的时候能够对答如流,配合第四条中整理的文档食用效果更佳。
4) 篇幅:如果你的项目不是特别特别多,那么简历尽量不要超过一页。
二、一些公司的面经
我大概是从五月底开始投简历的,从所记录的面经中挑了些比较有意义的供大家参考。同时我也给出了我对自己面试过程的评价,但不能代表所有人,大家尽量多去讨论区看一看,这个差异还是很大的。1、美团
一面:
1) 自我介绍;
2) 项目介绍,上线、落地情况;
3) 介绍下LR,思想,LR里的最大似然是怎么回事;
4) 代码题:给出一个函数rand1,随机生成0和1,写一个函数randN,均匀生成0-N-1;
5) 代码题,计算根号N,精确到小数点后m位,二分法,梯度下降法。
二面:
1) 自我介绍
2) 计算机网络、操作系统学过没;
3) 多进程、多线程讲一下,内存占用方式,为什么线程是共享内存的;
4) 讲下项目,传统方法是怎么做的,有啥优点,是怎么部署的,几个人完成的,数据是怎么采集的,规模有多大;
5) 讲下比赛,几个人完成的,怎么分工的;
6) 有没有碰到过拟合,过拟合的标志是什么,怎么解决;
7) L1正则化为什么能缓解过拟合;
8) 有没有发论文;
9) 包含百万、上亿特征的数据在深度学习中怎么处理;
10) 降维方法有哪些,PCA是怎么做的,还知道其他的吗;
11) LR和神经网络有什么区别;
12) 代码题:字符串中长度为len的连续字串中,出现次数最多的字串;
13) 数学题:四个人过河,每次最多两人,有多少种过河方法。四人过河时间分别为1,2,5,10(分钟),问最快需要多久。AB,A回,CD,B回,AB,共17分钟。
三面:
1) 自我介绍
2) 比赛介绍,比赛的任务,前几名的团队都是怎么做的,你们的亮点在哪里;
3) 挑一个项目介绍;
4) 目前的offer;
5) 职业规划里最看重什么;
6) 反问。
HR面:(通过)
1) 本科和研究生期间比较骄傲的一件事情,比较遗憾的事情;
2) 为什么没有选择深造;
3) 最近最有挫败感的事情;
4) 对美团的了解;
5) 职业规划,工作城市的选择;
6) 对自己不满意的地方;
7) 反问。
总结:美团的面试流程很紧凑,面试体验也非常好,点赞。
2、字节
提前批一面:
1) 自我介绍;
2) 问项目,检测里改进了哪些点,GAN是用来干什么的,怎么用的;
3) 方向相关的一些知识;
4) 其他相关论文里用到的一些方法;
5) 撕题:手写nms。
提前批二面:
1) 自我介绍;
2) 介绍项目,面试官好像是做检测的,主要问了问检测的项目;
3) 检测任务有什么衡量指标(mAp),实现原理是什么;
4) 分类里用到的交叉熵公式是什么;
5) 讲了讲比赛里用到的一些点;
6) pytorch里function和module有什么区别;
7) pytorch里dataset、dataloader、sampler有什么区别;
8) python里的生成器是什么;
9) 撕题:两个有序数组的中位数;
(三面挂了,没有记录。之后又到了三面,又挂了,提前批结束,共六面。)
正式批一面:(挂)
1) 自我介绍
2) 项目相关;
3) 生成对抗网络是怎么用的;
4) CRNN的思想,CTC的思想,CTC中有没有训练参数;
5) 姿态估计相关项目;
6) TCP/UDP的区别
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专刊由牛客官方团队打造,互联网技术方向主流岗位简历特辑与面试干货。 保姆级简历教程:手把手教你打造网申优秀简历 主流岗位简历模板:学习大牛简历样本,使用模板增加面试邀请 20W字精选面经:牛客精选全网优质面经,专业面试问题、学习路径一网打尽