2020 字节跳动,网易,华为,Android技术功底不够如何去面试

2023-12-03 06:50

本文主要是介绍2020 字节跳动,网易,华为,Android技术功底不够如何去面试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.然后应该是想看看我基本界面编辑会不会,然后问了常用的布局有哪些?这个问题很简单嘛,自己把FrameLayout,LinearLayout,RelativeLayout讲了一通,然后又讲了Coordinatorlayout和ConstraintLayout。

3.然后他问了开发是使用什么工具,怎样调试程序,和解决bug的。

自己把日常的做法讲了一遍。包括各种断点的使用方法。内存泄漏的检测方法。内存抖动如果查找到原因和如何使用TraceView来进行性能调优的。然后又问了一些具体的操作方法,估计是想看看是不是我编的吧。

4.然后开始问架构的东西。

主要是MVC和MVP,当然更主要是MVP喽。然后自己把MVP的架构讲了一下,以及在项目中遇到的MVP架构不合理的地方,和自己认为对这个不合理地方的改进。然后讲了自己针对公司项目的MVP架构,写的Android Studio插件。

5.然后问了我简历里写的技术细节的东西。

比如屏幕适配。项目中为什么使用OpenGL。礼物动画为什么使用SurfaceView,它与View有什么区别等等。

6.最后先让我说我看过的一些Android的源码,然后我讲了一下Activity,PhoneWindow,View他们的关系。

还有Touch事件的分发过程,自己还说看过Handler消息传递机制,不过他没有让去细讲,估计听了前两个讲的挺细的觉得够了吧。然后他又问了一下Activity从Launcher的启动过程。这个自己明确表明没有看过源码,但是自己也简单的分析了一下可能过程,感觉面试官还算认可。之后查询相关资料发现自己分析的有些地方还是不对的,而且还有很多细节没有分析到(囧)。

**整个过程面试下来感觉还是不错的。面试官的问题由浅入深。**而且针对自己项目细节都有针对的问题。面试到最后面试官说之后会有主管给我面试。我觉得一面应该是过了吧。然后收到回复是面试哥觉得我去这个部门太委屈了,因为是游戏辅助APP,然后让HR姐姐把我推荐到云音乐,非常感谢面试哥,人真的蛮好,也谢谢HR姐姐帮忙推荐其他部门。但是无奈云音乐并不缺人,但这里也不要我了……不过对方招聘岗位本来就是高级工程师。可能感觉我经验还是不够吧。


字节跳动

tee.com/vip204888/java-p7)一面 46min

  • 简单介绍项目

  • 了解哪些数据结构

  • 了解哪些排序算法

  • 手撕代码:堆排序

  • Java集合类:a)LinkedList与ArrayList;b)HashMap扩容 ConcurrentHashMap

  • TCP与UDP,区别及运用场景

  • http是用的TCP还是UDP

  • http与https的区别

  • JVM内存模型(Static方法在哪个区)

  • Activity生命周期,Activity启动模式,Handler源码

  • 代码题:旋转数组

(一面面试官很nice,答的时候卡壳还会给引导,问的问题、撕的代码都不难)

下午面完当天晚上就接到约二面的通知了

二面 55min(部分问题有重叠的不再列出)
  • final、finally、finalize的区别

  • 抽象类的成员变量与成员方法的继承

  • socket是否了解,简单聊聊

  • 经典问题:在浏览器输入网址敲回车后经历了什么(这题我感觉我至少说了10分钟[捂脸]) a)三次握手;b)https的加密流程;c)对称加密与非对称加密原理(RSA、AES)

  • 数据库有哪几种隔离机制

  • union与union all的区别

  • MySQL的索引怎么实现的

  • B+树查找的时间复杂度,数据结构讲一下

  • 设计模式:a) 手撕DCL单例;b) 还了解什么设计模式(讲了观察者模式、策略模式)

  • JVM的垃圾回收机制,GC Roots有哪些,说说了解的垃圾回收器

  • View的事件分发机制

  • 代码题:两数相加(链表,要求原地实现,空间复杂度O(1),这个犯蠢撕了好久结果还是靠强行打印发现的问题)

面完后二面面试官希望直接进行三面,可惜似乎三面面试官在开会,所以另约在了两天后

三面 70min (部分问题有重叠的不再列出)
  • 线程与进程

  • 死锁条件,如何排查、解决

  • 虚拟内存、分页机制,讲一讲LRU

  • 创建对象的方式有哪几种(new 反射 clone 序列化)

  • 序列化与反序列化

  • 反射中的class.forname()与class.getclass()二者有什么区别

  • String.equals(),StringBuffer

  • 类加载的过程讲一下

  • Java锁的种类

  • volatile关键字的作用、原理

  • handler.post(Runable()),聊一聊这个

  • ANR,OOM了解吗?

代码题:a) 螺旋遍历矩阵;b)(变种)原地旋转图像

  • 聊人生聊理想聊爱好

讯飞

相对于网易的面试要简单一些。主要问题偏向于解决他们项目中面临的问题。

1.自我介绍:当然这个还是那些内容嘛。

2.他又问了一些基础的东西。这个我也记不大清了。

3.然后又问了MVP架构的东西。

4.然后他开始问一些问题,应该是他们项目中遇到的问题。讲了一个需求“要在手机上显示一个表格,表格可能100*100,要在这些表格里显示数据,手机屏幕一般只能显示4列,这个要怎样做。是使用View用Canvas绘制上去,还是使用ViewGroup添加View进去?”。自己给出了使用RecyclerView然后自定义LayoutManager的方式实现(因为自己这样做过嘛,详情可以看我的把RecyclerView撸成马蜂窝)。他听了还是比较满意的。

总结

笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!
mNKF93MJ-1647688906802)]

[外链图片转存中…(img-WAiqXVyA-1647688906802)]

[外链图片转存中…(img-E2RWUNBg-1647688906803)]

[外链图片转存中…(img-a9h0lCRK-1647688906803)]

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

这篇关于2020 字节跳动,网易,华为,Android技术功底不够如何去面试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/448523

相关文章

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩