面试官宁愿要刚刚毕业工作1年的我小弟,也不要工作5年的我,年薪25w+过分吗?

前言

真后悔在小公司待了3年,一直原地踏步,想要进大厂升级,想要一份月薪25K的工作也不过分吧…

如今想跳进大厂却发现难上加难,好多面试题根本答不上。大厂的面试通知倒是拿了不少,但扛过二面三面的却很少。

真没想到,现在的面试题有这么刁钻了!上来就让人手动模拟高并发场景秒杀下单超卖Bug,面试官那种严肃又疑惑的表情让我不禁怀疑自己,这么“简单”的题都不会?

第一次面以徒弟头条25K,我失败告终!!!

失败的面试经历

一面(1hour):

1、自我介绍
2、项目介绍,技术点相关。
3、C++和Java区别,GC
C++不熟,只能说内存管理相关的问题,所以就问到了GC。然后说分代收集算法。老年代担保、元数据区从JVM移到了本地内存这些。
4、线程相关,Runnable和Thread的区别。
Thread类是实现了Runnable接口,平时使用起来可以使用start方法调用。线程池基本传Runnable对象,平时也是线程池用的多,所以具体相关不太熟。
5、线程池
6、synchronized,volatile
7、继承相关,多重继承和接口
8、网络编程
9、UPD,TCP区别
10、最大的优点
11、最大的缺点
12、算法,二叉树中序遍历,真是早起毁一天,竟然没撕出来,我真想给自己两耳光。不过面试官给我总结的很好,说要利用栈的特性,先进后出,所以要保证左子树先进根结点再进,这么思考之后就顺利了很多。

二面(40mins):

1、介绍一下项目
2、Android四大组件,详细讲一下。
3、Launcher启动APP的全过程。
icon存入口Activity信息
AMS通知Launcher去pause。
Launcher通知AMS已经pause
AMS检查进程是否已经启动,如果不启动则启动进程。并且调用ActivityThread的main方法。
启动之后通知AMS已经启动
然后AMS将入口Activity信息传递给APP。
APP启动对应入口Activity,并且创建对应上下文并且调用Activity的onCreate方法。
4、进程间通信,AIDL,Binder。扯了一会说进程间通信平时怎么做的,就说了一下AIDL相关的Demo实现什么的。说到了自己程序里面有拉起微信的这个功能(也就是广播)。
5、设计模式了解吗,平时用过哪些设计模式。
6、算法题:输入一个数n,代表有n个点,一个二维数组,二维数组代表相连的点,要求输出连通起来的点。
如果n=6,数组假设是{ {1,2},{2,3},{4,5}},则输出{ {1,2,3},{4,5},{6}}

成功OPPO面试

一面:

  1. 有Android相关的经验吗
  2. 说一下Java集合类
  3. set和list有什么共同点吗,或者都实现了什么功能继承了什么类
  4. 集合类通常有线程安全问题,有什么解决办法
  5. HashMap实现原理
  6. 红黑树实现原理,有什么作用
  7. 说一说线程池你的理解
  8. 线程同步的问题有什么解决方案
  9. 安卓问题,内存只有一个G,导入一个很大的图片
  10. JVM内存回收机制
  11. 安卓内存泄漏有哪些场景 (答成了内存溢出 OOM,说要具体的场景,不要笼统)
  12. 你的项目有什么亮点,有什么难点,是怎么解决的
  13. 你同学怎么评价的或者说你自己怎么评价你这个项目
  14. 代码题(剑指offer,两数相加不用加法,两次提示都没写出来)
  15. 还有什么问题。(如果能过后面还有几轮面试,两轮,一轮技术和hr,提示下次可能还会有很多android问题,然后进来不想做Android可以转岗

二面

1.你目前做过最满意的项目
2.是Nodejs项目,为什么要用Node.js
3.Nodejs和java语言区别
4.说说你的java项目(以下几个问题都是关于我的项目
5.为什么要加salt
6.怎么生成的salt
7.怎么验证密码
8.salt存在哪里、存在数据库里有什么弊端。
9.加了salt有什么好处 ,md5不是动态的么(下面开始不是项目问题)
10.有没有安卓的经验
11.Java你了解哪一块
12.Java线程的安全性访问
13.乐观锁和悲观锁
14 sychroinzed是悲观锁吗
15.是可重入锁吗
16.你有使用过可重入锁吗
17.一般你的项目是用什么方法线程同步
18.等待另一个线程用什么方法(答了Thread.join())
19.如果另外一个线程是线程池呢(答了wait和notify方法)
20.具体怎么用
21.你的学习方式

  1. 博客有看哪些
  2. github看过哪些开源项目(被问结巴了 捂脸)
    24.你有什么优势,不足
    25.实习的工作是做什么
    26.遇到问题怎么解决

hr面:

比较平常的问题,成绩排名,形容自己,团队合作的案例,做过有挑战性的事,为什么要来oppo之类的

字节跳动

扫描二维码关注公众号,回复: 12737454 查看本文章

一面:

  • 内部类

    非静态的内部类怎么访问外部的成员变量和方法

    匿名内部类在方法中声明,可以访问方法中的临时变量吗 为什么

  • final

  • 内存泄漏,哪些情况导致内存泄漏(如哪些编码不规范导致的内存泄漏)

  • 四种引用

  • JVM垃圾回收算法

  • GC ROOT根节点包括哪些

  • Java中集合类

  • Map hashtable和hashmap(内部实现)

  • hashmap的实现有什么改动

  • 多线程,开启一个线程有哪些方式

  • 介绍线程池

  • 从线程池创建的线程会被销毁吗

  • 讲讲sychornized关键字

  • sychornized关键字怎么使用

  • sychornized锁一个类和一个对象怎么使用

  • sychornized是可重入吗,解释一下什么是可重入锁

  • 讲一下http,状态码,对象头,body组成等

  • content-type

  • http下层协议 ,介绍tcp协议

  • 三次握手,四次挥手的原因

  • 算法题:lc简单难度左右,旋转数组,从小到大不重复打印数字,如1, 2, 2, 5, 10,11,12, 9, 8, 2, 1,1 输出1 2 5 8 9 10 11 12


二面:

  • 输入域名后,发生的过程

  • http报文包含哪些

  • 接口和抽象类的区别

  • Java泛型

  • List不设置泛型会怎么样

  • 一道代码题

  • 手撕代码 线程安全懒汉式单例模式

  • 单例模式解决什么问题

  • 实现单例模式需要注意问题

    线程安全、构造方法私有,volatile

  • 内存泄漏、内存溢出

  • 解决内存泄漏有什么办法

  • 代码题:第K个大的元素(lc hard)

  • 最近有做什么项目

尾声

最近小编在大神哪里买下了几十套阿里、头条、腾讯和美团等公司2020-2021年金三银四的面试题,把技术点整理成了视频+文档(总计20G,实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

这份资料尤其适合:

1.没有工作经验,但基础非常扎实,对Android工作机制,常用设计思想,常用Android开发框架掌握熟练的。
2.具有一定工作经验的,但面对目前流行的技术不知从何下手,需要快速提升核心竞争力的人群。
3.在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以报名。
4.想了解“一线互联网公司”最新招聘需求/技术要求,对比找出自身的长处和弱点所在,评估自己在现有市场上的竞争力如何;
5.做了几年Android开发,但还没形成系统的Android知识体系,缺乏清晰的提升方向和学习路径的程序员。
相信它会给大家带来很多收获。(更全的内容和资料,在文末获取)
Android面试题(部分展示)

数据结构与算法面试题(部分展示)

源码精编解析(部分展示)

image

image

image

自行领取直达链接:【点击获取

需要相关知识点可以查看我的【GitHub】,对于已经掌握的可以忽略以节省时间。

猜你喜欢

转载自blog.csdn.net/Android725/article/details/114890399
今日推荐