2024-字节跳动,网易,华为,小米,讯飞Android开发岗面试经验总结!(1)

  • 了解哪些数据结构
  • 了解哪些排序算法
  • 手撕代码:堆排序
  • 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撸成马蜂窝)。他听了还是比较满意的。

5.还有一个是手机和平板适配的办法。这个其实很简单嘛。Android官方有很好的方案。layout-swxxx+Fragment嘛。然后接着问了Fragment使用的具体方法都有哪些。这个也不难嘛。什么Fragment+FragmentAdapter+ViewPager,或者使用FragemntManager来通过Transaction来操作Fragment等等。

6.最后问了一下工作模式。一个需求拿到手,要怎样把需求做出来。这样的工作流程是怎样的?这个自己从需求分析到与其他部门商定通信协议,然后再分析需求要注意的case,最后再实际编码,都讲了一下。他也比较满意的。

整体下来,这个公司偏向于应用和解决问题的能力。具体的原理没有去问太多。过的也是挺轻松的。不过这里可以看出无论是大公司和创业公司,对MVP都很有比较高的要求的。 还有就是简历中自己写的东西一定要能讲出个123。这个家公司还是比较注重人才的开的薪水还是不错的。 但是最后我聊了聊工作内容,自己并不是很感兴趣。感觉对于自身的成长帮助不是很大,所以并没有准备去。

作者2013年从java开发,转做Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。

参与过不少面试,也当面试官 面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!

我整理了一份阿里P7级别的最系统的Android开发主流技术,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你想深入系统学习Android开发,成为一名合格的高级工程师,可以收藏一下这些Android进阶技术选型

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

Java语言与原理;
大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;
自定义view,Android开发的基本功。

性能调优;
数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;
未来的方向,高薪必会。

前沿技术;
组件化,热升级,热修复,框架设计

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,CodeChina上可见;

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ics/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为外包c开发面试题可能涉及了一些基本的C语言知识和编程技巧。以下是一个可能的回答,仅供参考: 在华为外包C开发面试中,我可能会遇到以下类型的问题: 1. C语言的基本知识:面试官可能会询问C语言的基本语法和数据类型、变量定义和声明、控制语句、函数的定义和调用等。我会回答这些问题,展示我对C语言的熟悉程度。 2. 数据结构和算法:面试官可能会询问一些关于数据结构和算法方面的问题,例如链表、树和排序算法等。我会展示我对这些基本数据结构和算法的理解和应用能力。 3. 内存管理:面试官可能会问到内存动态分配和回收的问题,如malloc和free函数的使用。我会解释并演示我对内存管理的理解和熟练运用。 4. 文件操作:面试官可能会通过询问文件读写、打开和关闭等问题来考察我在文件操作方面的经验和熟练度。我会回答这些问题,并展示我在文件操作方面的实践经验。 5. 多线程编程:华为外包可能涉及到一些多线程编程。面试官可能会询问线程的概念、线程同步和线程通信的方法等问题。我会解释我对这些概念和技术的理解,并举例说明我在实践中如何应用它们。 总之,我会在面试中展示我对C语言的广泛知识和丰富的实践经验。我相信我在C开发方面的技能和技巧将使我成为一个优秀的华为外包C开发的候选人。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值