收到了个比较励志的面试故事,主人公是校招生,从22年春招开始应聘鹅厂,一共应聘三次七面,在快要结束的时候拿到了鹅厂的office
当然他也不仅仅只投了鹅厂的简历,据了解这个兄弟只投了互联网大厂的简历,反反复复至少面了快上百次面试了,比公司新来的hr面试的次数都要多
想拥有上百次面试经历吗,可以点击:【领取上百次真实的大厂面试题,暗号】,不过经历是无法给予的,有需要的倒是可以帮忙模拟面试一下
一面(50min)
第一次面试,面了50分钟。
感觉问了好多问题,涉及到各方面。下面大概总结回顾一下问到的东西(不分顺序):
- 自我介绍
- 计网OSI分层模型
- TCP、UDP、IP在什么层
- TCP三次握手四次挥手具体详细过程,为什么不可以两次握手
- 数据库索引方面:MySQL除了B+树索引还有没有其他索引、索引优缺点分析、B+树索引介绍
- 数据结构方面,B树和B+树区别、数组和链表区别
- 数据库事务理解
- Java的GC理解
- Python多线程、多进程
- Python的List和Tuple区别,怎么删除列表末尾的元素
- 几个linux命令
- 微信支付设计测试点,延伸到了安卓系统/iOS系统多版本怎么测试和安卓系统信号弱的时候怎么测试, 进一步延伸理解安全性测试和可用性测试(手机信号弱等)可以从什么方面分析,感觉这个我们讨论了很久
- 多用户同时请求接口怎么测试
- Java的基本数据类型有哪些
- Java的String是不是基本数据类型,能否被继承
- 面向对象的特性简要分析
- 手撕代码:剑指offer翻转单词顺序的改编:每个单词原地翻转
- 黑白盒测试之类基础知识,就问了我是不是熟悉,我说熟悉就没问下去了
- 问了字符串去除空格的方法,感觉像翻转单词顺序那道题的思路,trim()去两端空格,split+正则表达式去中间的空格,本来应该是想问Python怎么做的我说Java熟悉点就答了Java怎么实现的
- Python假设ab字符转为ef字符,可以用什么方法
- Web页面某个位置的元素需要实时刷新的设计方法,估计是看了我项目的web应用问的
个人总结:其实感觉上还有问到很多细节的问题,不过大体就是上述这些了
面试官感觉挺好的,会针对你的回答引导你的思路去分析。有些问题自己不清楚也会很详细解答,哎,第一次面试还是有点紧张,不过也算是积累了很多宝贵经验吧
还有很多东西值得去学
二面 (86min)
没有问太多基础,主要是聊项目+自己了解到的基础测试理论和方法介绍
- 两道编程题
- 网银转账测试点分析
- 一道是猴子吃桃的问题,递归找规律,一道和测试相关,应该有点像IP地址的验证和测试,就是密码的验证测试,题目列了几个限制条件,然后口述测试用例设计,这道题要运行出来。
- 最后问了为什么选择做测试
反问,再次确认了是CDG事业群的 (P.S.:我说一下CDG事业群是腾讯七大部门之一,主要负责互联网金融(提一嘴微信CDG事业群出来的))
三面(第二次投简历 46min)
状态变初试,面试官又说是同一个BG同一个部门的,有点迷。
- 项目介绍
- 一些基础知识(进程线程,java内存,python的列表和元组区别之类)
- 两道SQL语句题(一道突然卡壳不会写,凉凉)
- 二分查找任意选择语言实现(复习盲点了,写得很慢还在不断debug虽然最后能run了,凉凉,外加测试用例设计分析)
- 一道C++读代码分析(因为我说C++不太熟悉但能看懂,果然让我写是完全不会的,太久没用,不过腾讯毕竟喜欢用C++,凉凉)
- 还问我Socket编程,我完全不会啊这方面,面试官说应该是没实践过吧
四面(40min)
凉了
- 一上来就问我C++基础,然鹅不会鸭,都忘了很多了,看出来腾讯是真的习惯用C++
- 然后就是抽象类和接口区别
- 抽象类和接口是否有默认实现(开始凉了)
- 线程安全和线程不安全
- 举一个线程不安全例子(没复习到这个,再次凉)
- 针对项目的技术栈提问,问了ajax的理解(不了解里面深层次的技术原理,好吧凉透了)
- DOM的理解
- 怎么利用DOM技术获取HTML文本框内容
- python用了什么库实现什么东西
- 因为有个数模的类似项目还问了是用什么模型实现
- 怎么确定神经元参数(面试官大佬好强,会的东西好多,是我太菜了)
五面(第三次简历 60min)
一上来没让我自我介绍,当场黑人问好
- java:面向对象特性介绍、abstract与static能否共存、StringBuilder和StringBuffer区别、java的GC、java是不是编译性语言、C++是不是编译性语言、Python是不是、字符串==比较,一种是new对象,一种是字符串拼接
- 数据库:索引介绍、事务介绍(什么是事务)、ACID属性
- 操作系统:进程线程区别、虚拟内存(虚拟内存存放在哪里)、可以用什么命令查看本机IP
- 计网:TCP/IP分层、TCP和IP在哪一层、127.0.0.1是什么地址
- 编程:交换二叉树左右子树节点、判断一棵树是不是另一棵树的子树
- 1+11+111+1111+…+11111…1(n个1)sum总和有多少个1,说算法设计思路
- 场景:打不开百度网页可以从哪些角度检查
- 数据结构:哈希冲突有什么解决方法、给出二叉树中序遍历和后序遍历还原一棵树(画图就可以),二叉树有几种遍历方式,什么是前序遍历、图有什么遍历方式
一直还是想问我C++的内容,我太难了,基本不怎么会C++,忘了很多了然后自己也不常用,还问是不是没做过网络编程,MFC编程这种,还问了不了解动态链接库静态链接库,有没用过C#,我一脸懵逼…
六面(45min)
腾讯会议面的,也还是没让我自我介绍…
- 项目相关:介绍自己的项目,然后根据项目扯开来聊一下,因为有个数模类的项目面试官顺带问了一下AdaBoost,迷迷糊糊记得大概的内容
- 数据库:有什么索引、ACID在数据库中怎么实现、给一个场景写一个创建表的SQL语句,一个查询语句,问在那个查询条件下怎么建索引、MVCC(不太了解这个)、MySQL存储引擎,InnoDB的事务隔离级别
- 海量数据查询TopK
- Spring的IoC和AOP,这个只记得概念了忘记了具体的原理
- 为什么想做测试
- 问了是不是有课程专门学习测试,大三的专业课就是测试,相关测试工具是在什么情况下使用过
- 秒杀系统怎么设计测试用例
- 反问,结果怎么和之前面的那一轮还是同样CDG呢,迷惑,可能是不同部门吧
-
复试完11月5号变灰的到了今天9号腾讯又把我给捞起来了
七面(40min)
腾讯会议
- 自我介绍
- Selenium使用情况,主要用来干什么,定位元素的方法
- Jmeter使用情况,主要用来干什么,假设一个200w用户的站点怎么做压力测试,并发用户数和同时在线用户数的区别
- Postman使用情况,主要用来干什么,HTTP报文格式,有什么header,HTTP的请求方法有哪些
- TCP建立连接和断开连接的过程
- 数据库常用语句,怎么查询数据库当前活跃的连接
- JSON等格式的数据需要传输的第一步需要干什么,有没有做过网络编程
- 一个web页面,一个输入框,一个可用于统计输入框中a字符出现次数的点击button按钮,怎么设计测试用例
- linux命令:查看服务器内存情况,向服务器发送文件
- 问了快排原理
- 编程:统计一个整数数组中出现次数最多而且数值最大的元素。返回该元素值和出现的次数+冒泡排序(共享屏幕,可用自己IDE)
- 进程和线程的区别,Java和Python多线程的区别,谈到了GIL
- 全局变量和静态变量的区别
- 项目相关,职责,难点和解决措施
- 了不了解软件开发的流程,有没了解过持续集成
- 对测试和开发的看法
- 反问
前面有点不在状态,而且很多问题都不怎么答得上来,网络编程几次都问到了但我没实际了解过啊
剩下的HR面就不说了, 都是些一样的问题,期望薪资和福利,未来规划一类的
后话
我看完这个面试经历的时候,真为这个人感到曲折,腾讯三次七面、网易还有五面…上海部、广州部、北京部都跑过了,是个有大毅力的人,只是作为建议而言并不推荐各位这么做,有毅力固然是好事,但在毅力的前提要知己知彼,摆清自己的定位
说回正题,看到中间我还会觉得这个人会被转岗(事前知道他拿到offer了),没想到居然还是原来的岗位,只要你是个人才,大厂还是会给你不少机会的
像这次C++语言、Java语言、Python语言上都给了机会,这也对应了测试响应的岗位,大家在面试一定要掌握好机会,碰见面试官提的不会语言不要慌张,正常表现就行,问到其他语言就是要看看你能否有转岗机会而已