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

大厂面试原来是这样的,这份面试经你值得拥有

xsobi 2024-12-11 17:50 28 浏览

#头条创作挑战赛#

程序员里有想进大厂的吗?那这篇面经你一定得看!

面试次数

大厂面试一般都是4面,分别是技术一面,技术二面,总监面,HR面。

阿里

通常3~4面技术+Hr面,每一轮结束可以问内推人或者通过面试邮件底部的电话转人工查询面试结果,一般流程比较长,大多要一个月以上,无法并行面多个部门。

腾讯

通常3-5轮技术+Hr面,每一轮结束可以问招聘Hr面试结果,一般流程比较长,每一面之间可能要隔一周,全部流程大多要一个月以上,无法并行面多个部门。

美团

通常3~4面技术(3.1开始多一轮交叉面)+Hr面,通过的话一般3个工作日内约下一次面试时间,一般半个月就可以走完流程,可以并行面多个部门,美团是少有可以并行面的公司,但是一旦第一个部门定薪定级后,后续的其他部门即使通过了也会按照第一个的定薪定级。

快手

通常3~4面技术+Hr面,通过的话一般2个工作日内约下一次面试时间,经常面完几个小时内就收到电话约下一次面试,一般半个月就可以走完流程,无法并行面多个部门。

字节

通常3~4面技术+Hr面,面试效率比较高,可能一天内就面完技术面,整个面试流程比较快,但是发口头offer比较慢,无法并行面多个部门。

拼多多

通常3面技术+Hr面,现场面可以一天面完,并且可以周日面,一般半个月就可以走完流程,无法并行面多个部门。


面试要注意的一些点

1)尽量保持自信,自信心的建立源于你自己的武器库里有多少武器,所以归根到底还是要多学习、多积累。

2)先拿小公司练手,面试通常会面的越多发挥的越好。

3)视频面试提前调试好设备,不要像我一样临时发现没法打开视频就尴尬了。

4)大厂谈薪时通常会看你是否有其他大厂的offer,如果你有其他大厂的offer会有利于谈一个不错的待遇,所以可以多面几家。


面试题整理

第一章 Java 方面


(一)Java 基础部分


抽象类与接口的区别?

分别讲讲 final,static,synchronized 关键字可以修饰什么,以及修饰后的作用?

请简述一下String、StringBuffer和StringBuilder的区别?

“equals”与“==”、“hashCode”的区别和使用场景?

Java 中深拷贝与浅拷贝的区别?

谈谈Error和Exception的区别?

什么是反射机制?反射机制的应用场景有哪些?

谈谈如何重写equals()方法?为什么还要重写hashCode()?

Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?

谈谈你对Java泛型中类型擦除的理解,并说说其局限性?

String为什么要设计成不可变的?

说说你对Java注解的理解?

谈一谈Java成员变量,局部变量和静态变量的创建和回收时机?

请说说Java中String.length()的运作原理?

(二)Java 集合

谈谈List,Set,Map的区别?

谈谈ArrayList和LinkedList的区别?

请说一下HashMap与HashTable的区别

谈一谈ArrayList的扩容机制?

HashMap 的实现原理?

请简述 LinkedHashMap 的工作原理和使用方式?

谈谈对于ConcurrentHashMap的理解?

(三)Java 多线程


Java 中使用多线程的方式有哪些?

说一下线程的几种状态?

如何实现多线程中的同步?

谈谈线程死锁,如何有效的避免线程死锁?

谈谈线程阻塞的原因?

请谈谈 Thread 中 run() 与 start() 的区别?

synchronized和volatile关键字的区别?

如何保证线程安全?

谈谈ThreadLocal用法和原理?

Java 线程中notify 和 notifyAll有什么区别?

什么是线程池?如何创建一个线程池?

谈一谈java线程常见的几种锁?

谈一谈线程sleep()和wait()的区别?

什么是悲观锁和乐观锁?

什么是BlockingQueue?请分析一下其内部原理并谈谈它的使用场景?

谈一谈java线程安全的集合有哪些?

Java中为什么会出现Atomic类?试分析它的原理和缺点?

说说ThreadLocal的使用场景?与Synchronized相比有什么特性?


(四)Java 虚拟机


谈一谈JAVA垃圾回收机制?

回答一下什么是强、软、弱、虚引用以及它们之间的区别?

简述JVM中类的加载机制与加载过程?

JVM、Dalvik、ART三者的原理和区别?

请谈谈Java的内存回收机制?

JMM是什么?它存在哪些问题?该如何解决?

第二章 Android 方面


(一)Android 四大组件相关


Activity 与 Fragment 之间常见的几种通信方式?

LaunchMode 的应用场景?

BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?

对于 Context,你了解多少?

IntentFilter是什么?有哪些使用场景?

谈一谈startService和bindService的区别,生命周期以及使用场景?

Service如何进行保活?

简单介绍下ContentProvider是如何实现数据共享的?

说下切换横竖屏时Activity的生命周期?

Activity中onNewIntent方法的调用时机和使用场景?

Intent传输数据的大小有限制吗?如何解决?

说说ContentProvider、ContentResolver、ContentObserver 之间的关系?

说说Activity加载的流程?

(二)Android 异步任务和消息机制


HandlerThread 的使用场景和用法?

IntentService 的应用场景和使用姿势?

AsyncTask 的优点和缺点?

谈谈你对 Activity.runOnUiThread 的理解?

子线程能否更新 UI?为什么?

谈谈 Handler 机制和原理?

为什么在子线程中创建 Handler 会抛异常?

试从源码角度分析 Handler 的 post 和 sendMessage 方法的区别和应用场景?

Handler 中有 Loop 死循环,为什么没有阻塞主线程,原理是什么?


(三)Android UI 绘制相关


Android 补间动画和属性动画的区别?

Window和DecorView是什么?DecorView又是如何和Window建立联系的?

简述一下 Android 中 UI 的刷新机制?

LinearLayout, FrameLayout, RelativeLayout 哪个效率高, 为什么?

谈谈Android的事件分发机制?

谈谈自定义View的流程?

针对RecyclerView你做了哪些优化?

谈谈如何优化ListView?

谈谈自定义LayoutManager的流程?

什么是 RemoteViews?使用场景有哪些?

谈一谈获取View宽高的几种方法?

谈一谈插值器和估值器?

getDimension、getDimensionPixelOffset 和 getDimensionPixelSize 三者的区别?

请谈谈源码中StaticLayout的用法和应用场景?

有用过ConstraintLayout吗?它有哪些特点?

关于LayoutInflater,它是如何通过 inflate 方法获取到具体View的?

谈一谈Fragment懒加载?

谈谈RecyclerView的缓存机制?

请谈谈View.inflate和LayoutInflater.inflate的区别?

请谈谈invalidate()和postInvalidate()方法的区别和应用场景?

谈一谈自定义View和自定义ViewGroup?

谈一谈SurfaceView与TextureView的使用场景和用法?

谈一谈RecyclerView.Adapter的几种刷新方式有何不同?

谈谈你对Window和WindowManager的理解?

谈一谈Activity,View,Window三者的关系?

有了解过WindowInsets吗?它有哪些应用?

Android中View几种常见位移方式的区别?

为什么ViewPager嵌套ViewPager,内部的ViewPager滚动没有被拦截?

请谈谈Fragment的生命周期?

请谈谈什么是同步屏障?

谈一谈ViewDragHelper的工作原理?

谈一谈屏幕刷新机制?

(四)Android 性能调优相关


谈谈你对Android性能优化方面的了解?

一般什么情况下会导致内存泄漏问题?

自定义 Handler 时如何有效地避免内存泄漏问题?

哪些情况下会导致oom问题?

ANR 出现的场景以及解决方案?

谈谈Android中内存优化的方式?

谈谈布局优化的技巧?

Android 中的图片优化方案?

Android Native Crash问题如何分析定位?

谈谈怎么给apk瘦身?

谈谈你是如何优化App启动过程的?

谈谈代码混淆的步骤?

谈谈如何对WebView进行优化?

如何处理大图的加载?

谈谈如何对网络请求进行优化?

请谈谈如何加载Bitmap并防止内存溢出?

?加粗样式

(五)Android 中的 IPC


请回答一下Android进程间的通信方式?

请谈谈你对Binder机制的理解?

谈谈 AIDL?

(六)Android 系统 SDK 相关


请简要谈谈Android系统的架构组成?

SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?

Serializable和Parcelable的区别?

请简述一下 Android 7.0 的新特性?

谈谈ArrayMap和HashMap的区别?

简要说说 LruCache 的原理?

为什么推荐用SparseArray代替HashMap?

PathClassLoader和DexClassLoader有何区别?

说说HttpClient与HttpUrlConnection的区别?并谈谈为何前者会被替代?

什么是Lifecycle?请分析其内部原理和使用场景?

谈一谈Android的签名机制?

谈谈安卓apk构建的流程?

简述一下Android 8.0、9.0 分别增加了哪些新特性?

谈谈Android10更新了哪些内容?如何进行适配?

请简述Apk的安装过程?

Java与JS代码如何互调?有做过相关优化吗?

什么是JNI?具体说说如何实现Java与C++的互调?

请简述从点击图标开始app的启动流程?

(七)第三方框架分析

谈一谈LeakCanray的工作原理?

谈一谈EventBus的原理?

谈谈网络请求中的拦截器(Interceptor)?

谈一谈Glide的缓存机制?

ViewModel的出现是为了解决什么问题?并简要说说它的内部原理?

请说说依赖注入框架ButterKnife的实现原理?

谈一谈RxJava背压原理?


(八)综合技术


请谈谈你对 MVC 和 MVP 的理解?

分别介绍下你所知道Android的几种存储方式?

简述下热修复的原理?

谈谈如何适配更多机型的?

请谈谈你是如何进行多渠道打包的?

MVP中你是如何处理Presenter层以防止内存泄漏的?

如何计算一张图片所占的内存空间大小?

有没有遇到64k问题,应该如何解决?

如何优化 Gradle 的构建速度?

如何获取Android设备唯一ID?

谈一谈Android P禁用http对我们开发有什么影响?

什么是AOP?在Android中它有哪些应用场景?

什么是MVVM?你是如何将其应用于具体项目中的? – 请谈谈你是如何实现数据埋点的?

假如让你实现断点上传功能,你认为应该怎样去做?

webp和svg格式的图片各自有什么特点?应该如何在Android中使用?

说说你是如何进行单元测试的?以及如何应用在MVP和MVVM中?

对于GIF 图片加载有什么思路和建议?

为什么要将项目迁移到AndroidX?如何进行迁移?

(九)数据结构方面


什么是冒泡排序?如何优化?

请用 Java 实现一个简单的单链表?

如何反转一个单链表?

谈谈你对时间复杂度和空间复杂度的理解?

谈一谈如何判断一个链表成环?

什么是红黑树?为什么要用红黑树?

什么是快速排序?如何优化?

说说循环队列?

如何判断单链表交叉

?

(十)设计模式


请简要谈一谈单例模式?

对于面向对象的六大基本原则了解多少?

请列出几种常见的工厂模式并说明它们的用法?

说说项目中用到的设计模式和使用场景?

什么是代理模式?如何使用?Android源码中的代理模式?

谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?

谈谈你对原型模式的理解?

请谈谈策略模式原理及其应用场景?

静态代理和动态代理的区别,什么场景使用?

谈一谈责任链模式的使用场景?

(十一)计算机网络方面


请简述 Http 与 Https 的区别?

说一说 https,udp,socket 区别?

请简述一次 http 网络请求的过程?

谈一谈 TCP/IP 三次握手,四次挥手?

为什么说 Http 是可靠的数据传输协议?

TCP/IP协议分为哪几层?TCP 和 HTTP 分别属于哪一层?

(十二)Kotlin方面


请简述一下什么是 Kotlin?它有哪些特性?

Kotlin 中注解 @JvmOverloads 的作用?

Kotlin中List与MutableList的区别?

Kotlin中实现单例的几种常见方式?

谈谈你对Kotlin中的 data 关键字的理解?相比于普通类有哪些特点?

什么是委托属性?请简要说说其使用场景和原理?

请举例说明Kotlin中with与apply函数的应用场景和区别?

Kotlin中 Unit 类型的作用以及与Java中 Void 的区别?

Kotlin 中 infix 关键字的原理和使用场景?

Kotlin中的可见性修饰符有哪些?相比于Java有什么区别?

你觉得Kotlin与Java混合开发时需要注意哪些问题?

在Kotlin中,何为解构?该如何使用?

在Kotlin中,什么是内联函数?有什么作用?

谈谈kotlin中的构造方法?有哪些注意事项?

谈谈Kotlin中的Sequence,为什么它处理集合操作更加高效?

请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?

Kotlin中该如何安全地处理可空类型?

说说Kotlin中的Any与Java中的Object有何异同?

Kotlin中的数据类型有隐式转换吗?为什么?

Kotlin中集合遍历有哪几种方式?

相关推荐

开源鸿蒙OpenHarmony 5.1.0(API 18)正式上线:进一步增强ArkUI

IT之家5月4日消息,开源鸿蒙OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联...

day57:jQuery事件

链式操作<p>111</p><p>222</p>"""一行代码将第一个p标签变成红色第二个p标签变成绿色""...

基础干货:Pandas-Data Frame基础知识点总结

熊猫数据框架可以从列表、字典和字典列表等中创建。通过从现有存储中加载数据集来创建PandasDataFrame,存储可以是SQL数据库、CSV文件和Excel文件。Dataframe是一种二维数据结构...

万字长文带你通俗理解LightGBM

GBDT(GradientBoostingDecisionTree)是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等...

数组(I) - 网络统计学(11)

数组是将相同类型的数据按照特定顺序组合在一起的集合。其中,每个独立的变量都被称为数组元素,有时也会被称作下标变量。而用于区分各个数组元素的数字编号,则被称为下标。通常各种计算机编程语言都具备一定的数值...

VUE业务中数据绑定无效-this.$set来帮忙

这个方法之前看文档肯定是看到了,但是从来没有遇到问题,就抛之脑后了!这不遇到问题了还得请它来帮忙!车祸现场问题剖析当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时...

JS数组Reduce的妙用,收藏等于学会

作者:前端发现者来源:前端发现本文转载自微信公众号「前端发现」,作者前端发现者。转载本文请联系前端发现公众号。说到处理数组的方法,想必大家都不陌生了,今天我们一起来学习下理数组常见场景下的方法。首先来...

Java 异常处理通关指南

前言在理想世界中,程序永远不会出现问题,用户输入的数据永远是正确的,逻辑没有任何问题,选择打开的文件也一定是存在的,内存永远是够用的……!但是现实世界里一旦出现这些问题,如果处理不好,程序就不能正常...

Python 数据类型 - 数组

Python数据类型-数组在本节中,你将学习如何在Python中创建和访问数组的元素。数组是相同数据类型的元素的集合。数组和列表之间的主要区别是列表可以具有不同数据类型的元素。在Pytho...

「Python系列」 Python 数据结构之数组

在大多数编程语言中,数组都是一个基础而又普遍的数据结构。在很多算法中都有广泛的应用。在本文中,我们将了解鲜为人知的Python数组实现,该实现仅使用Python标准库中包含的核心语言功能。我们将看到每...

COUNTIF函数用法大全

COUNTIF函数用于统计满足某个条件的单元格的数量,其基本用法为:COUNTIF(统计区域,指定的条件)如下图所示,要统计A列有几个5,可以使用以下公式:=COUNTIF(A2:A10,5)咱们把C...

强大到没有对手的Aggregate函数,碾压Sum等19个函数,你真的会吗

从前期的学习中,我们已经知道,Subtotal函数的功能非常强大,但还有一个函数,其功能强大到了没有对手,此函数就是Aggregate,可以实现Sum、Average、Count、Max、Min、Pr...

RISC-V并不完美?

本文最初完成于几年之前,彼时作者正在ARM公司担任执行核心验证工程师职位。作者当时的工作深入或围绕多种处理器核心,而文中提到的观点深受这些经验的影响,换句话说,这些观点存在不同程度的偏见。作者依旧...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础2.索引类型2.1哈希索引2.2有序数组2.3B+树索引(InnoDB)3.联合索引4.最左前缀原则5.覆盖索引6.索引下推总结:1.索引基础索引对查询的速度有着至...

是时候学习一下INDEX+MATCH这个超级查询神器了

【温馨提示】亲爱的朋友,阅读之前请您点击【关注】,您的支持将是我最大的动力!当我们在处理表格数据查询时,首先会想到一个超牛查询函数VLOOKUP()。如果你觉得VLOOKUP函数超牛的话,今天阿钟老师...