blog icon indicating copy to clipboard operation
blog copied to clipboard

秋招面经

Open oneone1995 opened this issue 8 years ago • 2 comments

秋招面经

9月中旬从实习单位正式离职开始准备秋招,早出晚归复习,直到10月1日没有一个offer。这段时间心态十分爆炸,生活一团糟,国庆放假回家睡了两天,和朋友爸妈聊了很多稍微舒服了一点。大概生活还要继续。说是面经其实到现在为止面试机会都寥寥无几,写下来也作为自己不懂问题的集合,可以为了以后的面试好好准备。哼最想去的51信用卡结果笔试都挂了。


数立信息(一面挂)

一家很小的公司,把我挂了之后心态瞬间爆炸,觉得自己还没有菜到这种地步。

  • 项目,爬虫策略,直接打开网页让我说怎么爬。(项目涉及爬虫)
  • 数据结构,哪块熟悉,说了查找和树。从二分查找讲到查找树、平衡树、红黑树
  • MySQL索引,B树。画B树
  • 问红黑树在java中的应用。说了HashMap。
  • HashMap源码,put操作、hashcode怎么计算,为什么这么计算、hash冲突、初始化数组为什么是2的幂次
  • HashMap是否是线程安全,如何变成线程安全,并发情况下会产生什么问题
  • ConcurrentHashMap如何解决这个问题
  • session过期概念,这一块答炸了
  • session保证一个时间点只能一个浏览器登录。这个也炸了..
  • 分布式session
  • spring bean生命周期。忘了。
  • SpringMVC运行流程
  • 过滤器和监听器,以及各自应用场景。过滤器我回答了解决编码问题,貌似不满意
  • TCP协议、HTTP协议。
  • MySQL分表策略。给自己挖的坑,只用过当当sharding,答不上来
  • 对dubbo的理解,负载均衡算法知道哪些。这个想骂人,负载均衡我只带到一句,也是给自己挖坑跪了。
  • 最近在读什么书,近半年打算

招银网络电面一面

  • 回忆智力题,我猜的..
  • 快排最差复杂度怎么算
  • 面向对象理解
  • 上一个问题说到封装、继承、多态,因此问怎么理解封装
  • 集合。有哪些接口,各个区别是啥。漏了Queue
  • jvm虚拟机,垃圾回收算法介绍
  • 项目
  • 分表策略。上次的坑这回填上了..
  • 设计模式
  • SpringMVC运行流程和springMVC中用到的设计模式。事后回想漏了单例...
  • 数据库事务四大特性
  • 事务隔离级别

百世科技(offer)

  • websocket和http的区别
  • 手写一个多叉树
  • 上面那个多叉树的遍历,将所有节点打印出来,分别用DFS和BFS
  • DFS中用了递归,便问了递归的应用场景和注意事项
  • DFS写的是先序遍历,便问了后序遍历的输出结果
  • 多叉树写的是数组加链表,问为什么这么写。我回答了参考HashMap,其实是想将面试官引到HashMap的问题上去
  • 果然是HashMap源码,put过程、为什么再hash、如何散列、红黑树
  • ArrayList和LinkedList区别
  • 手写单例
  • 为什么双重校验锁
  • 为什么用volatile
  • 我的单例没有问题了已经,但是有人用我的单例类创建出了两个实例对象,怎么做到的。(这个不会,涉及到ClassLoader)
  • 聊聊dubbo
  • dubbo中有个序列化协议,那不知道你了解过protobuf。protobuf中有个加字段的问题如果让你解决你会怎么办。大概是服务端是很多客户端的服务提供者,现在有某几个客户端要求加字段,不能所有客户端一起停下来。(完全没有接触过,答不出来)
  • 聊聊spring的Ioc
  • RabbitMQ模型
  • 如何学习,看过哪些书

点我达(offer)

  • 项目
  • restful怎么理解
  • websocket
  • http长连接和tcp长连接的区别,两者的keep-alive的区别(之前没听说过)
  • oauth2协议
  • jwt
  • 爬虫数据量很大情况下的存储数据库是怎么优化的。
  • 为什么觉得mongodb在大量数据处理中比MySQL好
  • 线程池的几个核心参数,以及他们是如何协作的
  • ArrayList如何扩容
  • HashMap源码看过吗?介绍一下
  • HashMap和ConcurrentHashMap有什么区别
  • ConcurrentHashMap源码看过吗?介绍一下
  • 介绍一下重入锁
  • volatile关键字有什么作用
  • java内存模型
  • spring怎么理解
  • AOP怎么实现
  • 代理了解哪些
  • CGLib代理出来的源码有没有看过
  • 那AOP有没有遇到什么坑?没有的话我举个例子问你。如果基于同一个注解打切面打印日志。a方法和b方法都有注解,但是a调用了b,问有几行日志(没有踩过这个坑的我根本答不出来)
  • 看过哪些源码?答了集合的源码都看过,便问了那看过哪些框架的源码。不好意思,没看过
  • 说说redis吧
  • 希望得到什么样的工作环境

感冒晕乎乎的,有些知道的也没答好。面试官也是个急性子,我擅长的部分说到一半就不让我说了。虽然还是让我过了一面给了HR面,但是一般来说是凉了,总之非常可惜,非常想去的一家公司。

更新:已经给我发offer了,点我达让我抓住了秋招的尾巴。


九阳研发(offer)

虽然是传统行业,但看校招做的挺不错便投了简历。笔试只有行测,没有专业性题目笔试,但好像刷了很多人。午睡没睡醒本来没打算去面试,结果hr打了电话过来才过去。总共2面,都是技术面。

技术一面

  • 聊聊项目
  • 项目中redis的应用
  • 聊聊mongodb与MySQL相比区别与优势在哪里
  • websocket和http的区别
  • 如果不用websocket聊天怎么做
  • xmpp与mqtt区别
  • xmpp为什么更费流量
  • tcp三次握手
  • 集合线性表知道哪些
  • ArrayList与LinkedList区别,效率比较
  • spring怎么理解,说说ioc和aop
  • 聊聊dubbo和rpc

技术二面

  • 挨个介绍项目
  • 实习干了什么
  • 有什么要问他的

总的来说我感觉面试难度并不大,最后进入签约座谈会的人却很少。我感觉自己并没有多强,但可能面试次数多知道了面试官套路。投九阳的行政岗的小姐姐跟我抱怨说行测笔试被刷我还表示惊讶。签约座谈会也做的很棒,自己做了蛋糕,体验了九阳的空气炸锅炸的鸡翅。无奈在互联网公司的诱惑下还是选择放弃。


嘉云数据(offer)

收到点我达offer通知后的第二天面试,因为之前答应了去面试,感觉不去不太礼貌。总共1轮笔试3轮面试,两轮技术一轮HR。二面技术面是技术部门的负责人,被怼的有点难受,后来发展成我跟她互怼。

技术一面

  • 笔试做的怎么样感觉
  • 有一个特定情况下,插排、堆排、快排、归并四种排序算法中的一种能达到O(n)的时间复杂度。是哪种情况,并实现?(想不出来)
  • 最差时间复杂度和时间复杂度怎么理解
  • 怎么理解排序稳定性
  • 堆排是什么逻辑
  • 爬虫怎么做
  • 怎么看网络请求,用什么工具,主要关注哪些数据的传输
  • http了解嘛,说一说http以及报文格式
  • 用哪个头参数控制不留缓存
  • 能知道http响应报文长度嘛
  • TCP三次握手
  • java集合了不了解(以为又到了表演的时刻可以秀hashmap..)
  • hashset实现(套路满满)
  • ArrayList扩容,何时扩容,怎么指定默认数组大小,能修改默认大小吗?
  • 聊聊数据库索引
  • B树和B+树的区别
  • 为什么IO请求次数多就要用B树或者B+树
  • jdbc熟悉吗(...)
  • mybatis和jdbc的区别
  • mongodb和mysql区别
  • redis怎么使用的
  • springboot说说
  • 你对python的看法是什么

技术二面

  • 手写一个将字符串转成类似json的带缩进的格式。(我说了实现逻辑让我写,因为后面判断逻辑我觉得差不多我就不写了,而且写的有点乱涂涂改改她看不清,我给她说了接下来都差不多只是没写了,她准备给我张白纸重写,我直接放弃了)
  • 数据库了不了解
  • MySQL和mongodb除了索引上的差别还有什么(说了事务)
  • 事务的ACID
  • 事务的目的是什么(我说了保证能得到正确的结果,期望的结果,并不满意和我说是保证数据的一致性,我说一致性也是我们定义的,就是用我们期望的结果去定义这个一致性,认同我观点,但还是说我给她的答案中的正确性和满足期待太过暧昧)
  • 出了个题,临时出的。想让我答出读锁
  • 事务隔离级别
  • TCP怎么保证传输可靠
  • 又出了个题,两个有序数组求交集。
  • 其他一些职业规划问题

总结的话二面面的非常不舒服,面试官一口一个英文单词有点不习惯。我应该也给她留下了很差的印象。这大概是秋招最后一站,竟然被搞成这样,几乎全程在怼。后来HR加了微信问是否愿意转python,之前技术面试的时候也有这个意思在里面。他们应该是web方向都是python做,java主要是爬虫。


总结

秋招所有面试应该都已经结束,虽然没有去成最想去的51信用卡,但在秋招的尾巴上抓住了点我达也算是满意:离家近、薪资到位、互联网公司。不算是成功,但也不算失败,至少我自己已经满意,所以也许我的经历能给你带来帮助。

如果你有幸读到这篇文章,我用自己的经验来说的话最后悔的事情是实习辞职的太晚,我9月中旬才从实习公司离职,那时候很多大厂甚至都已经结束了,虽然很难进大厂,但是早个一两个月开始准备的话应该早就结束秋招了。最好的状态也许是大三下3月份就去实习待到6月底,实习三个月时间便可以离职回校准备秋招了。除非你已经确定会留在实习的单位。还有便是每个人能力都不一样,希望能正确定位自己,我一开始看到别人高的薪资很是羡慕觉得自己找的不满意,但自己是个双非本科,别人是双985硕士。

秋招主要准备的方向牛客网的面经已经遍地都是。我这里整理一份我准备秋招过程中看的书单和一些有参考价值的博客。

书单

下面是我准备秋招过程中看的书,如果有时间会写一点读书笔记。

  • 《算法》

    java描述的数据结构基础,都是基础数据结构,然后加上一些字符串处理的高级算法。另外红黑树一章节逆天,是我看过写红黑树最好的一本书。

  • 《Java并发编程实战》

    这本书我看的很痛苦,前几章写的还不错比较好懂,主要问题是书中给的示例代码都不能自己敲来实现,书名起的实战不知道意义何在。能知道一些并发的基础概念,像线程池、并发包、锁等等。不过仅仅只能知道概念,我并不推荐刚入门的直接看这本书,至少我看不懂。

  • 《深入理解java虚拟机》

    神书,相见恨晚的一本书。介绍了JVM相关的知识,包括Java方法运行模型、垃圾回收算法、垃圾收集器、类加载、JMM、多线程、锁、并发等知识点。写的也是深入浅出,没有难懂的地方,而且书中有的例子都可以自己运行。除了第4、5章虚拟机优化和后面的10、11章我没有看以为,这本书看完不仅对面试有所帮助(能解决大部分jvm这块的面试题),对自身想要学习jvm知识的也非常有好处。并发相关章节的内容个人感觉比上面那本java并发实战都要写得好。

  • 《spring实战》

    并不只是为了准备秋招看的书,实习期间我就开始读这本书。我读了前7章,对spring知识有个大概了解,书中鼓励javaconfig的方式来搭建spring应用,我觉得值得一试。书中给的例子也能实际运行,对spring bean、自动装备、IOC、AOP也有描述

  • 《redis实战》

    读了前4章,感觉并不是特别好。看完知道redis基本数据结构和常用命令、持久化策略。我真正使用redis的时候全在上网查。

  • 《高性能MySQL》

    实在太厚,挑了章节看的。我看了前两章以及后面索引的部分。

  • 《java8实战》

    介绍java8新特性,看到网上其他人面经是有问java8的,但是我还没真正面到过问题。idea现在能检测可以替换成java8新特性的方法并给出提示智能替换,所以也跟着学了学。这本书讲的java8新特性也很好懂,可能是翻译的好的原因。主要包括Lambda表达式、方法引用、流、默认方法、Optional、CompletableFuture以及新的日期和时间API等等。

  • 《编程之美》

    面试题集,部分题目和《剑指offer》冲突,本想刷完剑指offer之后写完题解的,因为找不到一个好的画图工具而一直被耽搁。和《剑指offer》搭配着看,并在牛客网上练习。可惜我刷了很多现在随着秋招的结束也忘了很多,还是不够厉害呀。

其它一些别人推荐,买了之后还没看的书:

博客以及一些博文

算法和海量数据处理:

  • 结构之法 算法之道

Java基础:

Java内存相关:

MySQL:

其它:

综合性总结以及面经:


(完 2017年10月31日)

oneone1995 avatar Oct 01 '17 12:10 oneone1995

很好的一份面试总结啊, 我目前转码第一年出来找实习面试基本全挂了, 感觉面试的重点还是在数据结构和算法

Pickupolddriver avatar May 25 '18 07:05 Pickupolddriver

@Pickupolddriver 加油哈~数据结构和算法那本橙色的《算法》写的真的很好

oneone1995 avatar May 31 '18 03:05 oneone1995