360 提前批内推

360 提前批内推【未发offer】

岗位:服务端开发实习生-python
简历投递日期:2019/02/21
笔试时间:2019/03/07 能力测试时长:30分钟 技术笔试时长:2小时 一面时间:2019/03/19 时长:1小时
二面时间:2019/03/19 时长:30分钟
三面时间:2019/03/19 时长:15分钟

笔试

360 提前批笔试分为能力测试和技术笔试

虽然知道提前批内推直接进行笔试,但在未收到笔试邀请时还是有些不确定很紧张, 当收到360笔试的时候,心情挺复杂的,这是收到的第一个笔试,其他的也没有收到面试。看着周围的同学各种的笔试面试甚至都已经有拿到offer的,心中的感受还是挺感慨的。360的笔试给我最大的感觉就是我对我的智商产生了怀疑。严重被碾压,被蹂躏

能力测试

15道数理逻辑+15道逻辑推理题

  • 数理逻辑题:题目难度不是特别高,但是在规定时间内完成所有题目很难
    1. 二元一次方程题,题目出的数量较多,但有些技巧,需要在你不计算出结果的情况下快速找到答案。可根据答案进行插入,排除等
    2. 找规律题:该题目真不知道有什么技巧,我能看出来的就算一下,看不出来的直接蒙
    3. 其他题目:主要是上面的两种题目,其他题目不记得了
  • 逻辑推理题:增长了很多知识,很多都是给你一些不知道的理论让你判断
    1. 看图找规律题:和上面的找规律题相似,但该题是给你几张图,然后找到规律选出下一张图
    2. 理论描述题:给你一段法律法规让你进行阅读,然后下面给你四个事件,问你那个事件符合上面的法律法规
    3. 天马行空题:该题目真的是不知道想问什么,根据题目的几个字去选择,至于其中是为什么,全靠自己去理解,去编去扯

个人感受
由于本人是先做的逻辑推理题,在做题目的时候感觉虽然一脸懵,但是全都是理性推导,本以为不是太难,然后就平均用时,约用时15分钟。但打开数理逻辑题后我就后悔了,上来来了个二元一次方程,急速写下式子然后进行计算,最后没算出答案,但根据X, Y的关系还是找到了答案,时间不够,于是后面的题目看到不会的就先蒙上,记下题号,准备后续回来再看。后来发现太异想天开了。根本完不成。挑战了智商上限,本人还是太菜。智商余额不足

技术笔试

40道选择题+3道编程题(2道必做,1道选做)

  • 选择题:题目偏重C++,对于其他计算机基础考的不多

    1. 绝大多数都是 C++ 看程序选答案或者根据答案在程序中填空
    2. 其他计算机知识考的很少,例如:计算机网络、操作系统等方面的题目仅有几道题
  • 编程题:题目难度个人感觉不大,具体需要看人,但最后一个选做题始终没读懂题目

    1. (必做)排座位

    假设班主任需要为N名学生安排座位,现在有M张桌子,每张桌子可以供一名学生单独使用,也可以供两名学生共同使用,共用一张桌子的两名学生便称为同桌。班主任为所有学生评估出淘气值,第i名学生的淘气值为Ai,如果同桌两人淘气值之和过高,便容易产生矛盾。那么班主任该如何安排座位,使得淘气值之和最大的两名同桌,其淘气值之和尽可能小?
    输入:第一行包含两个整数N和M,1≤M<N≤105且N≤M×2。第二行包含N个整数A1到AN,0≤Ai≤109。(数字间均以空格隔开)
    输出:输出淘气值之和最大的两名同桌,其淘气值之和可能的最小值。
    样例输入
    5 3
    4 1 8 2 6
    样例输出
    7
    思路,简单的贪心,将所有学生的淘气值排序,然后选出X个最大的淘气值让其一人一座,其他的让学生中淘气值最小的和剩下的学生中淘气值最大的相加,最后求出所有相加后的最大值输出

    1. (必做)数星星

    给出一个mn的只由01组成的矩阵,我们称包含:
    1
    111
    1
    这样的形状为星星(矩阵的四角为0、1均可),现在要从这个矩阵中选出一个矩形区域,要求这个矩形区域中至少有k个星星,问有多少个这样的矩形区域。(矩形区域即选取连续的若干行和连续的若干列所构成的交集区域)
    输入:输入第一行包含三个整数n,m,k(1<=n,m<=500,1<=k<=m
    n), n和m分别表示矩阵的行数和列数。接下来有n行,每行包含一个长度为m的仅含01的字符串,描述这个矩阵。
    输出:输出仅包含一个正整数,表示符合要求的矩形区域的数量。
    样例输入
    3 5 2
    11100
    11110
    01100
    样例输出
    2
    思路:

    1. 猜数游戏

    桌子上有N张写有数字0或1的卡片,初始时玩家并不知道每张卡片上的数字是多少。将卡片从1到N编号,玩家每次可以选择一个区间[L,R](1≤L≤R≤N)并询问裁判编号为L到R的卡片上的数字之和是奇数还是偶数(所需费用为AL,R)。那么玩家至少要花费多少费用才能确定每张卡片上的数字?
    输入:第一行包含一个整数N,1≤N≤1000。接下来N行,第i行包含N-i+1个整数Ai,i到Ai,N,1≤Ai,j≤1000。
    输出:输出确定每张卡片上的数字所需的最小费用。
    样例输入
    3
    1 2 3
    2 1
    3
    样例输出
    4
    思路:

个人感受
这次笔试期间,先做的选择题,感觉挺痛苦的,本人明明报的是python的开发岗位,但选择题中至少有25道题是C++程序题,一直在读程序,一年多没碰C++,之前学的也不是特别好,做起来还是挺困难的,C++基础好的人可能不会有那么困难。看来无论投什么岗位C++还是要会一些的。最后就是,本次笔试基本上是要凉凉,在做编程题的我本地的网络出现了问题,后查明是路由器的DNS域名解析服务突然出现了问题,导致提交的代码一直未能提交出去。导致最后自己编程题到底做的怎么样也不知道。不过编程题应该是没交上。面试的机会基本上为零,360提前批结束

一面

面试官很好,问的问题也很基本,多是一些基础性的问题

  • 先进行了一下自我介绍
  • 先问了一个让你实现一个栈,这个栈除了有栈的基本功能还能够在O(1)的时间复杂度内求出栈内元素的最大值
  • 上面的第一个笔试题又被重新提问了一遍
  • 进程和线程的区别和关系
  • 进程间的通信方式,介绍一下管道和socket套接字
  • 为什么选用MySQL的innodb,它有哪些优势
  • 简单说一下数据库的事务
  • 有没有用过抓包工具分析过TCP数据包
  • 如何高并发的实现一个爬虫

二面

面试官好像挺着急,参加面试的人很多,等了大概一个半小时左右才进行了二面,二面的时候简单手敲代码

  • 先进行自我介绍
  • 提问你了解那些数据结构和算法,自己感觉那一块的理解更深,简单介绍一下
  • 我的回答是二叉树,然后就问了一下各种的二叉树,重点在平衡二叉树。有一个问题至今未想明白,平衡二叉树的插入如何优化?
  • 给你一个数组形式的搜索二叉树和一个值,然后让你去求这个值在不在这个数组中
  • 简单聊了一下自己目前使用的语言,然后就是自己向往那个那个方向发展

三面(HR面)

大概等了两个小时左右,然后等到了HR小姐姐,简单的聊了几句

  • 先进行自我介绍
  • 你对360有了解嘛?了解多少?
  • 你对你现在感觉最有成就的一件事是什么,简单讲一下
  • 是否准备考研
  • 能够实习多长时间,什么时候能够到岗

个人感受
经过一下午的面试,感受到了360面试官的和蔼可亲。一天处理那么多的面试,最后还能对每个人都耐心的提问,有问题时还会给一些简单的提示。最后都会给留几分钟让自己进行提问,至于他能不能回答,另说。目前玄学等结果中,面试官说大概需要2周的时间才能出结果,出了结果会第一时间通知