首页 > 字节广告Java一面面经
头像
白非立
编辑于 2020-12-29 18:19
+ 关注

字节广告Java一面面经

本来之前教育一面没过,投了没几天有点后悔了,感觉广告更没啥希望能过,后面春招的时候面试记录也不好看,不过最后还是没好意思取消。
一开始还是自我介绍,这次比面教育的时候多了一个这段时间在慕课网学的基于springboot的微信点餐系统的项目经历。
自我介绍完面试官没问别的,直接说做一下题。
第一道题是个简单的滑动窗口:

Input: S = "ADXBECYDEBAXCXY", T = "ABC"
Output: "BAXC"
包含T里所有字母的 S最小子串
假设T没有重复字母
不考虑顺序

第二道题就有点懵了...一开始想着数据量较大是指像LeetCode上区间合并的题目一样数组多一些,没想是真的日志文件...想了一下排序后数重叠区间个数的思路,面试官直接说不用排序,想一下有没有不用排序的思路。想了一段时间还是没思路就放弃了。后来反问建议的时候面试官提了第二题的思路,一天的秒数是有限的,可以用秒做key。

描述信息
已知一天内用户登录登出的日志(数据量较大),求这一天用户在线的最大峰值和持续时间段
日志包含字段(userid, login_time, logout_time)
登录登出时间精确到秒

第三道题是智力题,这个挺久以前在牛客看到过一个智力题总结的帖子,但当时看的时候也没在意,觉得一般也不会出智力题...刚看题的时候有点懵,不过稍微想起了之前总结帖这里需要排除一些肯定不是最快的马,最后草稿纸上画了画总算算出来了。

条件:
1.64匹马
2.8个赛道
3.每次比赛只能知道比赛结果名次,不能知道具体时间
求:
用最少的比赛次数,找出最快的4匹

然后面试官开始问基础知识,先问了数据库的范式,我说了一二三范式分别是属性原子性约束、字段唯一性约束、字段冗余性约束,面试官说有点问题,让我回头再看看。然后问如何设计表,设计几个表,什么做主键,为什么这么设计?

Exp. 学号、姓名、系名、系主任、课名、分数
怎么设计表

然后问用过Redis吗,我说就最近做的点餐系统有用过,课程里面模拟秒杀讲过用redis的SETNX和GETSET做锁。面试官就问了SETNX的含义,需要传几个参数,返回值是什么,以及应用场景。我就说了一下在项目里面如何加锁的,先判断能不能拿到锁,然后判断锁有没有过期,过期的话有可能两个线程同时要拿锁怎么处理。
然后面试官问java的垃圾回收算法,我问是要讲一下垃圾回收器吗,然后开始说Serial、Par New,CMS,G1收集器。

最后我还以为还有问题,结果面试官说就到这了,问我有什么想问的吗。我就问了一下对我这次面试的评价和建议。
面试官说评价就不说了,建议的话就说了一下第二题的思路,说基础知识还可以,不过这次问的也不多(确实...毕竟计网都没问)

第二题没做出来,感觉是凉了...(之前看牛客上有说字节有算法题没做出来基本就凉了)


ps: 面试一个小时后hr打电话约二面了,属实没想到。
hr开始先说面试官评价可能刷过不少题,见过的题可能做得很快,但没见过的题目可能就没啥思路或者会思考一段时间。基础知识深度差点(我寻思也没问多少基础知识...),广度还行,约一下二面的时间。

有点明白自己上一次教育一面也是有一道题没做出来但没过,这次却过了了。可能是这次面试官比较好心,第二题没做出来之后给了一次机会,看第三题我不像之前做过但做出来了,还行,给了次机会。

更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐