2024最新字节、大疆、滴滴Android面试题,告诉你社招如何准备!【附答案】

前言

作为一名有着将近4年Android开发经验的程序员来说,在今年这个环境下还是毅然决然选择了裸辞。
一方面是对自己目前所在部门的发展前景表示担忧,按照以往这家公司的脾性,软件赚不了太多的钱就会被砍掉,还不如另寻去路。
另一方面是对自身的技术水平还是比较自信的,因为平时会花时间折腾些新的工具,不至于换家公司就落伍的那种,然后也有去做自己的应用程序,在自己的小圈子里也推广开了,有了大几百的注册用户,对我已经很满足了。
裸辞后,我重新踏上了Android程序员的社招之路。
在这里插入图片描述
接下来给大家分享一下我的社招历程:【文末获取相关回答】

字节跳动一面

  • 自我介绍

  • 然后问了我根服务器是什么。

  • 知道我了解数据库,给了我一个情况让我写SQL语句。

  • 数据库表内联

  • 一个单核CPU最多可以有多少个线程

  • 定义一个数组 int a[1000010],它的空间回收。

  • 定义了一个结构体user,在一个函数中使用了 user,它在函数的结束的时候是否回收空间,要不要用delete

  • 定义了一个int a呢,他在函数执行完成以后何去何从呢?

  • 算法题:二叉树的程序遍历[直接说了思路,写了核心代码]

字节跳动二面

  • http,https,区别
  • tcp是哪个层,和udp区别
  • http get 和 post
  • jvm 内存
  • 进程线程
  • cpu 调度算法
  • hashmap 扩容,为啥是 2 倍,为啥 size 是 2 的幂次方
  • 算法:给定一个整型数组array和一个加和 n,是否存加和为 n 的三个数,O(n2)就可以,写出来了。

大疆一面

  • 内存泄漏怎样检测,怎么避免
  • view的touch事件分发机制
  • Handler,loop和HandlerThread的关系
  • 一个线程中的loop是否可以对应多个Handler
  • 安卓中的异步任务
  • 字节流和字符类的区别
  • 平衡二叉树的概念
  • 判断单向链表存在环
  • 网络窗口滑动概念
  • 三次握手四次挥手
  • IP和掩码的关系

大疆二面

  • C语言基础 sizeof 指针、数组的大小
  • 局部变量存在哪里,malloc的变量在哪里
  • Linux怎么搜索所有.so文件
  • 平时有没有用github
  • 双向链表和单链表
  • Cpp的map、list、vector的底层数据结构
  • 多态的实现
  • 静态链接和动态链接
  • 动态链接的代码在数据段和代码段的分配
  • Gdb的指令
  • Linux驱动的ioctl
  • 内核向应用层获取数据用哪个接口

滴滴一面

  • 自我介绍
  • Linux创建线程有没有设置过调度相关的参数
  • 主要考察第二个参数: 属性对象主要包括是否绑定、是否分离、 堆栈地址、堆栈大小、优先级。默认的属性为非绑定、非分离、缺省的堆栈、与父进程同样级别的优先级。
  • Linux中的条件变量怎么用? 以及虚假唤醒的总结
  • 讲下MMU的相关知识
  • 多线程、多进程的方式
  • 共享内存的底层原理
  • 线程和进程的理解
  • 调用一个函数后,会返回到哪里?
  • 程序在内存中的分配
  • 未初始化的变量打印出来是什么值 全局的初始化为0 局部变量未知

滴滴二面

  • 您在Android开发中通常使用哪些框架或库?
  • 您对Linux操作系统有多少了解?Android是基于Linux的,您能举例说明Linux在Android中的应用吗?
  • 在Android开发中,您是否处理过与Linux内核层相关的功能或问题?
  • 能否简述一个Android设备从开机到进入桌面的主要启动过程?
  • 在这个过程中,哪些部分是Android特有的,哪些部分与通用的Linux嵌入式系统类似?
  • 请介绍一下Android的系统架构,包括应用程序层、应用程序框架层、系统运行库层和Linux内核层。
  • 在Android应用中,为什么有时选择使用UDP而不是TCP进行网络通信?
  • 请列举UDP和TCP在Android网络通信中的优缺点,并说明您选择UDP的理由。

写在最后

多家面试总结下来,考察的范围都很广,包括基础知识、项目。

  • 基础知识这块,需要花大量时间准备每一个细节,知其所以然,这样才能面试的时候问起来,都能头头是道。

  • 项目,大厂都比较注重项目,所以不仅要熟悉项目做了什么事情,而且要提炼出项目中的闪光点或者说不一样的地方,这些在面试之前都要想清楚。

  • 然后就是要多刷题。面试了这么多公司,除了阿里,其他公司的每一轮都会要求做题,所以在面试之前要对各种常见面试题了解,有时间的话多去刷刷题找感觉。

为了助力朋友们跳槽面试、升职加薪、职业困境,提高自己的技术,本文给大家整了一套涵盖Android所有技术栈的快速学习方法和笔记。目前已经收到了七八个网友的反馈,说是面试问到了很多这里面的知识点。

每一章节都是站在企业考察思维出发,作为招聘者角度回答。从考察问题延展到考察知识点,再到如何优雅回答一面俱全,可以说是求职面试的必备宝典,每一部分都有上百页内容,接下来具体展示,完整版可直接下方扫码领取。

在这里插入图片描述

更多相关面试题

第一章 算法和数据结构面试题汇总

在这里插入图片描述

第二章 Java核心基础面试题汇总

在这里插入图片描述

第三章 Java深入泛型与注解面试题汇总

在这里插入图片描述

第四章 Java并发编程面试题汇总

在这里插入图片描述

第五章 Java虚拟机原理面试题汇总

在这里插入图片描述

第六章 Java反射类加载与动态代理面试题汇总

在这里插入图片描述

第七章 网络编程面试题汇总

在这里插入图片描述

第九章 高级UI面试题汇总

在这里插入图片描述

第十章 Framework内核解析面试题汇总

在这里插入图片描述

第十一章 Android组件内核面试题汇总

在这里插入图片描述

第十二章 程序性能优化与数据持久化面试题汇总

在这里插入图片描述

第十三章 开源框架面试题汇总

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值