从Java小白到收获BAT等offer,分享我这两年的经验和感悟,BAT 面试官 如何面试

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别 多模态情感识别是人工智能领域的重要研究方向,旨在通过结合多种感知模态(如音频、视频、文本等)来更准确地识别人类情感状态。与传统单模态方法相比,多模态方法能够利用不同模态间的互补信息,提高情感识别的鲁棒性和准确性。 RAVDESS(Ryerson Audio-Visual Database of Emotional Speech and Song)是一个常用的多模态情感识别数据集,包含24位专业演员(12名男性,12名女性)表达的8种情感状态(中性、平静、快乐、悲伤、愤怒、恐惧、厌恶和惊讶)的音视频数据。 阅读详情


写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。

 

微信公众号【程序员江湖】

 

作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验、求职心得和成长感悟,以及作为程序员的思考和见解。(关注公众号后回复”资料“即可领取 3T 免费技术学习资源)

写在最前

我写过很多篇秋招总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始终。

前言

在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华为等。

(在秋招末期,有幸又拿到了滴滴和亚马逊的offer,那时已经11月份了,所以之前的文章里都没有提到过)

一路走来也遇到很多困难,也踩了很多坑,同时我自己也探索了很多的学习方法,总结了很多心得体会,并且,我对校园招聘也做了一些研究和相应的准备。在今年的秋季招聘结束以后,我也决定把这些东西全部都写成文字,做成专题,以便分享给更多未来将要参加校招的同学。

大学时期的迷茫与坚定

我的本科专业是电子信息工程,基本没有接触过计算机专业的课程,只学过c语言,然后在大三的时候接触过java,Android,以及前端开发。这时候我只是一个刚刚入门的菜鸟,还不知道软件开发的水有多深,抱着试一试的态度去应聘了很多公司。结果可想而知,连简历筛选都没有通过。

当年我对游戏开发很有兴趣,特别是对网易游戏情有独钟,但是当我看到网易游戏研发工程师的招聘要求时,我只能望而却步,因为它要求学历至少是985的硕士。

也因为这个契机,我在大三的暑假开始准备考研,花了一个月的时间深思熟虑之后,选择了华科作为我的目标院校。

于是,2016年的下半年,我成为了“两耳不闻窗外事,一心只读圣贤书”的考研党,回想起来那确实是玩命学习的半年时间,每天稳定泡在图书馆8个小时以上,有时候学到宿舍都能学到晚上12点,那时候感觉自己完全变了一个人似的,可能当一个人为了某个目标而努力时,真的会变得不一样。最终我顺利地考上了,令我意外的是,成绩还挺不错。

研究生时期的方向选择

对于即将读研的同学来说,一般有两件事很重要,一件事是选择导师,一件事是选择方向。

我在刚读研的时候最头疼的也是这两件事情。首先说明一下,我读的是专硕,所以实验室一般不搞科研,有部分导师会带项目,由于我不打算在实验室做项目(因为我更希望去大公司里锻炼几年),所以我当时本着想要找实习的想法选择了导师,事实证明我的选择还是很正确的,我在研二有大段时间去参加实习,让我在大厂里有足够的时间去锻炼和学习。

而选择方向这件事,我倒是折腾了好久。研一期间我做的最多的事情就是看书了,当时自己的方向还不明确,所以找了很多书来看。当别人都在专研数据挖掘和机器学习时,我还在各种方向之间摇摆不定。

我在读研之前想做游戏开发和Android开发,但我以前也学过Java Web开发。于是我在网上了解对应方向的资讯,发现游戏研发的就业面比较窄。

最后,我综合公司的岗位情况,个人兴趣,以及我之前的学习经历等因素,选定了Java开发方向。

于是,我在学校的实训项目中选择了Java Web项目,从此也真正意义上地踏上了Java的学习之路。

笨鸟先飞,勤能补拙

尽管我的入学成绩是全学院的top3,但是,我发现,作为非科班出身的我,和很多科班同学相比,还是有一定差距的。

大部分同学本科都上过计算机专业的相关课程,比如计算机网络,操作系统,数据结构等等,而我以前连听都没听过,除此之外,他们一般都会几段比较完整的项目经验,至少在Java Web方面已经算是比较熟悉了。而我在当时,只学了数据结构,另外接触过一些Java基础,有一部分项目经验,基本上就是入门水平。

于是我痛定思痛,决定好好弥补我的不足,平时一有空就去图书馆找些书来看,不论是操作系统,计算机网络,还是数据库等本科课程,我都会找一些对应的书籍来看,当时不太清楚其实有些课程其实不需要特地去补,以至于我连计算机组成原理,编译原理,软件测试等方面的书都特地找来看,现在想想也是挺逗比的。

由于我们上的课比较水,所以上课时间反而变成了我自学基础课程的大好时光了。所以我平时上课的时候都会带两三本书,一到两周内看完一本,虽然可能吸收的不是特别好,但是对当时的我来说还是有很大帮助的。

除此之外,有时候我还会偷偷去旁听有一些本科生的课程,这也是因为我在自学一些课程的时候遇到了困难,比如《操作系统》,《数据库原理》等等。于是我花时间研究了一下本科生的课表,趁着自己没课的时候赶紧去旁听课程。有时候感觉自己在课堂中显得非常突兀,尴尬地想要逃跑,但总算是坚持地听完了一门数据库的课程。

此外,我还在各种视频网站上看网课,比亦或是看中国MOOC的计算机基础课程,里面的操作系统,数据库等课程也让我印象深刻。

就这样,每天我都把自己的时间填满,愣是在研一上学期看了好几本书,当时书的版本现在有的记不清了,主要是计算机网络,操作系统,计算机组成原理,另外还有软件工程,软件测试,设计模式,等书籍。就这样,我靠着这段时间的坚持把计算机基础课程补上来了一些。

历尽艰辛,终得实习

时间来到研一下半页,这时候我刚刚结束了学校的Java Web的项目实训课程,在做这个项目期间,我发现自己暴露出了很多问题,技术实践能力不足,Java基础不扎实。这件事情也给我自己敲响了警钟,因为我计划在春招期间找一份大厂的实习,但是目前看来我的水平还远远不够。

压力之下,只有努力一条出路。于是,从那时候起,我开始了“留守“实验室的学习生活。为什么要在实验室学习,一是因为学习气氛好,二是因为平时大家也可以互相交流问题。

每天早上9点到实验室打开电脑,晚上9点背电脑回寝室。大部分时间我会花在看书上,这段时间主要看的都是Java相关的书籍,借鉴的是江南白衣大佬的“Java后端书架”,比如《深入理解JVM虚拟机》,《Java并发编程艺术》,《深入分析Java Web技术内幕》,《深入剖析Spring源码》等等。

另外一部分时间我会用来看一些技术博客,我主要是根据面经上的知识点按图索骥,找到对应讲解该知识点的文章,那时候主要还是通过搜索引擎来找文章,当然有时候看到一些重点难点也会自己写一些博客。不过这个时期并不是我大量写博客的阶段,主要还是看一些讲解面试知识点的技术博客为主。

除此之外在面试前几天我会花时间去看这家公司的面经,搞懂每一个面经上的知识点,并且记录在我的笔记上,光是面经相关的笔记我就记了100多篇,这样的学习习惯我一直坚持到了秋招,确保每个面试知识点都能被我记住,消化,直至完全理解。

慢慢的,笔记越来越多,我参加面试的公司也越来越多,于是我开始不断完善自己的简历,总结自己的面试技巧,选择合适的网申时机。从头到尾我大概花了3个月的时间在找实习上,期间大大小小参加了20多次面试,我也从一开始面试一问三不知的菜鸟,逐渐变成了面霸,到复习末期,我对Java常见面试知识点已经了然于胸,同时也越来越自信,不管面什么大厂都不慌不忙。

这样的日子持续了好几个月,所谓世上无难事,只怕有心人。到最后,实验室里每个人都拿到了心仪的实习offer。

实习路上,我明白了很多

踏出学校大门,我的实习之路才刚刚开始。8个月左右的实习时间,说长也长,说短也短。但经历过这段实习之后,我才明白了很多事情。

在猪场实习的日子里,我第一次了解大公司的开发流程,亲自参与项目代码的开发,我的导师会和我提需求,会指导我怎么做得更好。在这里的成长无疑是非常快速的,但我很快意识到我的问题所在,不熟悉部门技术栈,对很多Java Web的技术原理都不太熟悉,这段时间我意识到了自己的知识深度和广度都可能都有待提高。

不过由于家里的一些事情。我提前离职了,所以在猪场呆的时间很短,以致于我没来得及搞懂部门项目的技术架构就走了,这也让我在离开以后感觉很遗憾,所以我下定决心在下个实习单位要好好做。

离开猪场后我来到了熊厂。部门给我提的需求不算太难,大部分都是一些CURD的工作,但是这次很快就意识到了问题所在,就是我不太熟悉部门的整体技术栈,所以在需要借鉴别人代码时偶尔会看不懂。后来部门又给了新的重构需求,此时的我开始焦虑起来,是不是应该做出一些改变呢。

终于,我找到了新的目标,我要搞懂部门的项目架构,了解相关技术栈(我们部门做的是私有云),一开始,我会请教我的导师,尽量去了解项目的架构设计,除此之外,我还会利用一些时间去看其他同事负责的代码,并且通过一些文档和PPT去了解这些代码的功能和意义。结合代码和文档,再加上和同时的交流,我对部门项目的架构逐渐熟悉起来,为了更好地理解每一块代码的作用,我还为一些模块的代码写了注释。

当然,光看代码和文档还不能解决所有问题,因为这个项目的重点难点不在Web应用,而是在底层技术,这个项目中包含了两套架构,分别是一套OpenStack集群和一套docker集群。为了学习这两块内容,我先是看了很多博客,然后在平台上跑虚拟机和容器来做实践,最后又看了这方面的一些书籍,主要是《OpenStack设计与实现》,《docker技术入门实战》。

但是这还不够,虚拟化技术与Linux内核息息相关,又需要学习者对操作系统和计算网络非常熟悉,我自知这些内容我学得还不够深入,于是我花大量时间看这方面的书,当时也遇到了几本确实不错的书,分别是《深入理解计算机系统》,《计算机网络:自顶向下方法》,还有一本没来得及看完的《Linux内核设计与实现》。虽然以后不一定会作云计算方向的开发,但是学完这些东西我还是非常开心的。

到后来,我工位上的书越来越多,我对部门的技术栈也越来越熟悉,有时候我还会去听公司内各个团队组织的技术分享,有空的时候看看内网的技术课程,真正地实现了自己在技术广度上的拓展。

有时候我觉得,实习生活是会骗人的,你佩戴着和正式员工一样的工牌,和他们做着类似的事情,会让你觉得你的水平已经和他们差不多了,但事实上是,在转正之前,你和他们还差得远,所以不要停下自己前进的脚步,抓紧时间学习吧,把握好你在公司里的机会,合理利用公司给你提供的资源。

秋招前的积累与沉淀

研究生期间我有一件事情一直在坚持,那就是做笔记和写博客。

做笔记,就是记录学习中大大小小的事情,可能是面试问题,可能是一周的学习计划,也可能知识一个知识点,总归都是值得记录的东西,对我来说,就是一种积累。而对于博客,我从一开始只用于记录项目,到后来做转载,再到后来写原创,整理系列文章,则更像是一种沉淀。

但是在春招刚刚结束的这段时间,我发现一个问题,之前学过的东西忘记了很多,特别是那些理解的不够深的知识点,总是特别容易忘记。另外我发现,虽然我在笔记中记录了很多的知识点和面试题,但是往往我只看过一次,不会再去看第二次。

这也意味着,虽然记录的内容很多,但是真正消化吸收的内容很少,脑子里充斥着总是那些零碎的知识点和面试问题,对于完整的知识体系知之甚少。这些问题在春招期间也不断地暴露出来,让我思考了很久。

面对如此窘境,我想做出改变,趁着现在时间充裕,我想要为这些内容做一次减法,并且借此机会,推翻自己原有的知识体系,重建新的知识框架。简单说来,就是重新开始学习Java后端,这次我要用一种更高效的方式,避免走之前走的弯路,要用最高效,最合理的方式去复习。由于我之前已经有基础,所以我对完成这一目标有信心,相应地我也为此做出了明确且详细的学习计划。

我打算用几个关键词来形容这三个月的秋招复习。

“具体可靠的学习计划”

在三个月的时间里,我首先按照Java后端路线图安排好复习计划,每个知识点都会对应安排一段时间,比如我可能花一天时间复习“Java反射”,两天时间复习“设计模式”,一周的时间用于复习"JVM虚拟机”。我一般会在月初做好整个月的计划,然后根据进度做一些微调,但是基本上我都可以跟上进度,并且是在复习到位的前提下。

所以我觉得,对于秋招这一场苦战,指定计划尤为重要,一旦计划定下来,战略目标清晰,对应的战术制定也会变得清晰,执行力也会随之变强。

“写博客整合知识点”

至于复习方法,我主要通过看高质量博客,并且结合代码实践的方式巩固这部分知识点,比如今天学习“concurrenthashmap”,我会去找两三篇比较好的博客先看看,主要是源码解读方面的,然后我会把它们进行整合,如果有遗漏的知识点我会再进行补充,有时候我还会自己去看看JDK源码,以便更好地理解博客内容,完成知识整合之后,我就会对应地整理出一篇博客出来,发在我的个人博客上。

除此之外,当我完成了一整个专题的复习之后,我会把这些文章整理成一个专题,比如上面说的“concurrenthashmap”,实际上属于Java并发包,所以我会专门做一个博客专栏,用来完成Java并发系列的文章专题。对于每一个文章专题,我都会先理清这个专题一共有哪些内容,然后再开始整理。比如对于Java并发包,我会先写Java多线程基础的文章,再写JMM内存模型的文章,接着一步步着手写Java线程池,阻塞队列,工具类,原子类等等。这样一来这部分内容就复习完毕了,写系列文章的好处就在于,我可以从头到尾理清脉络,并且对于每一部分的知识点都做了比较好的总结。

对于博客的选择,我吸取了之前的教训,宁愿花半小时看一篇高质量文章,也不花10分钟看5篇烂文章。深度阅读的好处,就是可以让这部分内容更好地融入你脑内的知识体系,而不是像其他快餐文章一样转瞬即逝。

“做项目巩固实践能力”

由于之前在实习期间参加的项目都比较大,我接触的模块也比较单一,没有对整体项目有一个很好的把握,所以我决定趁这段时间再巩固一下我的项目实践能力,这里的能力主要是指的是对项目架构的把握能力,以及对业务开发的熟练度,当然也包括对各种常用后端技术的熟悉程度。

我花了大概一个月的时间完成了两个项目的开发,当然主要也是模仿两个开源项目做了,这两个项目都使用SpringBoot快速开发,并且用到一些常用的后端技术比如redis,云存储,以及一些常见Web框架,除此之外还涉及到了solr,爬虫等技术。虽然项目不算很难,但是我在这段时间里很快地熟悉了完整项目开发的流程,并且每天做迭代,通过Git来跟进版本,每个版本都会写清所做的内容,这也让我对项目的架构非常熟悉。

在项目之余,我也找一些常用的后端组件来跑一跑demo,以便让我对这些技术有一个直观的了解,比如面试常问的dubbo,zookeeper,消息队列等组件。这些尝试也让我在理解它们的原理时更加得心应手了。

“坚持刷题,注重方法”

算法题是秋招笔试面试中的重头戏,每个研发同学都免不了经历算法题的摧残,对我这么一个非科班同学来说,更是让人头大。正因为如此,我放弃了刷大量LeetCode题目的方法,选择了更加行之有效的刷题方式。

首先我重新刷了一遍剑指offer,并且对每道题目进行总结,尽量保证每一道题都可以记在脑子里,众所周知剑指offer中的题是面试时非常喜欢考的,所以先搞定这部分题目是最为关键的。

搞定剑指offer之后,当然还要刷LeetCode了,LeetCode题目这么多,怎么选择呢,我没有按照tag刷,也没有按照顺序刷,而是参考当时一个大佬的LeetCode刷题指南来进行刷题的,他把每个类型的题目都做了归纳,每部分只放一些比较经典的题目。所以我前后大概刷了100多道LeetCode的题目,并且在第二遍刷题复习的时候,我也对这些题目做了一份总结。

除了上面两个经典题库,我还着重刷了大厂的历年真题,这部分我主要是通过牛客网的历年真题题库来完成刷题的。说实话,真题是非常重要的,因为公司出的题目不像平时的那些算法题,可能会出得非常奇葩,所以你如果不提前适应的话会比较吃亏。完成这部分题目之后,我对算法题的复习也基本告一段落了。

当我完成所有内容的复习时,提前批已经开始了。终于要上战场了,因为战前准备比较充分,所以我对秋招还是比较乐观的,但事实上,秋招不仅是攻坚战,而且是持久战,要笑到最后,确实也不是那么容易的事情。

重建知识体系,对学过的东西做减法

前面提到我在秋招前完成了知识体系重建,那在这里我也想跟大家分享一下我当时大致的知识体系构成。就跟我前面说的一样,我选择重新再学一遍Java后端相关的技术内容,因为我知道大致的学习方向,并且有一定的基础,所以看很多文章变得更加得心应手,写文章和做总结也更加有底气了。

首先在Java基础方面,我写了20多篇原创博客,主要是对Java核心技术的解析,比如“Java反射”,“Java序列化和反序列化”,“Java异常体系”等等。

在Java集合类方面,我原创了部分文章,另外整合了一些比较好的技术文章,其中最主要的就是关于hashmap的文章,当时我整合的文章几乎没有遗漏任何一个知识点。

在Java并发编程方面,我主要参考了并发编程网以及一些优质博客的文章,先搞懂了Java并发原理,再一步步学习JUC并发包的组件,其中重点看了chm,并发工具类以及阻塞队列等JDK源码的解析文章,除此之外,我还会在IDE中跑JUC相关的emo,毕竟这方面的内容非常需要实践。

在Java网络编程方面,我先从最基础的socket入手,再讲到NIO,AIO,并且加入了几篇对Linux IO模型解析的文章,让整个知识体系更加完整(因为NIO是基于Linux Epoll实现的),接着我又加入了对Netty的探讨,以及Tomcat中对NIO的应用,可以说是把Java网络编程一些比较重要的部分都囊括进来了。为了更好理解这部分内容,我也在网上参考了很多客户端和服务端通信的demo,最后我分别用Socket,NIO,AIO以及Netty把C/S 通信的demo都写了一遍。

在JVM虚拟机方面,我则按照《深入理解JVM虚拟机》这本书的行文脉络进行文章的整理。在搞定JVM基本原理以后,我着重了解了JVM调优和实践中常遇到的问题,并且整理了常用的JVM调优工具,场景问题以及调优实践的案例,这也是因为面试中对JVM调优实践越来越重视了。

在JavaWeb方面,我从Java Web相关技术的发展入手,一步步了解了每种技术存在的意义,比如JSP,Servlet,JDBC,Spring等等,然后对每种技术进行了比较全面的了解,并且着重地看了Spring和SpringMVC的源码分析文章,另外一方面,我花了很多时间去研究Tomcat的工作原理。除此之外,JavaWeb项目中常用的maven,日志组件,甚至是单测试组件,也纳入了我的系列文章里。

在数据库和缓存方面,我主要学习了MySQL和Redis这两种最常用的数据库。对于Mysql,我从简单的sql开始了解,然后开始了解sql优化,MySQL的存储引擎和索引,事务及锁,还有更复杂的主从复制,分库分表等内容。对于Redis,我也是从简单的api入手,然后去了解每一种数据结构的底层实现原理,接着尝试去学习Redis的持久化方式,以及作为缓存常需要考虑的技术点,当然,也包括Redis的分布式锁实现,以及它的分布式集群方案。

最后一部分就是分布式相关的理论和技术了,这个也是困扰我很久的一块内容,我主要把这块内容分为两个部分,分别是分布式理论和分布式技术,理论方面,我先了解CAP,BASE等基本知识,然后开始学习一致性协议和算法,接着探讨分布式事务。对于分布式技术,涉及的东西就更多了,例如分布式session,负载均衡,分布式锁等内容,这些知识点我都会用一到两篇文章去总结,对于分布式缓存,消息队列,以及分布式服务等内容,我会花比较多的时间去全面学习,然后总结出一个系列的文章出来。当然,对于这些技术的学习主要还是停留在理论方面,在自己的项目中能用到的比较少。

至此,我的知识体系基本构建完成,这也是我在秋招中能够成功闯过那么多面试的原因。

秋招之路,砥砺前行

不管前期做了多少准备,到秋招的时候也不能掉以轻心,从七月底第一次面试到9月基本佛系,中间经历了大大小小的面试。

在完成知识体系重建以后,我把重点转向了另外几件事,一是完善和熟悉我的简历,以便在面试中能够比较好地发挥,二是持续刷题,保持对算法题和笔试真题的手感和熟练度,三则是看面经查缺补漏,我一直认为看面经是很重要的一项复习内容。

就这样,我一边继续复习,以便开始了一场接一场的面试接力。

起初,我面了几家小公司练手,接着阿里的提前批接踵而至,我战战兢兢地参加了阿里中间件部门的面试,面难难度还算适中,一共四轮面试,当时我的表现也还不错,问题基本都答上来了。面完不到一周以后我就收到了通过的消息,当时还有点懵。没想到第一个offer这么快就来了。

这段时间内,蚂蚁金服的两个部门也给了我面试机会,我都参加了它们的面试,并且顺利地拿到了其中一个部门的offer。由于我对蚂蚁这边的业务比较感兴趣,最终选择了蚂蚁金服的offer。

阿里提前批的胜利确实是意外之喜,但也大大地鼓舞了我,于是我又参加了百度和腾讯的提前批面试,由于百度的提前批不走流程,一共有四个部门面试了我,每个部门都有2到3轮面试,总计约为12次面试,到后来我已经快晕了,看到百度的电话就害怕,由于面试次数太多,有时候发挥确实也不是很好,我也没有特别在意,只当是在锻炼自己了。

百度的面试难度每个部门不一样,但是每次面试必写算法题,一写算法题,时间至少就是一个小时以上,每次面试完都有一种身体被掏空的感觉。

经历了百度面试的摧残以后,我手写算法的速度也变快了,很多坑也被我填上了。接下来面对腾讯的面试,我也是既激动又担心,腾讯的面试难度比较大,对于操作系统和网络的知识喜欢深挖,问的东西也很有深度,面完前三面以后,第四面拖了3周才进行。当时三面面试官对我的评价比较好,也让我信心爆棚了好久。

在等待腾讯终面的期间,我参加了今日头条的面试,当时有幸拿到了一个白金码,免去笔试,事实证明白金码作用真的很大。头条的面试难度和腾讯差不多,三轮面试,同样需要写各种算法,由于是视频面试,我可以清楚地看到,头条的面试官真的非常高冷啊。面完头条我的第一感觉就是应该挂了吧。没想到最后还是给了offer。

结束这几家大厂的面试之后,我觉得我的秋招已经接近尾声了,不过由于之前投的比较多,所以我又面了几家大公司,如网易,华为,快手等。到9月上旬的时候,我接连收到了bat和头条,网易的意向书,阿里最早,腾讯最晚,每收到一封意向书我都很开心,没想到最后我真的可以集齐bat等大厂的offer。

9月以后,除了偶尔和同学做几场大厂的笔试,我基本就佛系了。直到后来一些外企例如亚马逊,大摩开始笔试面试,我才又重新回到了状态。

截止目前,我基本上把该拒绝的offer都拒绝了,综合各方面因素的考虑,最后应该会签阿里,原因是部门是我自己喜欢的,同时给的评级也比较高。虽然腾讯也给了sp,但是最后还是忍痛割爱啦。至于百度和头条,给的offer并不是很令人满意,所以就没有考虑了。

至此,我的秋招之旅总算圆满结束。

面经分享

具体的面经都比较长,这里大概介绍一下面试的情况,具体的面经请大家关注我的公众号并回复“面经”即可查看。

1 阿里面经

阿里中间件研发面经

蚂蚁金服研发面经

岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。

我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。

然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。

最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。

阿里的面试体验还是比较好的,至少不要求手写算法,但是非常注重Java基础,中间件部门还会特别安排Java基础笔试。

2 腾讯面经

腾讯研发面经

岗位是后台开发工程师,我没有选择意向事业群。

SNG的部门捞了我的简历,开始了面试,他们的技术栈主要是Java,所以比较有的聊。

一共经历了四次技术面试和一次HR面试,目前正在等待结果。

腾讯的面试一如既往地注重考查网络和操作系统,并且喜欢问Linux底层的一些知识,在这方面我还是有很多不足的。

3 百度面经

百度研发面经

百度研发面经整合版

岗位是研发工程师岗位,部门包括百度智能云的三个分部门以及大搜索部门。

百度的提前批面试不走流程,所以可以同时面试好多个部门,所以我参加百度面试的次数大概有12次左右,最终应该是拿了两个部门的offer。

百度的面试风格非常统一,每次面试基本都要到电脑上写算法,所以那段时间写算法写的头皮发麻。

4 网易面经

网易研发面经

面试部门是网易云音乐,岗位是Java开发工程师。

网易是唯一一家我去外地面试的公司,也是我最早去实习的老东家。

一共三轮面试,耗时一个下午。

网易的面试比我想象中的要难,面试官会问的问题都比较深,并且会让你写一些结合实践的代码。

5 头条面经

今日头条研发面经

岗位是后台研发工程师,地点选择了上海。

我参加的是字节跳动的内推面试,当时找了一个牛友要到了白金码,再次感谢这位头条大佬。

然后就开始了一下午的视频面试,一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。

更多面经请点击阅读原文进行查看。

笔试经验

提前批的笔试其实不是很多,我参加了网易,网易游戏,拼多多等公司的笔试,应该都是低分飘过。

我的算法基础比较一般,读研之前0基础,所以这方面学的比较艰辛,分享一些我的笔试准备经验。

1 打好数据结构和算法基础

2 先易后难,看一些基础的算法书籍,比如《图结算法》,《啊哈算法》等等。

3 剑指offer刷起来,两到三遍,做到胸有成竹

4 LeetCode刷个200题左右,记得二刷,做好总结。

5 到牛客网做公司的历年真题,熟悉题型,保持手感。

剑指offer指南和LeetCode刷题指南可以在我的博客里找到。

其中LeetCode指南是参考@CyC2018大佬的文章。

面试经验

面试主要考的还是你的基础知识,需要你对Java后端技术栈有一个全局上的把握,具体说起来就太多了,具体复习方案可以参考文章后面的内容。

我个人也总结了一些面试方面的经验,主要是一些技巧。

1 做好自我介绍和项目总结,把握你发言的主动权

2 搞清楚简历上的技术点,兵来将挡水来土掩

3 注意分点答题,思路清晰,也更容易讲清楚原理。

4 压力面下保持冷静,不要回怼面试官

5 HR面试注意常用技巧,可以提前准备。

Java后端技术专栏

对于校园招聘来说,最重要的还是基础知识。下面的博客专栏出自我的技术博客 https://blog.youkuaiyun.com/a724888

 

这些专栏中有一些文章是我自己原创的,也有一些文章是转载自技术大牛的,基本都是是我在学习Java后端的两年时间内陆续完成的。

总的来说算是比较全面了,做后端方向的同学可以参考一下。

 

深入浅出Java核心技术

本专栏主要介绍Java基础,并且会结合实现原理以及具体实例来讲解。同时还介绍了Java集合类,设计模式以及Java8的相关知识。

 

深入理解JVM虚拟机

带你走进JVM的世界,整合高质量文章以阐述虚拟机的原理及相关技术,让开发者更好地了解Java的底层运行原理以及相应的调优方法。

 

Java并发指南

本专栏主要介绍Java并发编程相关的基本原理以及进阶知识。主要包括Java多线程基础,Java并发编程基本原理以及JUC并发包的使用和源码解析。

 

Java网络编程与NIO

Java网络编程一直是很重要的一部分内容,其中涉及了socket的使用,以及Java网络编程的IO模型,譬如BIO,NIO,AIO,当然也包括Linux的网络编程模型。

了解这部分知识对于理解网络编程有很多帮助。另外还补充了两个涉及NIO的重要技术:Tomcat和Netty。

 

JavaWeb技术世界

从这里开始打开去往JavaWeb世界的大门。什么是J2EE,什么是JavaWeb,以及这个生态中常用的一些技术:Maven,Spring,Tomcat,Junit,log4j等等。

我们不仅要了解怎么使用它们,更要去了解它们为什么出现,其中一些技术的实现原理是什么。

 

Spring与SpringMVC源码解析

本专栏主要讲解Spring和SpringMVC的实现原理。

Spring是最流行的Java框架之一。

本专栏文章主要包括IOC的实现原理分析,AOP的实现原理分析,事务的实现源码分析等,当然也有SpringMVC的源码解析文章。

 

重新学习MySQL与Redis

本专栏介绍MySQL的基本知识,比如基本架构,存储引擎,索引原理,主从复制,事务等内容。当然也会讲解一些和sql语句优化有关的知识。

同时本专栏里也介绍了Redis的基本实现原理,包括数据结构,主从复制,集群方案,分布式锁等实现。

 

分布式系统理论与实践

本专栏介绍分布式的基本理论和相关技术,比如CAP和BASE理论,一致性算法,以及ZooKeeper这类的分布式协调服务。

在分布式实践方面,我们会讲到负载均衡,缓存,分布式事务,分布式锁,以及Dubbo这样的微服务,也包括消息队列,数据库中间件等等。

 

后端开技术杂谈

本专栏涵盖了大后端的众多技术文章,当你在Java后端方面有一定基础以后,再多了解一些相关技术总是有好处的。

除了Java后端的文章以外,还会涉及Hadoop生态,云计算技术,搜索引擎,甚至包括一些数据挖掘和AI的文章。

总的来说选取了一些不错的基础类文章,能让你对大后端有一个更直观的认识。

 

Java工程师必备书单

我之前专门写了一篇文章介绍了Java工程师的书单,可以这里重点列举一些好书,推荐给大家。

完整内容可以参考这篇文章:

《计算机网络:自顶向下》这本从应用层讲到物理层,感觉这种方式学起来更轻松。

 

《图解算法》《啊哈算法》

这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括dp,贪心等等,可以作为入门书,后者则把很多常用算法都进行了实现,包括搜索,图,树等一些比较高级的常用算法。

 

《剑指offer》这本书还是要强烈推荐的,毕竟是面试题经常参考的书籍,当然最好有前面基本的铺垫再看,可能收获更大,这本书在面试之前一般都要嚼烂。如果想看Java版本的代码,可以到我的Github仓库中查看。

 

《Java编程思想》这本书也是被誉为Java神书的存在了,但是对新手不友好,适合有些基础再看,当然要选择性地看。我当时大概只看了1/3

 

《Java核心技术卷一》

这本书还是比较适合入门的,当然,这种厚皮书要看完还是很有难度的,不过比起上面那本要简单一些

 

《深入理解JVM虚拟机》

这本书是Java开发者必须看的书,很多jvm的文章都是提取这本书的内容。JVM是Java虚拟机,赋予了Java程序生命,所以好好看看把,我自己就已经看了三遍了。

《Java并发编程艺术》

这本书是国内作者写的Java并发书籍,比上面那一本更简单易懂,适合作为并发编程的入门书籍,当然,学习并发原理之前,还是先把Java的多线程搞懂吧。

 

《深入JavaWeb技术内幕》

这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,不过一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。

《Redis设计与实现》

该书全面而完整地讲解了 Redis 的内部运行机制,对 Redis 的大多数单机功能以及所有多机功能的实现原理进行了介绍。这本书把Redis的基本原理讲的一清二楚,包括数据结构,持久化,集群等内容,有空应该看看。

《大型网站技术架构》

这本淘宝系技术指南还是非常值得推崇的,可以说是把大型网站的现代架构进行了一次简单的总结,内容涵盖了各方面,主要讲的是概念,很适合没接触过架构的同学入门。看完以后你会觉得后端技术原来这么博大精深。

《分布式服务框架原理与实践》

上面那本书讲的是分布式架构的实践,而这本书更专注于分布式服务的原理讲解和对应实践,很好地讲述了分布式服务的基本概念,相关技术,以及解决方案等,对于想要学习分布式服务框架的同学来说是本好书。

 

《从Paxos到Zookeeper分布式一致性原理与实践》

说起分布式系统,我们需要了解它的原理,相关理论及技术,这本书也是从这个角度出发,讲解了分布式系统的一些常用概念,并且带出了分布式一哥zookeeper,可以说是想学分布式技术的同学必看的书籍。

 

《大数据技术原理与应用》

作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的,从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚,另外也加入了spark,storm等内容,可以说是大数据入门非常好的一本书了。

技术大牛推荐

1 江南白衣

这位大大绝对是我的Java启蒙导师,他推荐的Java后端书架让我受益匪浅。

2 码农翻身

刘欣,一位工作15年的IBM架构师,用最浅显易懂的文章讲解技术的那些事,力荐,他的文章帮我解决了很多困惑。

3 CoolShell

陈皓老师的博客相信大家都看过,干货很多,酷壳应该算是国内最有影响力的个人博客了。

4 廖雪峰

学习Git和Python,看它的博客就够了。

5 HollisChuang

阿里一位研发大佬的博客,主要分享Java技术文章,内容还不错。

 

6 梁桂钊

阿里另一位研发大佬,博客里的后端技术文章非常丰富。

 

7 chenssy

这位大佬分享的Java技术文章也很多,并且有很多基础方面的文章,新手可以多看看。

 

8 Java Doop

一位魔都Java开发者的技术博客,里面有一些不错的讲解源码的文章,数量不是很多,但是质量都挺不错的。

 

学习资源分享

学习Java后端两年的时间里,接触过很多的资料,网站和课程,也走了不少弯路,所以这里也总结一些比较好的资源推荐给大家。

0 优快云和博客园,主流的技术交流平台,虽然广告越打越多了,但是还是有很多不错的博文的。

 

1 importnew 专注Java学习资源分享,适合Java初学者。

 

2 并发编程网,主要分享Java相关进阶内容,适合Java提高。

 

3 推酷 一个不错的技术分享社区。

 

4 segmentfault,有点像国内的Stack Overflow,适合交流代码问题的地方。

 

5 掘金,一个很有极客范的技术社区,强推,有很多技术大牛分享优质文章。

 

6 开发者头条,一个整合优质技术博客的社区,里面基本上都是精选的高质量博文,适合技术学习提升。

 

7 v2ex,一个极客社区,除了交流技术以外还会有很多和程序员生活相关的话题分享。

 

8 知乎

这个就不必多说了。

 

9 简书

简书上有些技术文章也很不错,有空大家也可以去看看。

 

10 Github

有一些GitHub的项目还是非常不错的,其中也有仓库会分享技术文章。

后记

秋招结束以后,我就把主要精力花在做这个公众号上了。当然,剩下要处理的事情还有很多,毕业论文,毕业旅行,还有工作前的知识储备等等。果然,人的一生需要不断的修行,刚刚闯过了一关又马上要迎接下一轮挑战,你不能停下脚步,毕竟大家都在往前走。

希望还在求职路上的各位少侠好好加油,在未来也能够顺利地拿到自己想要的offer!

本文中涉及到的几个链接我汇总在这里,方便大家查看。

1、优快云技术博客:blog.youkuaiyun.com/a724888(Java后端技术站点,整理很多Java后端技术文章,推荐Java方向的同学看看)

2、知乎:www.zhihu.com/people/h2pl(知乎活跃用户,希望未来能成为大V)

3、牛客网:www.nowcoder.com/profile/3539721(牛客网活跃粉,分享过一些面经和心得)

4、GitHub:https://github.com/h2pl(用于自己做项目,以及刷剑指offer、LeetCode、历年笔试题)

当然,记得要关注一下公众号【程序员江湖】,有很多校招和学习干货在这里等你发掘,特别是正在准备校园招聘的各位同学,一定不要错过了哈。



往期精彩回顾



限时免费 | 程序员校招指南(BAT校招老司机出品)

从零基础到拿到网易Java实习offer,我做对了哪些事

校招前几个月,如何高效地进行复习?

刷完500道BAT面试题,我能去面试大厂了吗?

2017春招实习面试回顾:从面试连跪到收割offer

分享你最关心的技术、求职、学习和成长那些事

 


转载:https://www.cnblogs.com/xll1025/p/10102179.html

推荐内容:
一个两年Java的面试总结
Java大牛呕心沥血经历——技术面试与HR谈薪资技巧
Java在常见的spring面试问题TOP50
java面试题----工厂模式大整理(面试问的较多)
JAVA多线程面试题
Java 文件流操作.
Java导入excel并保存到数据库
Java面试题——中级(下)
Java面试前需要了解的东西
图解Java常用数据结构(一)

 

基于STM32L4XX、HAL库的AP6275S WIFI 模块驱动程序设计 支持802.11a/b/g/n/ac/ax (Wi-Fi 6)标准。// 这部分通常依赖于Broadcom提供的固件和驱动。// 这里需要添加Wi-Fi固件加载和初始化的代码。// 通常需要通过SDIO发送命令和接收响应。// 这里需要添加蓝牙HCI初始化代码。// 处理Wi-Fi和蓝牙数据。// 这里需要实现Wi-Fi连接逻辑。// 初始化SDIO和UART。// 确保蓝牙使能引脚已设置。// 关闭Wi-Fi和蓝牙。// 关闭Wi-Fi和蓝牙。// 打开Wi-Fi和蓝牙。// 初始化AP6275S。 阅读详情

相关推荐

GEOSHIELD:分布式CPS的拜占庭容错与安全防护技术

分布式系统在关键基础设施(如轨道交通、智能电网)中面临网络延迟和恶意节点的双重挑战。拜占庭容错(BFT)技术通过算法保证系统在存在故障节点时仍能达成一致,是保障系统安全的核心机制。GEOSHIELD创新性地结合概率化网络延迟测量和TGS动态信任评分,实现了不依赖可信硬件的拜占庭 resilience。该技术通过建立节点行为的信用档案,动态识别恶意行为,在保证安全性的同时最大化系统可用性。实验证明,即使在自适应攻击策略下,GEOSHIELD仍能保持系统95.6%的正常运行时间,为CPS系统提供了可靠的安全防护

weixin_31766003的博客 345

从Java小白到收获BAT等offer,分享我这两年的经验和感悟

写在最前 我写过很多篇秋招总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始终。 前言 在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司...

Java技术江湖 3万+

ENU坐标系实战:5分钟搞定无人机导航中的站心坐标转换

本文针对无人机导航中GPS坐标与视觉感知不匹配的定位漂移问题,提供了基于ENU坐标系的实战解决方案。通过Python代码演示了如何快速、精准地实现地心地固坐标与站心坐标之间的转换,并详细解释了转换原理、精度对比及工程优化技巧,帮助开发者从根本上解决局部相对定位不准的难题。

mqtt6iot的博客 552

【2020校招总结】接受社会的毒打,收获腾讯天美、字节跳动、网易互娱、华为等offer(开发岗)

总结大半年校招经历,希望帮助更多今后想从事软件开发岗的应届同学。

チン昶的博客 5578

Oracle监听配置

Oracle监听配置## 标题 选择“监听程序配置”,然后下一步。 选择重新配置,然后下一步/。 不用管,按下一步。 下一步。 选择“否”,下一步。 选择"本地net服务名配置",然后下一步。 选择“重新配置”,然后下一步。 服务名 是"Oracle",然后下一步。 主机为你的IP地址,在doc系统下通过"ipconfig"获取IP地址。然后输入,然后下一步。 选择“是,进行测试...

m0_46079215的博客 806

三角洲行动交易行自动化脚本

DFMarketBot - 三角洲行动自动交易助手 DFMarketBot是一款专为三角洲行动游戏设计的交易行自动化工具,通过OCR识别和鼠标模拟实现自动补卡、补子弹功能。项目采用Python开发,支持Windows平台,主要功能包括: 自动检测并购买指定物品(房卡/子弹) 价格监控与智能购买(低于设定价格自动下单) 自定义购买数量与次数限制 支持窗口/无窗口两种游戏模式 使用前需安装Tesseract OCR引擎并配置游戏为1920*1080分辨率。通过JSON文件可灵活配置监控物品清单、理想价格和购买策

愤怒的阿木木的博客 3万+

自学java后都是怎么找的工作?

我最近一直在帮公司做java方面的技术面试,平时利用周末时间兼职在培训班辅导Java初学者找工作,结合上述经历,我说下对于通过自学java的方式找工作的一些建议。 1 如果学历是本科以下,或者之前没有商业项目经验,建议投小公司,因为大公司看学历。 2 简历上一定要有项目经验的描述,如果没有,简历没面试机会。而且,如果27岁以上的简历,简历上的项目经验不足2年,这份简历也没有面试机会。 3 结合面试过程准备技能,这样能最快找到工作。在找到工作前,只需要学最基本的,一定别系统学,因为零基础系统学java,

hsm_computer的博客 1万+

从零构建:STM32与EC800 4G模块的工业物联网数据透传实战

本文详细介绍了如何从零构建STM32与EC800 4G模块的工业物联网数据透传系统。内容涵盖硬件选型、抗干扰电路设计、AT指令稳定性优化、网络连接管理、可靠数据透传协议以及低功耗策略,为开发者提供了一套可直接应用于工业场景的完整实战方案。

uran的专栏 1014

【P4阶段:第一模块:第1-4章】JavaSE之Java基础知识

本课程对标阿里P4+需求,自发布以来,深受初学者的喜爱,本课程只要是从零开始,带领大家进入程序员这个行业,课程由浅入深,循序渐进,课程大纲设计之初就是对标互联网公司。

Vivado 2018.3实战:用IDELAYE3和ISERDESE3搞定高速ADC数据采集(附仿真源码)

本文详细介绍了在Vivado 2018.3中使用Xilinx UltraScale架构的IDELAYE3和ISERDESE3原语实现高速ADC数据采集的实战方法。通过分析5GHz采样系统的时序挑战,提供从PCB布局到Vivado实现的完整解决方案,包括精密时序校准、多相位数据重组及系统级调试技巧,并附赠仿真源码助力工程师快速掌握高速数据采集技术。

weixin_30567225的博客 582

基于Transformers库的BERT模型:一个文本情感分类的实例解析

简介 本文来讲述BERT应用的一个例子,采用预训练好的BERT模型来进行演示。BERT的库来源于Transformers,这是一个由PyTorch编写的库,其集成了多个NLP领域SOTA的模型,比如bert、gpt-2、transformer xl等,并且可以自由选择已经预训练好的模型参数,我们可以基于这些参数进行进一步的训练调试。 Part 1: 利用BERT基于特征的方式进行建模 1、任务与数...

蓝天白云梦的csdn博客 2万+

java零项目经验,找工作前该如何准备项目?面试时又该怎么说?

当下找Java工作时,面试官必问的问题是,你干过多少年的java项目?你最近的项目里,用到了哪些java技术?随会在此基础上进一步确认求职者的能力。 如果求职者之前有做过java项目,这块自然没问题,大不了就是说好说坏的程度。但如果求职者之前没有java项目经验,比如是毕业生找工作,或者是零基础想转行,那么确实就会遇到问题,比如怎样在简历上填补Java项目经验,如何在面试中如何通过java项目证明自己的能力。 本文就将围绕java零项目经验求职者的实际,详细说下如何高效地准备java项目,以及在面试中通

hsm_computer的博客 6043

18、项目运行与调试全攻略

本文详细介绍了在IntelliJ IDEA中进行项目运行与调试的完整流程,涵盖运行配置的创建与管理、临时配置的使用与保存、运行窗口的控制台操作及多程序并行运行的处理。同时,讲解了如何通过调试器定位和修复语法错误、运行时错误及逻辑错误,并结合ACME项目演示了第三方库Log4J的集成方法和命令行客户端的功能改进。文章还提供了调试流程图,帮助开发者系统掌握IDEA的强大调试功能,提升开发效率与代码质量。

svm4gardener的博客 75

一位前BAT面试官详谈进入BAT面试经验

“ 之前有一篇文章“最强攻略:java程序员如何通过阿里、百度社招面试”谈到了进入BAT需要掌握的技术知识点,关注优知学院可以获得。很多同学看完后,一直在说能否与面试一起结合谈谈这方面的经验。所以,补充了本篇文章。 希望能使大家在未来少走点弯路! 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公司,都是有一个概率在那。如果你基础好,项目经验足,同时准备充分,那么你拿到offer的概率就会比较高;相反,如果你准备不充分,基础...

一个有情怀的程序猿博客 1384

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

面试BAT时,他们问了我这些!

能进入BAT 等一线大厂工作,是很多开发者们的目标与梦想,为帮助开发者们提升面试技能、高效通关一线互联网公司的面试,提炼总结了这份面试真题,一次整体放出送给大家。 看看自己能答对多少 本篇建议大家收藏、备用~ 【BAT 等一线互联网面试真题集锦】 涵盖:开源、Java集合、JVM、NIO、Dubbo、秒杀系统、高并发、分布式、锁、redis、MySQL、Linux、hashMap、中间件等...

JavaEdge全是干货的技术号 6856

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

BAT面试

6.6 BAT面试 一面 一面偏架构方面 1、介绍一下自己,讲讲项目经历 2、你们项目中微服务是怎么划分的,划分粒度怎么确定? 3、那在实践微服务架构中,有遇到什么问题么? 4、你们在关于微服务间数据一致性问题,是如何解决的? 5、你们为什么不用其他的MQ,最终选择了RokcetMQ? 6、为什么RocketMQ没有选择ZooKeeper,而是自己实现了一个NameServer集群? 7、嗯,理解...

赛博夫子 1098

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一位前BAT面试官,详聊进入BAT的面试经验

找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公司,都是有一个概率在那。如果你基础好,项目经验足,同时准备充分,那么你拿到offer的概率就会比较高;相反,如果你准备不充分,基础也不好,那么你拿到offer的概率就会比较低,但是你可以多投几家公司,这样拿到offer的几率就要大一点,因为你总有运气好的时候。所以,不要惧怕面试,刚开始失败了没什么的,多...

小码农 TT 2116

BAT 面试指南

BAT 面试指南

新博客地址:blog.songchunmin.com 1802

吊打BAT面试官的高并发技术面试专题汇总,小小BAT技术面试可笑可笑

高并发技术面试专题汇总,BAT技术面试不过如此! 2019-01-12 21:26:57·JavaSpring高级进阶 本文我们通过一篇真实的一线面经,带大家去体验一下 BAT 等互联网公司的面试现场氛围! 面试者是笔者以前的下属,多年的好朋友。这是他去年早些时候出去面试,拿到 BAT 等多家一线互联网公司技术专家 Offer 的面试经历。 先介绍一下这位朋友的个人经历: 本科毕业,接近 10 年工作经验。跳槽之前,在国内某大型互联网公司里带一个 8 人左右的技术团队。 由于公司业务..

javassb的博客 584

面试题(7)去腾讯等BAT面试完的Mysql面试55题总结

1、一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 2、mysql的技术特点是什么? 3、Heap表是什么? 4、mysql服务器默认端口是什么? 5、与Oracle相比,mysql有什么优势? 6、如何区分FLOAT和DOUBLE? 7、区分CHAR_LENGTH和LENGTH...

cowbin2012的专栏 1万+

面试题(4)阿里等BAT必考多线程面试60题

BAT必考系列!多线程60题】 多线程有什么用? 线程和进程的区别是什么? ava实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 线程中的wait()和sleep()方法有什么区别? 多线程同步有哪几种方法? 什么是死锁?如何避免死锁? 多线程之间如何进行通信? 线程怎样拿到...

cowbin2012的专栏 1万+

bat面试内容

bat是国内互联网行业的龙头老大,招聘要求自然也是互联网行业最高~面试过程一般考查四个方面:基础+算法+数据结构+项目。 基础:c/c++/java等语言基础,这个根据你应聘所选的语言来定(一般不会考语言最基本的东西,都是考精髓部分);linux用户态的API函数(通过API函数考察linux的一些机制和原理性的东西);多线程和网络编程。 算法:主要就是查找和排序之类的算法(因为互联网

samjustin的博客 1008

分享一场来自BAT大厂的PHP模拟面试

给大家分享一个大厂 T3 级别的 PHP 模拟面试视频,看看这些问题你们会怎么回答 一场来自BAT大厂的PHP模拟面试

Durian_mylove的博客 644

如何准备 BAT 的技术面试,面试有哪些套路

原文:https://www.v2ex.com/t/448737这段时间自己也准备了不少面试相关的工作,可以说有一些经验.看到很多人存在一些问题,特别是刚入行的新人存在各...

frontend_frank的博客 523

如何学好 Linux、C++,并搞定 BAT 面试

笔者学习 C++ 的经验,推荐的书籍,学习的方法 Linux 学习的经验和方法 如何准备面试,应对 BAT,入职 BAT 笔者的 BAT 面试经验分享

GitChat 1306

大三实习生面试BAT经验

总结 首先说作为一名大三本科学生能拿到阿里,百度的实习offer,真的很幸运(因为BAT一般收211,985的研究生居多点),除非本科生有非常强的自学能力,一直有人会问,BAT实习面试和校招面试哪个难度更大,在我感觉来真的差不多,不信你去问度娘,看以往别人分享的面试经验哈,主要是想进BAT的童鞋有点多(是太多太多),竞争有点大吧。...

Sandwichsauce的博客 4469
上一篇: java实现 redis的发布订阅(简单易懂),大厂 HR 如何面试
下一篇: Java解析word,获取文档中图片位置,互联网 面试官 如何面试
ccc_ccc8
博客等级 码龄8年 8粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值