前言
这里是双非本科毕业一年的Android开发渣渣,坐标深圳.
我社招的状态是退职精投,除了富途,还投了腾讯和字节,其中腾讯音乐的QQ音乐部门捞了我,然而很惋惜,倒在了二面。
感觉一年教训的社招和校招差不多,四轮都是视频面试,面试官都很准时,而且人都很好,在答复卡住的时候会给与提醒,在反诘环节我也看出了面试官的思路是十分清晰的,总的来说整个面试过程十分nice。
以下是我给大家分享这么多场面试的一个经验总结。
面试经验
9.30 一面 1h15min :
- 为什么想换公司?
- 在开发中遇到的最大的艰难?怎么解决的?
- 接口和抽象类的区别,一个类的能不能多继承,能不能实现多个接口
- 接口类的非办法能不能被批改?不能,接口类里非办法的类型都是final润饰,所以必须初始化并且不能被批改。
- 抽象类的变量能够被继承和批改么?能够。
- final关键字
- GC如何标记要回收的内存?GC Roots有哪些?
- 线程平安问题,sychronized、lock/unlock的区别应用,偏心锁和非偏心锁的概念。
- sychronized是如何体现偏心锁和非偏心锁的(CAS、锁自旋)?
- HashMap原理,在什么时候扩容(当退出的元素大于阈值threshold后)。 以及线程平安的HashTable、ConcurrentHashMap的原理。
- View的事件散发
- 布局优化怎么做的?LinearLayout和RelativeLayout在性能上的区别。
- WebView的优化,如果呈现了数据的交互该怎么做?(AIDL),Binder怎么实现过程间通信的?mmap的模型?
- 内存优化?RecyclerView的缓存机制,如何优化?
- 我的项目中的联网模块怎么实现的?UDP和TCP的区别?
- TCP会查看包的程序么,Tcp怎么管制包的发送(滑动窗口)。
- 看到我的项目中应用了WebSocket,讲下它和Http的区别?
- RxJava的操作符?我的项目中是如何应用RxJava的?
- 疾速排序和冒泡排序的稳定性问题
- 编程题:将一个分数转化成小数模式输入,因为分数只可能是有限小数或有限循环小数。如果小数是有限循环小数,则应用小括号括起。
- 这题思路是做while轮除。我界定是否产生了有限循环小数是应用HashTable。
- 对咱们公司理解多少?有什么想问的?
10.4 二面 45min
- 为什么想要来到以后的公司
- “abcde”字符串在内存中占多大,这些字节在JVM的编码格局
- JVM堆和栈的作用,过程和线程的作用,堆栈和线程过程的对应关系
- 死锁怎么产生?如何去解决死锁,多个计划
- 线程同步问题,自增是原子操作吗?如果要做到线程平安的自增要做怎么做?
- 快排的过程,工夫复杂度,n*lgn是如何得来的?
- Http是在哪一层,Https应用了非对称加密还是对称加密?TCP和UDP的区别,为什么UDP不牢靠还要应用UDP
- 拥塞管制和流量管制的区别
- 智力题:给一篮子鸡蛋,如何用起码的比对次数找到最大的和最小的鸡蛋, 我的答复是 一开始,轻易拿出两个鸡蛋,而后接下来剩下的鸡蛋每拿出一个,就和这两个进行比拟,如果比两个中小的鸡蛋小就替换小的那个,如果比大的鸡蛋大就替换掉大的那个,这样比拟次数就是 (n-2)2 ,因为有些鸡蛋只用比一次就行了(因为是最小的就不必往大的比了),所以后果是小于 (n-2)2的,但我感觉应该还能够更放慢….
- 编程题,排序二叉树的插入,如果插入雷同的数,须要做什么保障树能够还原(即不容许抛弃到雷同的数)?
- 有什么要问的?
10.8 三面 1h20min
- 两桶油漆,A桶全是红色油漆,B桶全是蓝色油漆,将A桶中取一勺倒入B中,再从B桶中取一勺倒入A中,求A桶的蓝红比例和B桶的红蓝比例,是大于、小于还是等于?
- 用一个数组实现一个循环队列
- 给定一个只有“R”“G”“B”三个字母的字符串,用一次遍历基于原字符串将他们以“RGB”的程序排序好(LeetCode原题)
- 52张扑克牌,取一张不放回,再取一张, 两张为雷同色彩的概率是多少?
10.10 hr面 45min
- 自我介绍
- 为什么抉择计算机这个业余
- 为什么要来到以后的公司
- 你是深圳的,为什么会抉择在东莞工作。
- 在上一个公司学到了什么
- 抉择公司因素,按优先级排个序
- 用三个关键词形容本人
- 代入用户思维和不代入用户思维做产品有什么区别?
- 家庭状况,有没有女朋友?
- 你感觉一个好胜心过强的人会有什么样的问题?
- 你会想在团队外面承当一个什么样的角色?
- 平时的喜好是什么
- 有没有给本人制订一些打算?对本人的要求有多高?
- 学习的渠道、形式,有GitHub吗?看什么样的书?
- 学习是基于公司我的项目学习,还是个人兴趣学习?
- 预计到岗工夫,冀望薪资
- 反诘环节
小结一下,技术面环节次要考我的项目和Java根底、编程题要留神标准和思路是否最优。
面试倡议
1.有急躁且被动
面试不要焦急着去问后果,个别在hr面的时候,他的态度多少可能猜个七七八八的,如果等上一周还没有告诉,那就能够被动去问了。
2.刷题是为了晋升本人的运气
运气在面试过程中是十分重要的,刷题的目标很简略,除了坚固咱们所把握的,另一个就是为了能进步在面试中咱们的运气,如果可能问到一样的题是再好不过了,当然这个方法是实用于职级中低岗位。
3.把握根底,留神深度
大厂面试最喜爱问两类问题,一类是根底,另一类就是深度。根底局部,无非就是咱们所把握的技术根底内容,基本上只有是有筹备的都没有太大的问题。另一部分就是深度问题,大多波及到本人之前的工作、我的项目,面试官所问的问题不仅仅是停留在外表那么简略,背地的原理是什么才是面试官想要问的。
4.刷面试题
以上局部题目也是本人在温习期间在网上找的一些大厂面试题。我本人也将这些面试题做了解析整顿并演绎成了一个文档。
最初
好忘性不如烂笔头,永远抱着一个“我应该会”的心态去刷面试题,在本人脑子过了一篇,感觉答复的上来,但往往一真跟面试官对上线就会卡壳,还是倡议把每个面试题都去写一遍,再去做延长。当你能将每一道面试题都能富裕逻辑性的写进去的时候,那在面试的时候就相对没有问题了。
因为文章篇幅无限,文档资料内容较多,本能够提供链接下载,但无奈容易被谐和,所以全副存档,须要这些文档这里的敌人,能够点击我的【Gitee】,心愿可能共同进步,共勉!