字节跳动客户端开发两次一轮游(21 届秋招)
最后更新于
最后更新于
字节跳动的提前批是我秋招的第一次面试,时间应该是在7月中下旬,那时候刚结束完小论文,很多东西都没准备起来,发挥的不好是可想而知的。此处建议大家把理想公司的面试尽量安排在靠后的时间点,越后面发挥的会越好。
字节跳动的正式批是走朋友的内推,一个简单的编程题改造因为过于紧张再加上在文档中写,没办法debug,写了较长时间,直接就挂了。此处建议大家多多练习算法题,特别是输入输出和不同情况的变形,除了在leetcode上跑以外,还需要自己本地多跑下,字节比较注重算法题。
(基本问题)自我介绍和项目介绍
(计网)http和https的区别
(计网)浏览器中输入域名(url)后发生了什么
(操作系统)进程和线程的定义
(操作系统)进程通信方式
(安卓)Android 进程通信的方法
(安卓)Intent 是怎么进程通信的
(安卓)安卓四大组件
(安卓)内存泄漏有哪几种情况
(java)四种类型强制转换
(java)数组和链表的区别
(java)深拷贝和浅拷贝
(jvm)如何判断堆中哪些对象需要被回收
(jvm)gc回收
(jvm)新生代和老年代都用什么算法
(算法)计算某个字符串的所有排列组合,并且按字符串逆字典序排序的方式输出。
类似于有重复字符串的排列组合和无重复字符串的排列组合。看到题目之后先问了面试官字符串会不会有重复的字符,他说有重复。此处建议大家多跟面试官沟通需求。本人当时不太会输入输出,排列组合都弄出来了,但是按逆字典序排序的方式输出时候写错了,写代码弄了1h左右,所以面试失败了。通常面试官不会像这位面试官一样好脾气,看面试者写了一小时。。面试官说我写的思路是对的,但是不知道为啥最后通过率还是0%,可能是牛客网对输入输出有一定的规定,所以大家记得提前练习下输入输出。
本题的多种不同方式的代码在我整理的算法笔记中有写,大家可以搜索关键词(字节1面)。
(基本问题)自我介绍和项目介绍
(基本问题)学习路线
(海量数据问题)从海量数据中找出最大的前K个数
(安卓)Handler机制
(安卓)安卓中怎么创建一个线程池
(安卓)Activity A 启动 Activity B,两个Activity的生命周期顺序
(安卓)关于Android Activity之间传递数据的方式
(jvm)jvm中,直接内存是什么
(java)final,finalize, finally有什么区别
(java)HashSet类如何实现添加元素保证不重复的
(算法)最长递增子数组的具体数组
类似于最长上升子序列和递增子序列,但题目要求是输出最长递增子数组(子数组连续,子序列不连续)的具体数组(不是求长度)。面试时候发挥的不是很好,再加上是在文档里面写的,没办法debug,就更紧张了。事后复盘时写出了这题的不同变型【最长递增子数组长度,最长递增子数组具体数组,最长非递减子数组长度,最长非递减子数组具体数组,最长递减子数组长度,最长递减子数组具体数组,最长非递增子数组长度,最长非递增子数组具体数组。】,在我整理的算法笔记中有写,大家可以搜索关键词(最长递增子数组)
字节面试的算法题不会很难,但是可能存在一些变型,所以想要面试字节的同学一定要多注意研究每道题的不同情况,除了leetcode练习以外,可以额外在本地做一些变型题和输入输出处理。在面试中,实力和运气都很重要。如果有绝对的实力的话,运气是锦上添花;如果说实力还在发展阶段,运气好的话也可以碰到自己会的题目。心灵鸡汤:面试失败并不可怕的,事后的复盘很重要,不断做更好的自己就行了,某家公司不行的话就下一家公司呗。