百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

金三银四:我带你去BAT面试现场去看别人“面试被拒”

liuian 2025-04-01 19:47 18 浏览

阅读前请点击右上角“关注”,每天免费获取Android知识解析及面试解答。Android架构解析,只做职场干货,完全免费分享!

在这本该属于程序员的“金三银四”面试跳槽旺季,因为一场突如其来的“新冠肺炎”而蒙上了一层阴影。

人生找工作就是一场战役,让我认识到了现实的残酷,从去年七月底开始投递度娘的那一刻开始,我的BAT面试之路也正式开始,直到现在也没有拿到一个offer,很多次本以为自己稳了,结果就是挂掉,心态很崩。这期间起起伏伏,还有自己的不争气,我只能说,这个春天有点冷!

百度Android凉经


一面:

  1. OSI模式,各层介绍
  2. 域名转换IP
  3. HTTP,HTTPs
  4. 加密
  5. 线程进程区别
  6. 死锁
  7. 不同步问题
  8. B树,B+树
  9. 编译,链接
  10. 树的先序中序后序

二面:

  1. 项目(很久)
  2. activity启动模式
  3. 进程通信
  4. 动画
  5. 线程进程区别
  6. 调度

三面:

  1. 项目中承担角色
  2. 项目中如何沟通协作
  3. 项目中的问题
  4. 项目规划什么的

总结:面试中的面试官,一面很温柔,二面有点严厉,三面正常,项目经验缺乏,没答好。(只能心里许愿求offer)

网易有道(内推)


一面:

  1. http1.0和1.1区别?
  2. 范式是什么?
  3. Session和Cookie的区别?
  4. 讲一讲锁,锁是怎么产生的?
  5. hashmap和hashtable区别?
  6. stringbuffer和stringbuilder的区别?
  7. osi七层模型是哪七层?
  8. https和http的区别?

总结:第一次大厂面试,发现大厂更着重底层和基础原理,一面基本面试里数据库,计算机网络,操作系统还有Java的基础,Android知识基本不问。

美团点评(内推)


一面:

  1. 为什么用单例?
  2. Java里public、private、default、protected 区别是什么?
  3. ArrayList和LinkedList的区别?
  4. Java的线程解释一下?
  5. Java的垃圾回收解释一下?
  6. Activity的生命周期?
  7. Activity中页面A跳转到页面B这其中产生的生命周期是怎么样的?
  8. Android的分发机制讲解一下?
  9. Android有什么方法可以更新UI?
  10. 为什么会产生oor?
  11. ANR是怎么产生的?
  12. 为什么要用Fragment?
  13. Android有哪些布局?
  14. 讲解一下ListView的原理?
  15. 手写一个排序算法。
  16. 手写一个单例模式。

总结:面试官一来没有自我介绍直接手撕一道算法题,奈何算法太差,导致时间做的有一点点久,面试官总结基础不错,算法还需要加强,这就是我被发感谢信的原因吧(哭)。

永辉云创(拉勾招聘投递)

一面:

  1. Fragment怎么把数据传递到Activity?
  2. Activity怎么把数据传递到Fragment?
  3. Fragment的生命周期?
  4. Android中一般用什么方式进行异步操作?
  5. 有学过Kotlin吗?
  6. ListView和RecyclerView有什么区别?

总结:创业公司相比大厂来说,更看重项目实践经验,基础的方面问的很少,一开始就手撕项目,项目中主要是用到Fragment才会问相关的问题。

二面:

  1. Fluuter用过哪些组件?
  2. Fluuter里静态组件怎么刷新数据?
  3. 怎么设置控件的Padding?
  4. Container可以设置padding吗?

总结:永辉云创的技术栈很新,都是用的最新出的技术和框架之类的,所以一般都是问这方面的问题。

猫眼(内推)

一面:

  1. 组件化设计,业务模块怎么获取到核心模块的内容?
  2. 单Activity+多Fragment的新架构了解吗?
  3. 一个下载业务模块你会怎么设计?
  4. 了解过RxJava吗?
  5. 用过哪些图片框架,了解其中的原理吗?
  6. 你用过okhttp,其中的实现原理和里面的拦截器实现能解释下吗?
  7. Handler的原理解释下?
  8. Looper和Handler是只能有一个吗?
  9. HandlerThread和ThreadLocal了解吗?
  10. IntentService的原理解释下?
  11. Fluuter用过哪些组件?
  12. Fluuter的WebView你是怎么设计的?
  13. asyncTask的使用注意事项知道吗?
  14. Java里用过哪些集合,他们的时间复杂度分别是多少?
  15. HashMap的底层实现原理?
  16. hashCode有什么用的,你一般怎么计算的?
  17. Hash冲突是什么解释一下?
  18. hashCode和equals的区别是什么?
  19. 一个数插入到第k个位置的时间复杂度是多少,插入到链表呢?
  20. 快速排序和二分查找的时间复杂度是多少?
  21. 写一个双重检查单例。synchronize和volatile分别有什么用?
  22. 你了解锁吗?
  23. 抽象类和接口有什么区别?
  24. 分发的原理?
  25. 了解过滑动冲突吗?

总结:题目质量很高,一开始没有自我介绍,直接撕项目,全程狂轰乱炸没有停过的,说的嘴巴都要干了,面试完也没有反问环节,貌似面试官也挺忙的,然后就给我发了感谢信(o(╥﹏╥)o)。

字节跳动 Android 开发岗面经


一面:

  1. 算法题 两个栈实现队列
  2. 算法题 输入一个数组,想一种方法让这个数组尽可能的乱序,保证功能能实现的情况下时间复杂度和空间复杂度尽可能的小,可使用随机数函数。(面试官最后说了 O(n)的时间复杂度能实现)
  3. 写一个单例(自己写一种就行)
  4. ActivityA -> Activity B -> Activity A
  5. Activity A 启动模式为 singleTask
  6. Activity B 启动模式为常规模式
  7. 问 A 启动 B,B 又启动 A 的生命周期调用顺序?
  8. 你刚才提到 onsaveinstancestate() ,说一下调用时机,它用来干什么的。
  9. onsaveinstancestate() 保存的那个参数叫什么?Bundle 里面都放一些什么东西?怎么实现序列化?Parcelable 和 Serializable 有什么区别?
  10. Bundle 。
  11. 数组和链表的区别
  12. HashMap 的结构以及原理
  13. 我看你简历上写了 retrofit,你能说一下它是做什么的,如果知道基本框架也说一下
  14. 了解 View 的绘制机制吗,能说一下吗
  15. 我看你项目里用的 Fragment 能说一下 Fragment A 启动了 Fragment B,Fragment B 中按下返回键只退出 Fragment B 怎么实现。
  16. 你还有什么要问的吗?

二面:

  1. 算法题 一个字符串,求最长没有重复字符的字符串长度
  2. string stringbuffer 和 stringbuilder 区别
  3. final finally finalize区别
  4. 数组和链表的区别
  5. HashMap 了解过吗
  6. Tcp 三次握手四次挥手
  7. get 与 post 的区别
  8. synchronized 的作用
  9. 你知道哪些设计模式
  10. Android 进程通信的方法
  11. 那你能说一下 Intent 是怎么进程通信的
  12. 内存泄漏有哪几种情况
  13. 有什么要问的吗

总结:同样也是算法问题,导致时间做的有一点点久,面试官总结基础不错,算法还需要加强,这就是我被发感谢信的原因吧(哭)。

最后

看到上述网友们分享给我的面试凉经,而我在大厂和小厂都待过,也面试过很多人。一些朋友就“如何进BAT大厂?”这个问题找我咨询时,尤其是一些学生朋友在找我聊职业规划和职场困惑时,我给的建议就是,如果你是应届生或者工作年限较短(五年以下),那一定要找个机会去大厂工作几年。

进入大厂的难点

虽然大厂很好,但是进大厂对个人资质、个人素养和技术水平都有一定的要求,并不是每个人都有机会的。

无论是应届生还是工作几年的人,一般都需要通过技术面试才能进入大厂。那么大厂技术面试一般会哪些问题呢?除了少部分相关的技术外,重头戏都是算法与数据结构。从上述网友分享的大厂面试凉经来看,也确实是挂在了算法上面。真的很可惜!

学好算法和数据结构,无论对从技术水平长远的发展来说,还是对个人逻辑思维锻炼都是大有裨益的。

国内的大厂面试,基本上大多数问题都是各种算法和数据结构题,而国外的大厂,像 Google、Facebook、微软等等,基本上百分之百是算法和数据结构题目。

很多应届毕业生横扫各大大厂 Offer,很大一部分原因是因为算法和数据结构掌握的好,当然薪资也非常可观。社会人士虽然在面试大厂时对相关的项目有一定的工作经验,没有像应届生要求那么高,但是最基础最常用的算法和数据结构还是要熟悉的。

说了这么多,那么大厂面试到底要求哪些算法和数据结构知识?我根据我面试的经验,给大家整理了一个清单:

  1. 算法面试到底是什么鬼?
  2. 面试中的复杂度分析
  3. 数组中的问题其实最常见
  4. 查找表相关问题
  5. 在链表中穿针引线
  6. 栈、队列、优先队列
  7. 二叉树和递归
  8. 递归和回溯法
  9. 动态规划基础
  10. 谈心算法

因为我能讲课,之前就一直筹备着,就把上面的清单的内容全部录制成视频,前前后后大概录制了一百多个视频,全部上传到百度网盘,免费供大家观看,从去年九月份之后就一直在录制视频和准备文档,大概花了近半年的时间。

玩转算法面试 leetcode

需要的朋友,可以点击关注+转发+私信**学习**前往免费领取!

当然还有部分企业对有一定工作年限的员工除了算法和数据结构外,提出了更高的要求,比如Android前沿技术和项目经验,同样的给大家整理了一个清单:

视频具体内容如下:

  • 第1章 课程介绍
  • 第2章 一线互联网公司初中高Android开发工程师的技能要求
  • 第3章 Android基础相关面试题
  • 第4章 异步消息处理机制相关面试问题
  • 第5章 View相关面试问题
  • 第6章 Android项目构建相关面试问题
  • 第7章 开源框架相关面试问题
  • 第8章 Android异常与性能优化相关面试问题
  • 第9章 热门前沿知识相关面试问题


BAT大牛解密Android面试


第6章 Android项目构建相关面试问题

视频围绕“BAT大牛解密Android面试?”的主题,内容由浅入深,同时,对于项目专题、开源框架、Android前沿技术,底层源码等相关面试问题也作出重点解读!

需要上述所有视频的朋友,可以点击关注+转发+私信**学习**前往免费领取!

相关推荐

HR必备Excel函数:4个与日期相关的计算函数。

提到日期函数,很多人首先会想到“today”,它可以显示当天的日期,并且每次打开表格时都会自动更新。但是,对于前天、昨天、明天和后天的日期,就不能用yesterday或者tomorrow等这些英文了,...

这篇文章有点长,但可以让你十分钟玩转Excel的时间函数

日期与时间函数——TODAY、NOW、YEAR、MONTH、DAY!如何用WORKDAY函数查询距离某天的第20个工作日是哪一天?如何用NETWORKDAYS函数查询员工工作了多少个工作日?如何用WE...

Excel2020年日历套装,表格设计,农历显示,查阅套打轻松应用

Hello大家好,我是帮帮。今天跟大家分享一组Excel2020年日历套装,表格设计,自带农历控件,查阅套打轻松应用。有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”...

巧用NETWORKDAYS函数计算两个日期之间工作日的天数

带有日期的单元格是我们日常使用EXCEL的时候经常见到的,有的时候我们需要求出两个日期之间间隔的天数,可以直接用结束日期减去开始日期即可,这是个非常简单的减法公式。不过这个单纯的减法公式会默认去掉开始...

Excel按工作日、休息日进行汇总

1、按周六日/其它时间汇总为了区分一周的周六日和其它时间,可以使用WEEKDAY函数,把WEEKDAY函数的第2个参数指定为2,如WEEKDAY(A3,2),则周一返回1,周二返回2,…,周六返回...

如何计算每月应出勤天数,如有法定假期和调休,如何计算

本文介绍如何计算每月的应出勤天数。第一部分介绍正常双休制下计算应出勤天数;第二部份介绍当月有法定假期和调休的情况下计算应出勤天数。一、计算正常双休制的应出勤天数如下图所示,要求计算各员工2021年3月...

《Excel一键生成工作日历:让会议排期更轻松!》

每当需要安排会议时,总要翻看日历确认工作日,再逐个标注会议时间,既耗时又容易出错。今天教大家用Excel快速生成工作日历表,让会议排期变得简单高效!一、快速生成日历框架创建基础日期:在A1单元格输入月...

如何计算指定日期区间内,有多少工作日和休息日?

大家好,今天咱们要解决的问题是如何计算给定的一段日期内,正常工作日有多少天,放假时间有多少天?比如咱们要计算2025年3月份工作日一共有多少天,又有多少天放假,如下图所示:通过肉眼我们可以数清楚,20...

如何如何在表格中自动突出显示双休日?

现在不少人喜欢用Excel来制作备忘录或安排工作事项。在表格中输入日期后,可以使用条件格式突出显示双休日,避免在休息日安排了工作。具体方法是这样的:第1步:选择要设置条件格式的日期单元格区域;在“开始...

excel函数技巧:networkdays.intl判断节假日

如图,想知道6月的每一天是否是节假日,公式如下:=NETWORKDAYS.INTL(A2,A2,1,$E$2:$E$28)这个函数既可以判断当前日期(一参=二参)是否是周末及工作日(三参、四参)还可得...

仅需3步,让考勤表根据实际休息日,自动地填充颜色

Hello,大家好,之前跟大家分享了我们如何让考勤表根据单休与双休自动的填充颜色,最近有粉丝问到:能不能让考勤表根据实际的休息日自动的填充颜色呢?可以是可以,只不过因为牵扯到假期调休,我们每年的休息日...

5步搞定动态考勤表!标记节假日、调休日?Excel自动变色!

今天教你用「动态考勤表」一招解决所有问题!只需输入月份,自动变色、自动更新节假日,从此告别加班,效率翻倍!动态考勤表的优势:自动变色:节假日、双休日一键标记,颜色分明。一表多用:修改月份即可...

一起用python做个炫酷音乐播放器,想听啥随便搜

前言前段时间写的Python自制一款炫酷音乐播放器,有不少小伙伴私信我,对播放器提了不少改进建议,让我完善播放器的功能。今天音乐播放器2.0版本完成了,大家一起来看看是如何用python自制一款炫酷的...

用Python做个“冰墩墩雪容融”桌面部件(好玩又有趣)

桌面太单调?今天就带大家,一起用Python的PyQt5开发一个有趣的自定义桌面动画挂件,看看实现的动画挂件效果!下面,我们开始介绍这个自定义桌面动画挂件的制作过程。一、核心功能设计实现将动态图gif...

Python串口调试助手源码分享

以下是一个基于Python和PyQt5实现的串口调试助手示例,包含核心功能实现代码:pythonimportsysimportserialfromPyQt5.QtCoreimportQTim...