字节幸福里测试开发实习一面面经
2022.3.2 11:00 时长一个小时
是个年轻的小姐姐面试的
是想投后端的,hr推测试开发,让我先面面试试看. (第一次面大厂
上来先让自我介绍,然后看到我的简历,让我简单介绍一下项目 (实现的功能)
开发中遇到的什么问题? (说了redis进行优化,定时任务等)
redis优化的背景是什么? (每次操作都需要访问数据库,访问量大造成数据库压力,且速度没有redis快)
你有考虑是自己的sql写的有问题吗?除了redis还有什么性能瓶颈吗? (一下子没思路,说了可能性能瓶颈出在索引的选择上,说了下普通索引和唯一索引应该怎么选择)
平时用什么语言开发? (Java)
我们来做题吧
无重复字符的最长字串(leetcode 3)
问了下数据范围,然后先说了下思路,使用滑动窗口来解决 (中间出了点小插曲,输入的时候我把双引号一起复制进来的,导致cnts[26]数组一直越界,当时比较紧张,然后一直没想到是我输入的问题.....leetcode做多了,直接复制双引号字符串,最后打印了一下字符串长度,发现多了两位,才debug出来,感觉很不好😢) 然后跟面试官解释了刚刚出现的数组越界
然后是一道sql题 是查支付日期在2022.3.10之后的已支付的买的商品(三种任意一种)超过两个的用户,按照倒叙排 (我是对user_id进行分组group by 然后使用having 筛选count(*) >= 2 然后order by排序,中间询问了面试官where条件中 日期之后应该怎么写(没写过日期sql),她让我直接写大于就行,反问我没有写过日期类型的吗, (苦笑)说不知道是不是该格式化日期. 写完给面试官解释了下sql语句
我们来问下基础知识吧
Java这块,垃圾回收怎么判断对象是不是要回收呢? (答了引用计数,和gc roots,以及什么可以作为gc roots)
数据库的索引和主键有什么区别? (又懵了,这俩有啥区别,然后回答了什么是主键什么是索引,然后有一次问我索引和主键有什么区别.....跳过吧)
redis持久化的方式有哪两种? (心里感觉凉了,数据结构都理解了,这刚好忘了看...)
有了解redis大key吗? (...又是没听说过,给我解释了一下大key,就是value比较长,我们应该怎么做优化? 答了一下可以对value分段, 加一些key来指向.....)
kafka或者异步队列的作用? (解耦, 异步,结合项目说了一下,但是面试官好像不太满意,说别说具体的,抽象一下哪几个点)
线程的进程的区别?
抖音app切换短视频的过程中发生了闪退?你觉得问题是什么? (提示我可以从内部原因(app端跟后端之间的协议或者字段不兼容)和外部原因(网络) 让我想想还有没有其他原因)
回答没什么思路,下来再看看
反问环节
测试开发平时是做什么的? 解释了有一分多钟
技术栈 (python,go)
应该从哪些方面学习? (基础再准备一下,准备一下测开方面的知识,因为刚刚问你,你定位不到问题的原因,我也就没深问) (后端转测开还真不是很容易啊
说一般两到三个工作日会通知面试结果
面完感觉凉了
没想到的是面完俩小时后hr当电话约周五二面 (效率真的快)
一直准备的计网和os一个没问🤣
求大佬们侧开用例场景的分析~