如何准备字节跳动的面试

因为在朋友圈和微信群招聘信息发的多,平时经常被问到如何准备字节跳动的面试,尤其是算法题。同时,自己在面试人的过程中,也发现有一些常见的方面,很多朋友表现的不是很好。因此,写了这样一篇文章,共大家参考。准确的说,这里的准备方法其实适用于绝大多数的互联网公司,不过,因为我自己只是在字节跳动,我没有办法为其他公司说话。 一个技术面试内容,主要分成三大块: 项目经历 基础知识 编程题 项目经历部分 面试官可能会问你,做了什么,用了哪些技术,遇到什么困难,怎么解决的。 这几个问题,建议可以对着自己的简历,思考一下如何回答。 除此之外,来有两个注意事项,最好也准备一下。 一是原因,比如说你做某一个需求,业界有ABC三种方案,你为什么用了A方案,而没用B或C方案。 二是原理,比如说你用了某个开源项目,它的实现原理是什么?最好是代码看过,如果没看过的话,要知道核心原理。 基础知识部分 这部分其实更多是取决于平时工作中,遇到问题,多总结反思。不过如果想要速成的话,也不是没有办法。最简单的就是,你Google一下所谓的“常见安卓面试题”,把里面的题目都背一下,应该就差不多了。因为如果你多面试几个公司的话,你会发现大家问的问题都差不多,就是那些。 当然,也不是鼓励大家死记硬背,只不过,很多地方,确实需要记忆,所以,就是这个意思。 最后,是编程题部分 字节跳动的每一个技术面试环节,都会有编程题,这是公司规定的面试流程。这部分的准备其实也很简单,一句话就是刷LeetCode,刷个几十道题。具体多少,跟每个人自己的基础有关。不过,认真做的话,最多一百道,基本就不会有问题了。 关于面试,就说到这里,其实你会发现,上面说的内容,不仅仅适用于头条,这里说的准备方法,可以应付绝大多数的互联网公司。此外,说起来容易,做起来可能不容易,你要搞清楚自己用过的技术,框架的代码、实现原理,这个不容易。 “常见”面试题,可能也不少,要理解他们并记住,也不简单。 最后,刷一百道leetcode,也不是一件容易的事。 总体下来,可能需要几个月,具体看每个人的基础。 不过,用几个月的努力,换一份待遇好、成长快、有挑战有趣味的工作,我个人觉得是非常值得的。 如果你准备好了,可以随时找我内推,过程中有任何问题,也可以随时联系我。

Continue Reading如何准备字节跳动的面试

AndroidStudio调试小技巧

我在这一行代码打了个断点: 我能不能让代码走到这里的时候,IDE不停下来,而是打个log出来,告诉我代码走到这里了呢? 你可能会问,为什么,你为什么会有那样的需求? 因为我只是想知道代码有没有走到这里,并不是想让它停下来。 你可能又要问,你在那个地方加一行log,重新运行不就好了吗? 这样做确实可以,但是如果你的项目特别大,运行一次需要几分钟甚至十几分钟的时候,你就会尽量避免修改代码重新运行。 这时候,如果你手机上已经装了这个app,你就会想要通过断点的方式,来判读代码会不会走到某个地方。 这就回到我们开头的问题了,能不能让代码走到那个断点的时候,不停下来,而是打个log出来,告诉我代码走到那里了呢? 我探索了一下,发现确实可以! 在调试面板点击这个图标: 会出来下面这个界面: 左边选中相应的断点,勾掉“Suspend”,勾上“Breakpoint hit” message,如下图所示: 再次进行相应的用户操作,触发断点的代码,在调试面板的“Console” Tab,你就会看到断点打出来的log,表示这行代码被触发了。如下图所示。 在这里,你甚至可以自定义打印的log内容,勾上“Evaluate and log”,输入你想要打印的表达式,如下图所示: 效果如下:

Continue ReadingAndroidStudio调试小技巧