10天用Flutter撸了个高仿携程App,高并发系统基础篇

本文作者分享了10天使用Flutter开发高仿携程App的经验,强调了Android开发面试中关注的基础知识,如Java、Android、数据结构、计算机基础和设计模式,并提供了面试准备建议,包括开源项目理解和项目经验的讲述方式。同时,讨论了小厂到大厂面试中如何展示技术之外的软实力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

大家应该看过不少人分享的面试成功的面经,是不是觉得自己“说不定也可以”呢?

这里重提一个理论:幸存者偏差。当取得资讯的渠道,仅来自于幸存者时(因为死人不会说话),此资讯可能会存在与实际情况不同的偏差。

所以,今天要分享的是凉经。

Android开发面试的几部分

1、基础知识

基础知识包括几个部分:Java(JDK、JVM)、Android、数据结构和算法、计算机基础、设计模式,有的还会问Flutter。

2020Android面经:教你增加拿到BAT等大厂offer几率( 面试技巧)

Java部分

不太推荐这部分只看博客,因为很多博客并不系统也不完整,推荐完整看一遍《深入理解Java虚拟机》这本书,基本上这里面涵盖了JVM相关的所有面试问题,包括内存分区、GC机制、内存模型、锁、字节码、类加载等。JDK的部分会杂一些,基本上可以归类为几种:容器(必问HashMap、CurrentHashMap、ArrayList等)、线程池(必问)、注解、同步工具、动态代理、notify/wait/sleep。这部分可以从一些JDK相关的文章中去整理一遍。

Android部分:

这部分必问的是Handler机制、触摸事件传递、四大组件启动流程、View绘制流程、Binder机制、生命周期。经典的问题比如:

  • 触摸事件一定是先传递到Activity然后才传递给View的么?
  • 如果要在Application的onCreate生命周期之前执行一些逻辑,可以放在哪里?
  • draw、onDraw、dispatchDraw执行的顺序如何?
  • View真正显示是在onResume之前还是之后?
  • Activity中嵌套有一个Fragment,startActivity之后,Activity和Fragment的生命周期顺序是如何的?

数据结构与算法:

这部分在客户端开发中考察的比例会小一些,不过也有很多公司非常重视手写代码。经常碰到的问题有二叉树遍历、有序二维数组查找,排序等,基本上以《剑指offer》或者《编程之美》为准就可以了。

计算机基础:

这部分涵盖的比较杂,比如计算机网络(7层网络模型、Http和Https)、git工作流和命令、计算机缓存策略、UML、信息安全等等。

设计模式:

在自己的项目中一定要多总结和使用设计模式,面试官问你使用过什么设计模式的时候,如果能回答出比如状态模式、责任链、装饰等等,肯定会加分不少。如果只是回答单例和建造者模式,那就会逊色多了。这部分推荐看《研磨设计模式》。

开源项目:

这个也是必问的环节之一,建议从自己项目使用的开源项目入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值