zl程序教程

您现在的位置是:首页 >  其他

当前栏目

强化学习大厂面经【看到你就赚了,满满】

2023-03-15 22:51:16 时间

1.机器学习面试:

1.1 内部面试要求:

基础:统计学习

深度学习:NLP、CV、强化学习

【算法岗位】985,211硕士顶会论文,大厂实习经验

要求一般是这样的

1、985

2、还不错的论文

3、比赛还不错的名次:kaggle,阿里天池比赛,腾讯百度、讯飞

4、实验室业界还有点名气

5、大厂实习经验或者ai创业公司实习经验

2.杭州互联网公司推荐

一线互联网

  • 阿里巴巴(总部)

  • 蚂蚁金服(总部)阿里旗下

  • 阿里云(总部)阿里旗下

  • 网易(杭州) 网易云音乐

  • 字节跳动(杭州)抖音分部

外企

  • ZOOM (杭州研发中心)全球知名云视频会议服务提供商

  • infosys(杭州)印度公司,据说工资相对不高

  • 思科(杭州)

二线互联网

  • 滴滴(杭州)

  • 快手(杭州)

硬件巨头 (有软件/互联网业务)

  • 海康威视(总部)安防三巨头

  • 浙江大华(总部)安防三巨头

  • 杭州宇视(总部) 安防三巨头

  • 华为(杭州)

  • vivo(杭州)

  • oppo(杭州)

  • 魅族(杭州)

三线互联网

  • 蘑菇街(总部)女性消费者的电子商务网站

  • 有赞(总部)帮助商家进行网上开店、社交营销

  • 菜鸟网络(杭州)

  • 花瓣网(总部)图片素材领导者

  • 兑吧(总部)用户运营服务平台

  • 同花顺(总部)网上股票证券交易分析软件

  • 51信用卡(总部)信用卡管理

  • 虾米(总部)已被阿里收购

  • 曹操出行(总部)

  • 口碑网 (总部)

AI独角兽公司

  • 旷视科技(杭州)

  • 商汤(杭州)

创业公司

  • e签宝(总部)做电子签名

  • 婚礼纪(总部)好多结婚的朋友都用

  • 大搜车(总部)中国领先的汽车交易服务供应商

  • 二更(总部)自媒体

  • 丁香园(总部)

2.|上海互联网公司推荐

一线互联网

  • 百度(上海)

  • 阿里(上海)

  • 腾讯(上海)

  • 字节跳动(上海)

  • 蚂蚁金服(上海)

外企IT/互联网/硬件

  • 互联网

    • Google(上海)

    • 微软(上海)

    • LeetCode/力扣(上海)

    • unity(上海)游戏引擎

    • SAP(上海)主要产品是ERP

    • PayPal(上海)在线支付鼻祖

    • eBay(上海)电子商务公司

  • 偏硬件

    • IBM(上海)

    • Tesla(上海)特斯拉

    • Cisco(上海)思科

    • Intel(上海)

    • AMD(上海)半导体产品领域

    • EMC(上海)易安信是美国信息存储资讯科技公司

    • NVIDIA(上海)英伟达是GPU(图形处理器)的发明者,人工智能计算的引领者

二线互联网

  • 拼多多(总部)

  • 饿了么(总部)阿里旗下。

  • 哈啰出行(总部)阿里旗下

  • 盒马(总部)阿里旗下

  • 哔哩哔哩(总部)

  • 阅文集团(总部)腾讯旗下

  • 爱奇艺(上海)百度旗下

  • 携程(总部)

  • 京东(上海)

  • 网易(上海)

  • 美团点评(上海)

  • 唯品会(上海)

硬件巨头 (有软件/互联网业务)

华为(上海)

三线互联网

  • PPTV(总部)

  • 微盟(总部)企业云端商业及营销解决方案提供商

  • 喜马拉雅(总部)

  • 陆金所(总部)全球领先的线上财富管理平台

  • 口碑(上海)阿里旗下。

  • 三七互娱(上海)

  • 趣头条(总部)

  • 巨人网络(总部)游戏公司

  • 盛大网络(总部)游戏公司

  • UCloud(总部)云服务提供商

  • 达达集团(总部)本地即时零售与配送平台

  • 众安保险(总部)在线财产保险

  • 触宝(总部)触宝输入法等多款APP

  • 平安系列

明星创业公司

  • 小红书(总部)

  • 叮咚买菜(总部)

  • 蔚来汽车(总部)

  • 七牛云(总部)

  • 得物App(总部)品潮流尖货装备交易、球鞋潮品鉴别查验、互动潮流社区

  • 收钱吧(总部)开创了中国移动支付市场“一站式收款”

  • 蜻蜓FM(总部)音频内容聚合平台

  • 流利说(总部)在线教育

  • Soul(总部)社交软件

  • 美味不用等(总部)智慧餐饮服务商

  • 微鲸科技(总部)专注于智能家居领域

  • 途虎养车(总部)

  • 米哈游(总部)游戏公司

  • 莉莉丝游戏(总部)游戏公司

  • 樊登读书(总部)在线教育

AI独角兽公司

  • 依图科技(总部)和旷视,商汤对标,都是做安防视觉

  • 深兰科技(总部)致力于人工智能基础研究和应用开发

其他行业,涉及互联网

  • 花旗、摩根大通等一些列金融巨头

  • 百姓网

  • 找钢网

  • 安居客

  • 前程无忧

  • 东方财富

  • 三大电信运营商:中国移动、中国电信、中国联通

  • 沪江英语

  • 各大银行

3. 程序员的简历如何写

3.1 简历篇幅

首先程序员的简历力求简洁明了,不用设计上要过于复杂。

对于校招生,一页简历就够了,社招的话两页简历便可。

有的校招生说自己的经历太多了,简历要写出两三页,实际上基本是无关内容太多或者描述太啰唆,例如多过的校园活动,学生会经历等等。

既然是面试技术岗位,其他的方面一笔带过就好。

3.2 谨慎使用“精通”两字

应届生或者刚毕业的程序员在写简历的时候 「切记不要写精通某某语言」,如果真的学的很好,「推荐写“熟悉”或者“掌握”」

但是有的同学可能仅仅使用一些语言例如go或者python写了一些小东西,或者了解一些语言的语法,就直接写上熟悉C++、JAVA、GO、PYTHON ,这也是大忌,如果C++更了解的话,建议写熟悉C++,了解JAVA、GO、PYTHON。

「词语的强烈程度:精通 > 熟悉(推荐使用)> 掌握(推荐使用)> 了解(推荐使用)」

还有做好心理准备,一旦我们写了熟悉某某语言,这门语言就一定是面试中重点考察的一个点。

例如写了熟悉C++, 那么继承、多态、封装、虚函数、C++11的一些特性、STL就一定会被问道。

「所以简历上写着熟悉哪一门语言,在准备面试的时候重点准备,其他语言几乎可以不用看了,面试官在面试中通常只会考察一门编程语言」

拿不准的绝对不要写在简历上

「不要为了简历上看上去很丰富,就写很多内容上去,内容越多,面试中考点就越多」

简历中突出自己技能的几个点,而不是面面俱到。

想想看,面试官一定是拿着你的简历开始问问题的,「如果因为仅仅想展示自己多会一点点的东西就都写在简历上,等于给自己挖了一个“大坑”」

例如仅仅部署过nginx服务器,就在简历上写熟悉nginx,那面试官可能上来就围绕着nginx问很多问题,同学们如果招架不住,然后说:“我仅仅部署过,底层实现我都不了解。这样就是让面试官有些失望”。

「同时尽量不要写代码行数10万+ 在简历上」,这就相当于提高了面试官的期望。

首先就是代码行数10W+ 无从考证,而且这无疑大大提高的面试官的期望和面试官问问题的范围,这相当于告诉面试官“我写代码没问题,你就尽管问吧”。

如果简历上再没有侧重点的话,面试官就开始铺天盖地问起来,恐怕大家回答的效果也不会太好。

3.3 项目经验应该如何写

「项目经验中要突出自己的贡献」,不要描述一遍项目就完事,要突出自己的贡献,是添加了哪些功能,还是优化了那些性能指数,最后再说说受益怎么样。

例如这个功能被多少人使用,例如性能提升了多少倍。

其实很多同学的一个通病就是在面试中说不出自己项目的难点,项目经历写了一大堆,各种框架数据库的使用都写上了,却答不出自己项目中的难点。

有的同学可能心里会想:“自己的项目没有什么难点,就是按照功能来做,遇到不会配置的不会调节的,就百度一下”。

其实大多数人做项目的时候都是这样的,不是每个项目都有什么难点,可是为什么一样的项目经验,别人就可以在难点上说出一二三来呢?

这里还是有一些技巧的,首先是「做项目的时候时刻保持着对难点的敏感程度」,很多我们费尽周折解决了一个问题,然后自己也不做记录,就忘掉了,「此时如果及时将自己的思考过程记录下来,就是面试中的重要素材,养成这样的习惯非常重要」

很多同学埋怨自己的项目没难点,其实不然,「找到项目中的一点,深挖下去就会遇到难点,解决它,这种经历就可以拿来在面试中来说了」

例如使用java完成的项目,在深挖一下Java内存管理,看看是不是可以减少一些虚拟机上内存的压力。

所以很多时候 「不是自己的项目没有难点,而是自己准备的不充分」

项目经验是面试官一定会问的,那么不是每一个面试都是主动问项目中有哪些亮点或者难点,这时候就需要我们自己主动去说自己项目中的难点。

3.4 变被动为主动

再说一个面试中如何变被动为主动的技巧,例如自己的项目是一套分布式系统,我们在介绍项目的时候主动说:“项目中的难点就是分布式数据一致性的问题。”。

「此时就应该知道面试官定会问:“你是如何解决数据一致性的?”」

如果你对数据一致性协议的使用和原理足够的了解的话,就可以和面试官侃侃而谈了。

我们在简历中突出项目的难点在于数据一致性,并且「我们之前就精心准备一致性协议,数据一致性相关的知识,就等着面试官来问」,这样准备面试更有效率,这些写出来的简历也才是好的简历,而不是简历上泛泛而谈什么都说一些,最后都不太了解。

面试一共就三十分钟或者一个小时,说两个两个项目中的难点,既凸显出自己技术上的深度,同时项目中的难点是最好被我们自己掌控的,「因为这块是面试官必问的,就是我们可以变被动为主动的关键」

「真正好的简历是 当同学们把自己的简历递给面试官的时候,基本都知道面试官看着简历都会问什么问题」,然后将面试官的引导到自己最熟悉的领域,这样大家才会占有主动权。

3.5 博客的重要性

简历上可以放上自己的博客地址、Github地址甚至微博(如果发了很多关于技术的内容),「通过博客和github 面试官就可以快速判断同学们对技术的热情,以及学习的态度」,可以让面试官快速的了解同学们的技术水平。

如果有很多高质量博客和漂亮的github的话,即使面试现场发挥的不好,面试官通过博客也会知道这位同学基础还是很扎实,只是发挥的不好而已。

可以看出记录和总结的重要性。

写博客,不一定非要是技术大牛才写博客,大家都可以写博客来记录自己的收获,每一个知识点大家都可以写一篇技术博客,这方面要切忌懒惰!

同时大家对github不要畏惧,可以很容易找到一些小的项目来练手。

面试只有短短的30分钟或者一个小时,如何把自己掌握的技术更好的展现给面试官呢,博客、github都是很好的选择,如果把这些放在简历上,面试官一定会看的,这都是加分项。

3.6 简历模板

4.BAT级别技术面试流程和注意事项:

大型互联网企业一般通过几轮技术面试来考察大家的各项能力,一般流程如下:

  • 一面机试:一般会考选择题和编程题

  • 二面基础算法面:就是基础数据结构与算法

  • 三面综合技术面:会考察编程语言,计算机基础知识 ,以及了解项目经历等等

  • 四面技术boss面:会问一些比较范范的内容,考察大家解决问题和快速学习的能力

  • 最后hr面:主要了解面试者与企业文化相不相符,面试者的职业发展,offer的选择以及介绍一下企业提供的薪资待遇等等

4.1 一面 通常是 选择题 + 编程题4.还有些公司机试都是编程题。

  • 选择题:计算机基础知识涉及计算机网络,操作系统,数据库,编程语言等等

  • 编程题:一般是代码量比较大的题目

一面机试,「通常校招生的话,BAT的级别的企业 都会提前发笔试题,发到邮箱里然后指定时间内做完,一定要慎重对待,机试没有过,后面就没有面试机会了」

机试通常是 「选择题 + 编程题,还有些公司机试都是编程题」

选择题则是计算机基础知识涉及计算机网络,操作系统,数据库,编程语言等等,这里如果有些同学对计算机基础心里没有底的话,可以去牛客网上找一找 历年各大公司的机试题目找找感觉。

编程题则一般是代码量比较大的题目,图、复杂数据结构或者一些模拟类的题目,编程题目都是我们这门课程会讲述的重点

所以也给同学们也推荐一个编程学习的网站,也就是leetcode

leetcode是专门针对算法练习的题库,leetcode现在也推出了中文网站,所以更方面中国的算法爱好者在上面刷题。这门课程也是主要在leetcode上选择经典题目。

牛客网上涉及到程序员面试的各个环节,有很多国内互联网公司历年面试的题目还是很不错的。

「建议学习计算机基础知识可以在牛客网上,刷算法题可以选择leetcode。」

4.2 二面 基础算法面

这一块和机试对算法的考察又不一样,机试仅仅就是要一个结果,对了就是对了不对就是不对,

而二面的算法面试「面试官更想看到同学们的思考过程」,而不仅仅是一个答案。

通常一面机试的题目是代码量比较大的题目,而二面而是一些基础算法

面试官会让面试者在白纸上写代码或者给面试者一台电脑来写代码,

「一般面试官倾向于使用白纸,这样更好看到同学们的思考方式」

应该用什么语言写算法题呢?

应该用什么语言写算法题呢?「用自己最熟悉什么语言,但最好是JAVA或者C++」

如果不会JAVA或C++的话,那更建议通过做算法题,顺便学习一下。

如果想在编程的路上走得更远,掌握一门重语言是十分重要的,学好了C++或者Java在学脚本语言会非常的快,相当于降维打击

反而如果只会脚本语言,工作之后在学习高级语言会很困难,很多东西回不理解。

所以这里建议特别是应届生,大家有时间就要打好语言的基础, 不要太迷信用10行代码调用一个包解决100行代码的事,

因为这样也不会清楚省略掉的90行做了哪些工作。

这里建议大家 「在打基础的时候 最好不要上来就走捷径。」

「简单代码一定要可以手写出来,不要过于依赖IDE的自动补全 。」

例如写一个翻转二叉树的函数, 很多同学在刷了很多leetcode 上面的题目

但是leetcode上一般都把二叉树的结构已经定义好了,所以可以上来直接写函数的实现

但是面试的时候要在白纸上写代码,一些同学一下子不知道二叉树的定义应该如何写,不是结构体定义的不对,就是忘了如何写指针。

总之,错漏百出。「所以基本结构的定义以及代码一定要训练在白纸上写出来」

4.3 三面 综合技术面

综合技术面 一般从如下三点考察大家。

  • 编程语言

编程语言,这里是面试官「考察编程语言掌握程度」,如果是C++的话, 会问STL,继承,多态,指针等等 这里还可以问很多问题。

  • 计算机基础知识

「考察计算机方面的综合知识」,这里不同方向考察的侧重点不一样,如果是后台开发,Linux , TCP, 进程线程这些是一定要问的。

  • 项目经验

在项目经验中 面试官想考察什么呢

项目经验主要从这三方面进行考察 「技术原理、 技术深度、应变能力」

考察技术原理, 做了一个项目,是不是仅仅调一调接口就完事,之后接口背后做了些什么么?这些还是要了解的

考察技术深度,如果是后台开发的话,可以从系统的扩容、缓存、数据存储等多方面进行考察

考察应变能力,如果面试官针对项目问同学们一个场景,「最为忌讳的回答是什么?“我没考虑过这种情况”。」 这会让面试官对同学们的印象大打折扣。

这个时候,面试官最欣赏的候选人,就是尽管没考虑过,但也会思考出一个方案,然后跟面试官进行讨论。

最终讨论出一个可行的方案,这个会让面试官对同学们的好感倍增。

通常应届生没有什么项目经验,特备是本科生,其实可以自己做一些的小项目。

例如做一个 可以联机的五子棋游戏,这里就涉及到了网络知识,可以结合着自己网络知识来介绍自己的项目。

已经工作的人,就要找出自己工作项目的亮点,其实一个项目不是每一个人都有机会参与核心的开发。

也不是每个人都有解决难题的机会,这也是我们在工作中 遇到难点,要勇往直前的动力,因为这个就是自己项目经验最值钱的一部分

4.4 四面 boss面

技术leader面试主要考察面试者两个能力, 「解决问题的能力和快速学习的能力」

考察解决问题的能力

面试官最喜欢问的相关问题:

  • 「在项目中遇到的最大的技术挑战是什么,而你是如果解决的」

  • 「给出一个项目问题来让面试者分析」

如果你是学生,就会问在你学习中遇到哪些挑战, 这些都是面试官经常问的问题。

面试官可能还会给出一个具体的项目场景,问同学们如何去解决。

例如微信朋友圈的后台设计,如果是你应该怎么设计,这种问题大家也不必惊慌

因为面试官也知道你没有设计过,所以大家只要大胆说出自己的设计方案就好

面试官会在进一步指引你的方案可能那里有问题,最终讨论出一个看似合理的结果。

「这里面试官考察的主要是针对项目问题,同学们是如何思考的,如何解决的。」

考察快速学习的能力

面试官最喜欢问的相关问题:

  • 「快速学习的能力  如果快速学习一门新的技术或者语言?」

  • 「读研之后发现自己和本科毕业有什么差别?」

在具体一点 面试官会问,如果有个项目这两天就要启动,而这个项目使用了你没有用过的语言或者技术,你将怎么完成这个项目?

换句话说,面试官会问:你如果快速学习一门新的编程语言或技术,这里同学们就要好好总结一下自己学习的技巧

如果你是研究生,面试官还喜欢问:读研之后发现自己和本科毕业有什么差别?

「这里要体现出自己思维方式和学习方法上的进步,而不是用了两三年的时间有多学了那些技术,因为互联网是不断变化的。」

面试官更喜欢考察是同学们的快速学习的能力

4.5 五面 hr面

终于到了HR面了,大家是不是感觉完事万事大吉了,这里万万不可大意,否则到手的offer就飞掉了。

要知道HR那里如果有十个名额,技术面留给通常留给HR的人数是大于十个的,也就是HR有选择权,HR会选择符合公司文化的价值观的候选人。

这里呢给大家列举一些关键问题

为什么选择我们公司?

这个大家一定要有所准备,不能被问到了之后一脸茫然,然后说 就是想找个工作,那基本就没戏了

要从技术氛围,职业发展,公司潜力等等方面来说自己为什么选择这家公司

有没有职业规划?

其实如果刚刚毕业并没有明确的职业规划,这里建议大家不要说 自己想工作几年想做项目经理,工作几年想做产品经理的

这样会被HR认为 职业规划不清晰,尽量从技术的角度规划自己。

是否接受加班?

虽然大家都不喜欢加班,但是这个问题 我还是建议如果手头没有offer的话,大家尽量选择接受了

除非是超级大牛手头N多高新offer,可以直接说不接受,然后起身潇洒离去

坚持最长的一件事情是什么?

这里大家最好之前就想好,有一些同学可能印象里自己没有坚持很长的事情,也没有好好想过这个问题,在HR面的时候被问到的时候,一脸茫然

憋了半天说出一个不痛不痒的事情。这就是一个减分项了

如果校招,直接会问:期望薪资XXX是否接受?

这里大家如果感觉自己表现的很好 给面试官留下的很好的印象,「可以在这里争取 special offer,或者ssp offer」

这都是可以的,但是要真的对自己信心十足。

5.学习资料

校招   面试经验的话,主要推荐看书和论文。

        网上资料有七月在线机器学习1000题,书籍的话有李航的统计学习配合西瓜书一块看,后边可以看百面机器学习和百面深度学习两本,论文的话就看自己是那个方向的话看那个方向的论文就好了

6.公众号推荐:

4.1 labuladong

1、《labuladong的算法小抄》纸质书已经出版,点这里查看详情

2、公众号后台回复力扣题目序号即可查询对应文章。

3、全部文章目录 点这里
精简版目录 点这里
小白刷题计划 点这里
进阶刷题计划 点这里
临时突击计划 点这里
查漏补缺计划 点这里

4.2 代码随想录