• 2015我的校招季,阿里、搜狗、百度、蘑菇街面试总结


    随着拿到蘑菇街的offer,我的校招季便算是结束了。如今闲下来。想写篇总结下之前的校招路,纪念一下。个人水,大神请轻拍。。

    总共參加了4场面试,然后拿到一家offer。然后就没有然后。自己太懒,没再去找了。。。

    背景:无牛逼竞赛经历,无牛逼项目,无牛逼实习,三无人员,目标JAVA开发。

    阿里(1面):

    阿里是校招第一家面试,各种忐忑。

    面试官看上去蛮凶的,先是自我介绍。然后看着简历问。

    1:项目介绍,说说java socket,服务端怎样知道client发生中断;

    2:多线程问题,如果有n个线程,怎样让它们同一时候開始运行,不能够边新建边start。

    我说让全部线程一開始都堵塞在一个对象锁上,然后用notifyAll。面试官不惬意这个回答。

    3:实习相关的问题,大量数据情况下数据库的处理方式,我说採用的分表。然后问分表怎样实现。任意说了点。面试官依然不惬意,然后写SQL语句。

    4:B树怎样实现。我画了个图。然后说了些B树的性质,面试官让我代码实现,写了一会,写不下去了。。。

    5:算法题:如果甲乙两人分隔两地。甲知道甲乙两人间距离,乙什么都不知道但能够打电话问甲两人间距离。乙能够每走10分钟打电话问甲两人间的距离。问怎样最少次数的通话使得乙走到甲那里。

    一開始被面试官气场弄慌了,发挥很不好。

    搜狗(1面):

    面试官说搜狗就一轮终面。感觉自己发挥还行。结果还是跪了。。。

    依然看简历。问问题

    1:项目介绍,权限管理怎么实现。session、cookie相关问题,缓存问题。

    2:数据库相关,索引的实现,B树B+树,吸取阿里教训,特地看过一遍,答得还行。然后问在两个字段建索引,不同顺序的影响。结合B+树说了一点。

    3:JAVA基础。内存溢出的几种情况,分别说了栈、堆、方法区出OutOfMemoryError的情况,然后说了堆的内存模型:年轻代(Eden、Survivor)、年老代,然后说了几种垃圾收集算法(复制、标志-整理)。

    4:Linux相关,怎样查看磁盘空间占有情况,怎样查看进程中某线程状态。

    5:Tomcat怎样实现,说了连接器、四种容器的实现,又问了tomcat高并发存在的问题。说了下nginx中epoll的实现。

    6:算法题:一个数组。里面元素先从大到小排列再从小到大排列,怎样最优找到最小值。

    基本搜狗的问题都回答出来了,结果被刷,无奈。。

    百度(三面):

    一面:

    1。介绍项目。hibernate几级缓存,mybatis与hibernate的差别,你对两个框架的理解。随便答了些。

    2,问了Spring的源代码,ioc、aop怎样实现,annotation知道多少,用过哪些annotation。水水地说了一些。然后又问为什么用SSH不用SpringMVC,答不上来。

    3,Java集合相关,List、Set、Map差别。ArrayList、HashMap怎样实现,对hashcode方法有什么理解。有准备答得还行。

    4,谈了些实习做的事。

    5。算法题:给你一个字符串,输出该字符串的全排列(去重),写完代码。和面试官说了下思路。面试官说复杂度太高。怎样优化,没优化出来,面试官说能够优化到线性复杂度,让我回去想。

    二面:

    1,介绍项目。

    2,设计模式相关,说说你知道的设计模式。一一列举,然后让我实现适配器模式,写了代码,面试官又问,适配器模式和中介模式差别,依照自己理讲解了点。

    3,介绍实习。

    4。线程池怎样实现。于是把自己写的线程池说了一遍。

    5,java内存模型,垃圾收集。

    6,算法题1:一个数组,有三个数出现超过1/4,找出这三个数。要求时间复杂度O(n),空间复杂度O(1)。这道题和面试官讨论了好久,当时有点乱,只是思路应该是对的。

    算法题2:非递归实现二叉树深度,写完代码,面试官看了没说什么,然后时间差点儿相同到了。就回去了。

    三面:

    1,介绍项目。介绍实习,面试官兴趣不大。

    2,说说互联网发展趋势的看法。你最经常使用的app,对O2O的看法等问题。

    3。你最自豪的事。你和周围同学相比有什么优势。

    4。跟我介绍了百度的员工培训。好像非常厉害的样子,还要修学分。。。

    百度基本上把我知道的都问了个遍,等于帮我梳理了下知识,尽管没进,但收获非常大。

    蘑菇街(拿到offer):

    一面:

    1,介绍项目,简历上写的项目问了个遍,介绍实习,实习遇到的问题等等。

    2。java内存模型,垃圾收集。java socket相关。

    3,tomcat怎样实现的。

    4。线程池怎样实现的。

    5,职业规划。

    二面:

    二面两个人。一人先是问了项目和实习,又问了线程池、tomcat、java内存模型。

    还有一人就是聊天了。你印象最深的事。聊聊经历之类的,问面过哪些公司。由于什么原因没过,又问了如果好几个offer,怎样排序的。

    蘑菇街是我之前挺想进的,又正好在杭州,于是拿到offer后就不再找了,最重要的还是由于懒。


    推荐书籍:

    深入理解操作系统,现代操作系统;

    计算机网络

    组合数学

    大话设计模式

    深入理解java虚拟机:jvm高级特性与最佳实践

    how tomcat works

    剑指offer、编程之美、

    推荐站点:

    http://hawstein.com/archive.html

    http://leetcode.com/

    July结构之法算法之道

    总结:

    由于之前准备比較充分,笔试都能通过。成绩也还不错。但自己做的项目在面试官看来没啥深度,没有某方面能力非常突出,这是自己的硬伤。面试官不重视你不会什么,而是重视你会什么。所以假设有某方面知道得比較深那是极好的(比方:网络编程、操作系统、数据库、算法等等)。


  • 相关阅读:
    SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?
    SQL Server 分区表
    SQL Server表分区
    Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程
    C# WinForm开发系列
    C# WinForm开发系列
    富文本编辑器 CKeditor 配置使用
    C# ListView用法详解
    C# WinForm给Button或其它控件添加快捷键响应
    WebApi安全性 使用TOKEN+签名验证
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5235332.html
走看看 - 开发者的网上家园