毕业一年,你该达到什么程度:富途Android社招面经

这里是双非本科毕业一年的Android开发渣渣,坐标深圳.

我社招的状态是在职精投,除了富途,还投了腾讯和字节,其中腾讯音乐的QQ音乐部门捞了我,但是很可惜,倒在了二面,QQ音乐的面经后面整理了再发吧。

感觉一年经验的社招和校招差不多,四轮都是视频面试,面试官都很准时,而且人都很好,在回答卡住的时候会给与提示,在反问环节我也看出了面试官的思路是非常清晰的,总的来说整个面试过程非常nice。

9.28投简历,9.29晚约视频面试。
9.30 一面 1h15min :

  • 为什么想换公司?

  • 在开发中遇到的最大的困难?怎么解决的?

  • 接口和抽象类的区别,一个类的能不能多继承,能不能实现多个接口

  • 接口类的非方法能不能被修改?不能,接口类里非方法的类型都是final修饰,所以必须初始化并且不能被修改。

  • 抽象类的变量可以被继承和修改么?可以。

  • final关键字

  • GC如何标记要回收的内存?GC Roots有哪些?

  • 线程安全问题,sychronized、lock/unlock的区别使用,公平锁和非公平锁的概念。

  • sychronized是如何体现公平锁和非公平锁的(CAS、锁自旋)?

  • HashMap原理,在什么时候扩容(当加入的元素大于阈值threshold后)。 以及线程安全的HashTableConcurrentHashMap的原理。

  • 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基础、编程题要注意规范和思路是否最优。

和HR小哥哥聊得很开心,他说下周会给offer call,我就乖乖的等着

文末

以上部分题目也是自己在复习期间在网上找的一些大厂面试题。我自己也将这些面试题做了解析整理并归纳成了一个文档,由于篇幅原因就没在文章里做展示了。好记性不如烂笔头,永远抱着一个“我应该会”的心态去刷面试题,在自己脑子过了一篇,感觉回答的上来,但往往一真跟面试官对上线就会卡壳,还是建议把每个面试题都去写一遍,再去做延伸。当你能将每一道面试题都能富有逻辑性的写出来的时候,那在面试的时候就绝对没有问题了。

另外需要面试题解析文档的同学可以找我自取:【Android开发交流】

面试题部分

整理不易,如果觉得我的这篇分享对你有所帮助的话,点个赞支持一下吧!另外祝所有正在面试的小伙伴们,都能拿到自己理想的offer!

猜你喜欢

转载自blog.csdn.net/weixin_55362248/article/details/121524811

相关文章