从在牛客网发暑期实习的第一篇面经开始,到现在已经过去近2个月了。中间陆陆续续参加了8个厂的招聘。岗位均为后端/服务器开发。base地点为北京。 失败 字节跳动 一面就凉。字节跳动还是一家和我很有缘分,我也很喜欢的一家公司。去年参加过一次广告系统的暑期实习面试,经历残酷四面。面到lead力哲。最后因为实习时间不合适没去。去年暑假还参加了ByteDance 的夏令营。由于是长久以来的第一次面试,准备不足、发挥也不是很好。算法题 编辑距离 没做出来,遂一面即凉。 微软 找了之前在微软工作的一位师兄,托他又联系到正在微软工作的一位同事,做了内推。18年时曾面过一次苏州微软, 当时水平有限,无
阅读全文 »

RankNameScoreFinish TimeQ1 (4)Q2 (4)Q3 (6)Q4 (7)113 / 11684YoungForest180:34:170:04:320:10:540:18:490:34:17手速场。换成Python后,手速场很轻松。真的是人生苦短,我用Python。不过在用Python刷题的过程中,我也发现了一些问题。 * API不熟悉。比如sorted会返回一个排好序的list,而不是in-place sort. * 数据结构不全。如没有treemap,priority_queue只能用heap,代替。最小堆需要把所有数*-1,使用这种丑陋的实现方式。 * r
阅读全文 »

RankNameScoreFinish TimeQ1 (4)Q2 (4)Q3 (6)Q4 (7)703 / 9206YoungForest120:36:350:10:240:22:030:31:35 1null 1417. Reformat The String 分别统计数字和字母的个数。如果相差个数不大于1,则可以reformat。 先选多的那类。 时间复杂度: O(N), 空间复杂度: O(N). 可以用双指针的方法,节省存储数字和字母的string的空间。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2
阅读全文 »

IDscorerankBike TourBus RoutesRobot Path CodingWandering RobotTimeYoungForest745245 + 710 + 1311 + 1614 + 01:35:18去年一共参加了6轮kickstart,成功拿到Google今年的实习邀请。可惜的是,由于疫情的原因,谷歌中国的暑期实习项目全部取消了。今年为了秋招名额,仍需继续参加kickstart。今天的round B轮次虽然在早上7点,但仍然有很多同学参加。遗憾的是,最后一题的时间复杂度过高,大的Test set TLE了。 Bike Tour 签到题。遍历一遍mountain
阅读全文 »

RankNameScoreFinish TimeQ1 (3)Q2 (4)Q3 (5)Q4 (6)700 / 7729YoungForest181:17:490:04:500:10:380:17:451:02:49 3最近参加了2场codforces的比赛,cf的rating徘徊在1400+。cf的题目相对leetcode还是难的多的。并没有坚持下来。这也和cf没有很好的discuss区有关,每届比赛结束后,只能看官方的editorial。 1413. Minimum Value to Get Positive Step by Step Sum 统计presum的最负值,需要注意的是star
阅读全文 »

官方题解 codeforces上题目一般高于平时的面试题。如果是为了面试的话,只刷LeetCode就可以了。不过如果是对算法和竞赛感兴趣,强烈鼓励试一试。题目的数量和质量都远超LeetCode。而且为不同水平的同学有不同的赛道,题目难度也不同。对于高水平玩家来说,竞赛体验会好的多。 我目前共参加过2场Div.2,rating 1480。没错,初始值是1500,我反而掉下来了。 A. Filling Diamonds 可以用动态规划的方式思考这个问题。对于长度为n的belt来说,共有2种状态: 0. / 和 1. / \ 状态转移方程有: dp[n][0] = dp[n-1
阅读全文 »

RankNameScoreFinish TimeQ1 (4)Q2 (4)Q3 (6)Q4 (7)589 / 9816YoungForest190:55:300:07:040:15:050:37:18 10:50:30今天又是一轮手速场。Python告诉我们,“人生苦短,我用Python”。我有2题用Python实现,1和4。事实上,对于第3题,直接调用Python Str API更是如鱼得水,不过我当时选择了用Trie+自动机的方式实现,也活该名次掉下来。 1408. String Matching in an Array 签到题。使用Python Str的find函数确定是否是子字符串即
阅读全文 »

RankNameScoreFinish TimeQ1 (3)Q2 (5)Q3 (5)Q4 (6)199 / 7026YoungForest190:40:570:08:050:11:440:33:380:40:57不难,手速场。发现很多手速场的比赛,第三题甚至都比第四题更难。 1399. Count Largest Group straight forward. 用一个hashmap统计digit_sum -> count, 最后再找出count最大的几组。 时间复杂度: O(N), 空间复杂度: O(N). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
阅读全文 »

RankNameScoreFinish TimeQ1 (4)Q2 (4)Q3 (6)Q4 (7)91 / 12542YoungForest210:39:070:09:240:15:330:29:530:39:07本周又是手速场,足足有800人AK。可能是由于疫情的原因,程序员都wfh(work from home),每次周赛的参加人数都稳步上涨,比我刚回国的时候已经增加一个一倍了。rating掉了有一个月了,这周终于涨上来了,2187,恢复到了最高点。 1403. Minimum Subsequence in Non-Increasing Order 贪心。先排序,试图选大的值,直到累计和
阅读全文 »

RankNameScoreFinish TimeQ1 (3)Q2 (4)Q3 (5)Q4 (8)727 / 11694YoungForest120:22:500:03:130:14:040:22:50null这周一加了一个LeetCode每日打卡和周赛群。每周出排名,末位发红包;每天做道指定题目,连续2天没做发红包,极其惊现刺激。赛事排行榜。 本次比赛是入群以来的第一次,由于第四题太难了,总共也就一百人做出来。群里也只有5个人AC 1394. Find Lucky Integer in an Array 签到题。注意数据范围,统计frequency即可。 时间复杂度: O(N), 空间复
阅读全文 »
0%