字节二面:
二面面试官见到我特别和蔼,一直笑 ,这一面只有一半问技术,另一半问平时怎么学习的,之前的学习经历这种东西 :
-
自我介绍+项目介绍
-
mvp mvvm mvc
-
mvvm和mvp区别
-
viewmodel怎么实现的,原理
-
问我有没有了解什么异于常人的地方
-
说说ssl tls的发展历程,http的发展历程,tcp拥塞控制的几个算法,如何实现udp的可靠传输,quic协议,dns协议的过程。
-
之后又问我对安卓的哪些地方感觉设计的比较好
-
自己学了安卓,感觉哪些地方比较有意思
-
kotlin
-
内联函数,高阶函数,泛型,lambda表达式
算法题:
- 实现一个循环队列
=====================================================================
-
自我介绍
-
你觉得你在同年级人里面的水平状况
-
讲下你觉得最全面和难度最高的项目
-
做项目的动力
-
算法题每千位加个逗号
-
未来的学习计划
-
有什么问题
=========================================================================
大概问了下之前的面试体验,手上是否有其他offer,自我介绍等
感觉问得不偏基础,有些感觉必考基础题没问,第一感觉还是不难的,之后hr就直接谈到了薪资问题。说到这里就觉得这个offer是稳了。
字节面试题答案解析:
只有不断地努力,不停的学习,才能对你的工作和面试当中带来帮助,学习之路,犹如逆水行舟, 不进则退, 下面分享的正是我的学习方法:
准备:
这是最辛苦的阶段,你不仅要把日常的工作做好,还要开始着手准备刷题、基础知识准备以及高阶知识的准备,除此之外我还对英语进行了一些准备,本来英语就是半文盲,由于不管是想去外企、出国以及看英文的文档,英语都是必不可少的,英语在我们的日常生活中也越来越重要,我们要,整个阶段大概持续了4个多月。
其实每一次跳槽,都是对这几年工作的一个梳理和总结,虽然大家都明白“面试造火箭、进去拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一生产力,只要有优秀的人才,那么造出的火箭才可能“一飞冲天”。对于个人而言,如果公司里同事优秀的人,那么你肯定也不会差,我们肯定更希望和优秀的人一起共事。
(一)调整自己的心态,正确面对得失
面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。
(二)提升技术,扩宽知识
对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。那么如何提升自己的技术,扩宽自己的知识储备呢?
以下是我个人的一些做法,希望可以给各位提供一些帮助:
- 准备简历
简历是门面,更是敲门砖,能否拿到大厂的面试机会,就要看自己的简历如何,抛开学历以外,大厂最看重简历是否有亮点,因此我们对简历内容要有准备,对自己的突出点,包括技术、个性上的亮点,要练习表达,避免临时组织语言。
优质简历范本:
- 68天啃完546页的pdf文档(时间挤一挤,制定好计划)
一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。
文中所有资料都可在我的GitHub上免费下载。
一、Android部分:
1.第五大组件FragmentAndroid知识体系总结之Android部分之Fragment篇
2.对话框 & 弹框 & 通知 & 悬浮窗之 WMS 源码篇
3.Android UI控件篇 高级自定义View, 主要是原理和手写实现
4.Android 系统架构篇
5.Android 通信篇
6.Android Framework 源码篇
7.Android 网络编程篇
8.原生音视频图片开发篇[非JNI]
9.Android 特殊知识点【不知道如何分类的知识点】
10.Android 必须掌握的轮子 原理篇
11.Android 架构篇
12.Android 优化篇
13.Android 职业方向篇(有正确的职业方向,才能不浪费自己的职业生涯)
14.Android 工作工具篇
15.Android 工作必备技能篇
16.Android 跨平台开发篇
二、Java部分:
1.JVM
2.static
3.final
4.String. StringBuffer. StringBuilder
5.异常处理
6.内部类
7.多态
8.抽象和接口
9.集合框架
10.反射
11.单例
12.多线程
13.volatile
14.synchronized
15.Lock
16.引用类型
17.动态代理
18.元注解
三、 Kotlin 部分
1.Kotlin Primer · 第一章 · 启程
2.Kotlin Primer · 第二章 · 基本语法
3.Kotlin Primer · 第三章 · Kotlin 与 Java 混编
四、计算机网络部分
1.计算机网络体系结构
2.HTTP相关
3.TCP相关
4.Socket
5.总结
五、算法与数据结构部分
1.Android数据结构学习之顺序表
2.Android数据结构学习之链表
3.Android数据结构学习之队列
4.Android数据结构学习之栈
5.Android数据结构学习之树
6.Android数据结构学习之 排序查找
7.Android数据结构学习之 动态规划
六、 Flutter部分
1.Flutter是啥玩意儿?
2.移动端跨平台技术对比
3.Dart语言
4.环境配置
5.Hello World
6.路由
7.widget
8.布局
9.动画
10.http请求
11.吐吐槽知识点总结
12…
七、 性能调优方面
1.设计思想与代码质量优化
2.程序性能优化
3.开发效率优化
- 读一些实战文档:MVP架构+NDK音频+Flutter+Kotlin实战等
- 阅读前辈们的一些其他相关电子书:源码+调优+面试等等
总结
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码
因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
![](https://upload-images.jianshu.io/upload_images/22459598-d28466e9024b39b5.png?imageMogr2/auto-orient/strip%7CimageVie
w2/2/w/1240)
里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…