字节二面——产品研发部
字节二面——产品研发部
开头面试官介绍了一下自己,说了这次大概会问一些cs基础和做过的项目。
问实习经历
1.做了什么事情?
2.这个系统了解吗?了解有多深?
3.测试工作主要是功能测试还是深入底层呢?
4.看过底层的代码吗?
5.知道这个OA系统之间的服务调用关系是什么样子吗?有了解吗?
6.OA系统对接哪些系统?系统之间主要是怎么交互的?说一说他们之间业务的关联。
balabala...
7.被打断,我们来聚焦一下,具体的业务场景是什么样子的?
配置表单,接收cloud平台的数据...
8.有一个表单的流转是把,接收什么样子的数据呢?
开始乱讲...
9.库存用OA做什么?也是审批吗?
对平台主要做的流程的流转和审批。
10.问其他平台对接系统流转的状态是否一致?他们的状态机是一样的吗?
11.觉得自己负责的系统有什么痛点难点吗?
业务数据和平台数据耦合性太强,运维量大。
12.有没有一个替换掉解决方式?
将业务数据和后台数据进行分离,做一个前端界面给到业务端,让业务自己更改数据。
13.业务端改好之后,如何同步到系统的数据库里呢?如何做到兼容?因为你刚刚描述OA对接了很多系统。字段可能是不一致的可能不是通用的。
1)开发手动对接每个系统的业务数据;2)外购系统来实现。
14.是你自己推测还是公司准备这么做呢?
和PM沟通,他们一致这样认为,我自己了解之后也觉得这两种是比较好的解决方式。目前打算深入去重构底层的逻辑。
15.重构底层逻辑原因是什么?
因为系统用到的技术比较老旧,和其他系统的新的技术的兼容性不是很好。
16.用到什么技术?
死亡...没接触过。举例数据库用的hiper....(反正比较老旧的一个技术)
En!那我明白了。
内心独白:你终于不问了。
17.只是技术性的重构对吧?业务形态和产品逻辑没有发送变化对吧?
是的
提到在用miigo,分担系统的业务。
18.用miigo做什么?做业务流程的流转是吧?
是的,用miigo分担OA系统的业务。
19.假如系统由你们内部开发,系统重新重构。你认为对于这种重构性的测试要这么创建测试计划呢?(死亡问题
了解重构技术应用到OA平台的案例。去学习可能出现的经典bug。.....说了一堆
20.被打断,强调要保证系统性的重构项目上线不出问题,这么保证?从你两个多月的实习经历来看。
和PM有充分的沟通,(面试官en了一下。
问项目
21.问mysql火车售票的系统。(面试官说不用我过多的介绍,说自己12306比较熟...突然头凉
22.用到了哪些技术?
23.听起来都是数据库的技术是把?有前端后端的设计吗?
是的,没有。
24.偶就是数据库的增删改查是把...
/哭泣 是的
25.那我来问几个mysql语句的命令?一张表 字段是 id name score
输出表中分数大于平均分的人名。
select name from table where score > avg(score)
26.面试官说这个会报错,有什么修改方式吗?
用having 代替where
27.emm还是会报错。
我不会了....
28.回到项目里,这个表你们是这么设计的呢?字段数据类型的选择。
讲了好一会儿,varchar char 其他的字段我都不记得....
29.和我讨论,我们来临时思考一下,用什么类型比较合理。
需要考虑时间复杂度,数据库运行压力的问题,因为做的12306项目。
30.用数据库的话 ,瓶颈就比较明显了。都用varchar的话一定会有大量的问题。
死亡...balabala
31.被打断,聚焦一下,所以每个字段应该怎么设定呢?类型长度。
根据是否为节假日,有无重大时间发生等来提前了解业务场景,预估可能的数据处理范围,用char写死。(我只认识varchar和char哭泣了...
32.那如果我要做一个长期的,今年要查看3年前的一个订单信息,要怎么设计呢?
死亡...我不会。可以给点思路吗?
33.这个要我给什么思路吗?因为你设计的是一天内的场景,这个数据量不够,那我们有什么其他的办法实现吗?这个了解吗?不了解可以跳过
不了解
34.互联网的中间件了解吗?
不了解
35.好那我们回到项目里,我刚刚说这个数据库可能是一个性能的瓶颈,比如我要查车次或者订单的时候,对于12306这种高并发类型的场景,你觉得有什么好的办法来优化这个问题?
死亡...说的sql优化
36.但是你这样并不能控制用户的一个行为呀?这方面有什么办法优化吗?
没有什么思路。
37.如果不用数据库的话,你觉得能用什么东西来代替数据库,提高性能?用什么工具?(面试官说看一下我了不了解,了解的话再深入问一下。
38.好的问几个基础把。TCP是怎么保证数据有序传输的。
TCP对传送的数据有编号,编号是有序的,有缺号就会让对方重传。丢包重传
39.只有这一种方式吗?还有别的方法吗?
暂时不知道
40.长连接和短链接了解吗?
我说不是很记得。(此时面试官对我的专业产生了质疑,问我是不是计算机专业的。5555我是真不记得了。
41.直接问我,计算机基础你对什么比较了解。
linux
42.用一条命令杀掉服务器上的所有jave进程
kill -9 | grep java
43.对awk了解吗?
44.能不能推荐我一个能够提高效率的命令。
grep
45.grep后面的参数讲一讲
46.平常会用到grep吗?说一说使用场景。
聊到了tail -f
47.f是什么意思啊,F还是f?
file?
48.参数比较多,想了解命令每个参数的使用怎么办?
man,help
49.刚刚我们的网络有点问题,牛客网这边只能二选一要么开PC端要么开手机端,这个功能牛客网怎么实现的呢?你要实现的话你怎么去做呢?强调控制二选一。
提到身份认证。提到ip路由,只往指定ip传数据,
50.ip指的什么ip,牛客怎么支持,怎么做到二选一,怎么实现的?怎么做限制?
抢断式设计。
51.抢断式的设计指的什么呢?后一次的请求会把前一次的覆盖掉吗?
52.怎么判断是同一个用户?
身份验证
53.假如说用的用户来加锁,再往深层考虑一下,这些功能怎么实现?用什么技术实现呢?因为听你的大概思路是用锁。锁的用户这个维度。
强行乱编...总之希望自己多说一点...
54.这个锁放在哪里?
服务器里面
55.服务器的什么地方
操作系统
56.具体什么地方
linux文件里
57.假如牛客网有多台服务器,放那台服务器里面呢?
偶 那这样子感觉上云比较好。
58.上云放哪里呢?
59.可不可以放在数据库里面呢?
可以,但是感觉I/O操作会比较占用资源。
60.放服务器也会I/O。这个I/O也不小对不对?有没有更好的方式?
我居然说出了放在网络中....
61.具体怎么放呢?
我不会了
---------------分割线-------------------
好累终于反问了...
1.你们的业务场景
业务形态比较多样化,字节是一个APP矩阵,旗下有很多个APP。每一种APP的变现方式主要有广告电商游戏。电商是我们负责的,我们部门主要负责电商的中台的一个系统。主要是对字节旗下的APP做一个后端的支撑。实现一个整个APP的交易闭环。
2.面试有什么建议?
抱歉不能说,公司规定。
复盘
感觉字节面试官的风格就是:聊到啥问啥,碰到感兴趣的点就深挖,挖到不会为止。怎么和阿里的“还有吗?”这么相似。
感受得到面试官抓到机会就拓展知识点,试图了解我的知识边界在哪里。
感觉字节面试官给我的项目提供了很多可以补充的点,是非常有意义的一次面试,之后可以围绕他提出的问题对我的项目进行补充。感谢字节给我面试机会!!!
#面试复盘##面经##字节跳动##测试开发工程师##校招#