木杉

旷视内推

旷视内推【被拒】 岗位:python开发实习生 内推时间:2019/02/22 通知一面时间:2019/03/06 正式一面时间:2019/03/12 时长:1小时 一面 电话面试,整体感觉面试官还是挺好的,虽然不太会给你一些引领,但是问的问题可以让你有很大的自由度发挥,主要提问都是一些专业课基础问题 电话接通后先做了一个自我介绍,然后面试看看到我的简历后,问了问我写的项目负责的模块 对于项目来说,我还是太菜并没能让面试官满意,语气中带有一丝的失望 后面看到我写的http协议熟悉,然后就开始问起了网络方面的问题 TCP协议的三次握手和四次挥手,问的挺简单,但是他会根据你的回答继续深度提问(我被问到了,建立一个TCP连接,系统需要开辟那些资源)懵逼中。。。 然后又让我简单说了一下http协议 看到我写熟悉nginx服务器,于是对于nginx简单提问了几个问题 nginx服务器在进行监听的时候需要监听那些信息,如何判断 如果nginx服务器开启两个应用但是同时监听同一个端口,能否使用,为什么 问了一下操作系统的内容 先问的进程,线程问题,本人回答的时候将协程也给回答了 进程线程问题问的比较深入,最后问到了创建一个进程需要开辟那些内容(懵逼。。。回答了进程运行需要有代码区域,数据区域,和堆栈三部分) 由多进程多线程引出了父进程开辟子进程可能出现的问题(僵尸进程,孤儿进程) 最后对于这一块问了一下关于死锁的处理(回答的银行家算法) 最后问了一下数据库方面的知识(鄙人写的熟悉MySQL) 让自己简单介绍一下MySQL 于是我先从MySQL的四大主流引擎说起,但后面紧张忘掉了很多东西,基本回答出来了四个引擎的特点 然后就是数据库中的事务(原子性、一致性、隔离性、持久性)以及可能出现的问题和解决方法 说了一下MySQL数据库底层实现是使用的B+树,介绍了B树和B+树在这方面的区别 简单说了一下索引:聚簇索引和非聚簇索引的区别,然后举例那些是聚簇索引那些是非聚簇索引 中间穿插问了两道算法题 第一道:给你一个数组有n个数,然后里面只有一个数是单独的,其他的数都是成对出现,让你找出这个数(简单的位运算:异或操作) 第二题:有点懵逼,来了一道简单的几何体,一个平面中有N个点,让你求一条直线,能穿过最多点的直线(尴尬了,以前记得做过,忘了怎么做了,于是说了最简单的暴力方法) 最后他居然没让我提问题,但我还是死皮赖脸的提了两个问题 他们主要负责什么业务:居然是旷视的核心业务部:人脸识别。。。瞬间理解为啥问几何题了(附加问了一句,如果通过是不是能进他们部门) 问了一下他们对新人的培养计划 总结: 一面感受还可以,面试官也很好,除了说话有点感觉不知道问啥,其他的都还好,可能是我的简历太菜了。可问的问题不多,基本上整个面试都是我在主导,他提问一个大的问题后,我可以把我所知道的这方面的内容全都说出来。个人感觉简历上写的东西都要能说出来一二三才行

阿里巴巴函数计算团队内推

阿里巴巴函数计算团队内推【被拒】 简历投递日期:2019/03/09 非正式电面日期:2019/03/12 时长:40分钟 一面日期:2019/03/13 时长:1小时 非正式电面 由于阿里巴巴会锁个人简历,如果这次面试没有过的话,下次面试的时候会有影响,所以面试官特别好的给我私下里面试了一下 先进行了一下简单的自我介绍 主要问题为项目方面,根据你的项目去了解你的各种信息 我的面试官是做java的,而我却面的是python,所以在非正式期间并没有进行这方面的细究 正式一面 由于面试官还是同一个人,所以没有进行自我介绍,直接奔入主题。面试官这次问的问题感觉挺难的 python 的面向对象编程中的继承和封装是怎么做的 python 的类中,有 __new__ 和 __init__ 两个初始化函数,有什么不同。 python 的 yield 关键字的底层实现 python 中的 is 和 == 的区别 python 如果让你设计一个类如何重载 __eq__ 函数 简单介绍一下 python (python、pypy、jython) HTTPS 的实现过程-即建立HTTPS连接需要那些过程 例如:公钥获取,通信建立,如何加密等 算法题:求前K大的数(由于紧张,导致最后边界判断错误,一直递归爆栈)简单说一下我的思路:利用快排的思想,但不需要将数据完全排序,仅需要以一个数据为基准点然后比它大的数放左边,比它小的放右边,最后判断基数的位置是不是K即可。但现场的时候由于太紧张,结果把递归写反了,基数的位置比K大的时候应该去左边找,比它小的时候去右边找。个人大意写反了。一直爆栈 个人感受 问的内容挺底层的,自己也不知道回答的怎么样,由于面试官是java选手,并没有当时给与建议和结论。但自己感觉不是那么的好,整场面试感觉凉了。心发慌!!! 上面的问题交流大约30分钟左右,但是做算法题的时候由于自己感觉上面回答的不是很好,过于紧张,导致递归出错,一直爆栈。彻底凉了。

腾讯内推

腾讯内推 - CSIG【offer】 岗位:后台开发实习生,被调剂:运营开发 简历投递日期:2019/03/05 一面日期:2019/03/13 时长:30分钟 二面日期:2019/03/14 时长:90分钟 三面日期:2019/03/21 时长:30分钟 四面日期:2019/03/25 时长:30分钟 五面日期:2019/03/30 时长:15分钟 一面 没有进行自我介绍,直接先问的项目 问了一下TCP/IP的分层,和每层的主要负责事务 arp 协议属于那一层,主要负责什么 MySQL 的四种引擎 如果一个表的数据量很大,如何优化查询速度 HTTP 协议的状态码举例 可持续的实习时间 你和其他同龄人相比,你认为你的优势在哪里 个人感受 该团队的主要语言是 PHP 语言,本人对 PHP 一概不通。。。感觉挺尴尬的,幸好他们还说有 python 语言,我本身是个 python 选手,其实我挺怕也挺期望他问 python 底层的东西或者框架方面的东西,但是他却没问。他问 python 底层的东西,我不会的话我可以去学,也是一种进步 二面 先是自我介绍,然后提问了一下自己都是做过那些项目 面向对象的三大特点:封装、继承、多态 Django 的请求过程,渲染模板 给你一个 URL 地址,从浏览器解析请求到服务器响应返回数据的过程,详细描述 MySQL 的四种引擎 数据库事务,四原则,可能出现的问题,解决方法 索引的底层实现 让你设计一个 WEB 框架,你会怎么设计,设计那些必要的东西 软件工程中的设计模式 逻辑题:给你六个小球一个天平,然后有一个次品小球,可能重也可能轻,三次称重机会找出该小球 设计一个方案:如何统计某地区所有钢琴调音师的基本信息 还有很多问题,不太记得了 个人感受 整体感觉,回答的不是太好,很多问题都没有回答上来,但不知道说的啥,居然面试了 90 分钟,结束后我自己都很惊讶!!!面试官说让我等消息,最后也没让我问问题,导致我居然不知道我面的是那个事业群那个岗位。尴尬 三面 简单的自我介绍 由于当时忘记做记录,结果和四面一块整理时忘记问了什么问题。尴尬 四面 QQ 视频面试,先进行简单的自我结束 实现 C 语言的字符串比大小 问了问 HTTPS 的建立过程 TCP 的四次挥手 有没有打过 ACM 比赛,成绩怎么样 学习成绩怎么样,数学的成绩怎么样,如:高数,线代,离散,概率论 聊了一下你的缺点和优点 最近做过让你最自豪的事情是什么 五面(HR 面) 进行自我介绍,越详细越好 询问了一下家庭情况 了解一下你的职业规划 问了问你的身体状况 问了问啥时候能来实习,能实习多长时间 我问了一下,实习的食宿安排、工作时间安排

字节跳动内推

字节跳动内推 - 【入职】 岗位:后台开发实习生 投递日期:2019/03/01 笔试日期:2019/03/16 时长:2小时 一面日期:2019/03/23 时长:1小时 二面日期:2019/03/23 时长:1小时 三面日期:2019/03/23 时长:30分钟 笔试 时间太久了,很多都不记得了,由于当时做的不太好,所以以为没有面试了,也就没做记录 目前仅记得笔试时一共就 4 道编程题目,没有其他的选择题,然后本人仅做出来两道水题,后面的题目一个没做出来。但没想到居然获得了面试资格 一面 首先进行简单的自我介绍 直接进行算法题: 实现一个大数相加的程序,正常思路是使用两个字符串相加,但面试官要求使用链表。例如给你两个链表1->2->3 + 2->3 即:123+23=146 返回结果为:1->4->6 的链表。给出半小时时间编写代码,本人是 python 选手,于是用 python 编写了一个逆转链表的函数,一个实现相加的函数,最后计算结果,现场出现了 BUG,大概花了 7 分钟左右找到 BUG 并修复 经典题目:实现跳台阶,一个人一次只能上一个台阶或两个台阶,问有多少种方法。经典的斐波那契数列题 问了一下数据库方面的知识:解释一下数据库事务的隔离等级,为什么会有这四个等级 二面 首先进行简单的自我介绍 直接进行算法题: 给你两个整数,然后转化成二进制,实现二进制中的 N 位和 N+1 位替换成另一个数的 N 位和 N+1 位。一开始想到了利用位运算,但是没有清晰的思路,于是面试官说先利用最简单的方式,不要最优方式,和面试官说了一下转成字符串然后替换再转回整数的方法,把代码写完后。和面试官开始探讨如何利用位运算解决这道题目。最后有了一个相对清晰的思路,就是利用子网掩码的形式去做,但是由于替换的位置前面有数据,后面也有数据,在利用掩码运算的时候需要额外考虑数据的长度,正负问题。面试官可能感觉我代码写短时间不出来,于是就跳过了该题 给你一个链表,该链表除了正常的 next 指针,还有一个 random 指针指向链表中的随机一个链表节点或者空,然后题目要求是复制一个链表出来。一开始讲了最简单的方法,就是先把链表复制出来,然后再进行一个一个的判断 random 指针指向哪里,时间复杂度 N2,后来说了时间复杂度位 N 的方法,并把代码写出 问了一下 HTTP 的内容,数据在网络中传输利用 socket 套接字传输 byte 流,然后利用各种协议进行数据流解析,最后呈现出真正的数据。那么 HTTP 协议是如何解析数据流,判断这个数据流的开始结束。提问过于底层,并没有回答的上来。 对于该问题,我简单的说了一下 HTTP 协议中 request 请求的结构,请求行 请求头 主体。随即面试官提问那再这个数据流中 HTTP 协议是如何区分请求行的结束,请求的结束 主体的结束呢? 不明觉厉,诚实的回答了,不会。没了解过那么底层的东西。面试官很好的给解释了一下,问这个问题不是为难你,只是我们需要自定义协议,这些内容都需要考虑。我能说什么?明白,了解。没事,是我学习的不够彻底 最后问了一下 get 和 post 请求的区别。本人从两个方面简单的说了一下,从 HTTP 协议本身,这两者是没有任何区别的,然后在浏览器中使用时的区别有哪些,简单说了一些 三面 首先进行简单的自我介绍 提问了一些项目中使用的东西 nginx 如何配置 HTTPS nginx 的反向代理和负载均衡 情况模拟题:现在某个网站的 URL 长度太长,如何将这个 URL 缩短,然后还能正常的访问,利用短 URL 可以访问到长的,利用长的可以转到短的。一开始说建立两个 HASH 映射,长短即可互相查找。后又想到可以利用对称密钥的方式对 URL 进行加密,设计算法后,生成的长度可以固定,即可以直接利用算法实现长短互换 情况模拟题:现在某个网站有很多的 URL 然后某些 URL 又是火热页面,那么如何实现网站的稳定性。简单的说了一些可以利用的技术:缓存、负载均衡、反向代理、动静分离等 个人感受

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道逻辑推理题 数理逻辑题:题目难度不是特别高,但是在规定时间内完成所有题目很难 二元一次方程题,题目出的数量较多,但有些技巧,需要在你不计算出结果的情况下快速找到答案。可根据答案进行插入,排除等 找规律题:该题目真不知道有什么技巧,我能看出来的就算一下,看不出来的直接蒙 其他题目:主要是上面的两种题目,其他题目不记得了 逻辑推理题:增长了很多知识,很多都是给你一些不知道的理论让你判断 看图找规律题:和上面的找规律题相似,但该题是给你几张图,然后找到规律选出下一张图 理论描述题:给你一段法律法规让你进行阅读,然后下面给你四个事件,问你那个事件符合上面的法律法规 天马行空题:该题目真的是不知道想问什么,根据题目的几个字去选择,至于其中是为什么,全靠自己去理解,去编去扯 个人感受 由于本人是先做的逻辑推理题,在做题目的时候感觉虽然一脸懵,但是全都是理性推导,本以为不是太难,然后就平均用时,约用时15分钟。但打开数理逻辑题后我就后悔了,上来来了个二元一次方程,急速写下式子然后进行计算,最后没算出答案,但根据X, Y的关系还是找到了答案,时间不够,于是后面的题目看到不会的就先蒙上,记下题号,准备后续回来再看。后来发现太异想天开了。根本完不成。挑战了智商上限,本人还是太菜。智商余额不足 技术笔试 40道选择题+3道编程题(2道必做,1道选做) 选择题:题目偏重C++,对于其他计算机基础考的不多 绝大多数都是 C++ 看程序选答案或者根据答案在程序中填空 其他计算机知识考的很少,例如:计算机网络、操作系统等方面的题目仅有几道题 编程题:题目难度个人感觉不大,具体需要看人,但最后一个选做题始终没读懂题目 (必做)排座位 假设班主任需要为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个最大的淘气值让其一人一座,其他的让学生中淘气值最小的和剩下的学生中淘气值最大的相加,最后求出所有相加后的最大值输出 (必做)数星星 给出一个mn的只由01组成的矩阵,我们称包含: 1 111 1 这样的形状为星星(矩阵的四角为0、1均可),现在要从这个矩阵中选出一个矩形区域,要求这个矩形区域中至少有k个星星,问有多少个这样的矩形区域。(矩形区域即选取连续的若干行和连续的若干列所构成的交集区域) 输入:输入第一行包含三个整数n,m,k(1<=n,m<=500,1<=k<=mn), n和m分别表示矩阵的行数和列数。接下来有n行,每行包含一个长度为m的仅含01的字符串,描述这个矩阵。 输出:输出仅包含一个正整数,表示符合要求的矩形区域的数量。 样例输入 3 5 2 11100 11110 01100