网站首页 > 基础教程 正文
面试旺季来即,分享面经
想了蛮久的然后还是来写了自己的面试经历,应该没人还比本小菜鸡还菜了。楼主本科野鸡二本,然后毕业去了一家方案公司做MTK平台的Android Framework开发有一年,然后去了澳洲某野鸡大学读了一个渣硕。
秋招正式批
到了九月份大家都在投简历找工作,本小菜鸡也是蠢蠢欲动,于是跟着大佬们投了简历,(没想到是去当分母的)QAQ。。。。 投了字节跳动的Android开发。
笔试
笔试AC了几题忘了反正蛮久的,就稀里糊涂的收到了邮件让我去面试。
一面
一面上来自我介绍,然后介绍面试流程,然后开始考计算机网络八股文
- TCP/UDP的区别
- 进程线程调度
- 手撕LRU 不能用LinkedHashMap
- 还有个题是用DFS,走迷宫搜路径条数,直接暴力干完
- 接下来就是聊项目,复现过一篇论文的数据压缩方法,(BWT),详细解释
- 反问环节
一面面完心态崩了 , 然后加上当时有考试,就意兴阑珊回去准备考试了。。。。。
二面
二面的面试官很nice, 体验很好。上来是一套老八股文,
- Java的hashmap用过吗
- 咋实现的,
- 追问红黑树
- 问线程安全和hash冲突 (这块比较菜。。。没啥准备拉闸了)
- 写题
老dp题,最长公共子序列
然后问操作系统,这部分没答好。。。。。。
然后就感谢信了。。。。。
然后12月份不小心摔了一跤, 导致做了一个手术,在住院期间术后实在忍受不了医院饭堂的饭的时候,叫老爹去外面买小酒喝的时候接到了字节HR捞人的电话。。。
字节跨平台开发
一面
- 自我介绍
- 做过安卓开发吗
- 介绍源码结构
- OS 里面跨进程通信(ipc)手段有哪些? -- ( 信号量 , socket, 管道, 命名管道, mmap)
- 安卓Binder机制介绍
- 启动Activity过程 (由于之前读过AOSP源码,这部分从startActivity开始讲到ActivityThread里面的handleMessage....面试官估计听得累了。。。叫了差不多OK了。。)
- View的绘制过程? 这部分没答好
- 数据库优化有吗? 建立索引 --追问 什么时候索引失效? -- 只答出了用where like。。。
- 计算机网络http1.1 和HTTP 2 区别? (不知道。。。。)
没多久HR告知通过一面。。。。 楼主计网,database实在拉胯
二面
- 自我介绍
- 项目介绍
- 追挖项目的点
- 你熟悉OS是吧,聊聊OS, CPU执行指令有什么步骤?(寻址, 取指, 执行)
- PC和SP 有什么区别?(program counter 和 stack pointer)
- mmap了解吗 (老IPC手段了,这是答的最清楚的地方了,扯了一下同步那些)
- C++ 的虚函数和纯虚函数区别? 虚函数表知道吗? (扯了一下语法)
- Kotlin会用吗? (不会)这里说了没学过还一直追问我 有点难受
- Binder通讯和socket通信比较?
- 如果让你设计一个下载的SDK, 你会怎么设计?
- tcp的四次挥手, 为什么在client 回复server的ack之后还要等2MSL?
- 写题 三色排序快排做partition过程
撕代码之后就结束了, 然后HR告知通过,然后约了三面。。。
三面隔了蛮久的,由于有康复治疗和医院复查等就隔了一周多。
三面
- 自我介绍
- 介绍项目流程
- 操作系统你介绍一下 (内核态 用户态)
- 你提到了syscall 那请你举个例子 比如open的调用过程
- inode 介绍一下
- 一个二维数组, 0 表示空格 1 表示病毒 2 表示易感人群
然后在每一轮中病毒会传播给它相邻的 四个格子(上下左右), 然后被传染的人有一个轮次的潜伏期,等于隔一轮才有传播性一个数组有多个病毒,同时开始传播, 问是否能使得所有人都染病,如果可以返回轮次,否则-1.(这里用了BFS) - socket下面的协议了解吗?(不了解)
- TCP 如何保证按序传输?
- 反问环节
面完没多久就HR告知三面通过。。。。
关于面试知识点的复习
之前为了面试我花半年时间整理了一份大厂的《Android开发2020年度面试真题合集》,深入学习源码底层,架构设计。而已也刷了很多大厂面试真题。也切身体会到了一分耕耘一分收获。
该面试宝典不仅收录了本人亲身面试遇到的问题,还收录了从一些朋友那里收集过来的问题。在以后的工作中本 人也会不断的更新和充实该面试宝典,当然也希望大家能够多多奉献比较优质的面试题。
总共分为6个部分:
Java 基础(★★)
Java 高级(★★)
Android 基础(★★★)
Android 高级(★★★)
Android 项目(★★★)
项目面试常见问题(★★★)
一、Java 基础(★★)
面向对象思想
多态
异常处理
数据类型
Java 的 IO
集合
Java 多线程
Java 高级(★★)
Java 中的反射
Java 中的动态代理
Java 中的设计模式&回收机制
Java 的类加载器
Android 基础(★★★)
Android 基本常识
Activity
Service
BroadCastReceiver
ContentProvider&数据库
Android 中的布局
ListView
JNI & NDK
Android 中的网络访问
Intent
Fragment
Android 高级(★★★)
Android 性能优化
Android 屏幕适配
AIDL
自定义控件
Android 中的事件处理
Android 签名
Android 中的动画
网络协议
其他
项目面试常见问题(★★★)
- 开发周期
- 项目中遇到的难题
- 项目中最大的收获
- 项目是如何上线的
- 项目是如何盈利的
- 绘制项目架构图
- 项目开发流程
- 你在项目中的角色
- 你负责项目中的哪些模块
- 讲讲你负责模块的具体实现
- 项目中都用到了哪些第三发框架
- 有没有自己写过框架
- 业余时间你是如何提高自己(学习)的
- 有没有自己的技术 blog
- 你的职业规划
- 为什么离职
- 为什么选择我们公司
- 说说你们项目的亮点和不足
- 你们的项目是如何保持风格一致的
- 项目架构是如何搭建的
- 屏幕适配是如何解决的
- 都看过哪些源码
- 项目版本是如何升级的
- 用的什么版本控制工具
- 你能独立开发吗
- App 跟服务器是如何交互的
- 需求文档写过吗
- 接口文档写过吗
- 云服务器都用过哪些
- 第三方平台都用过哪些
简历+社招解答+经典HR面试解析
以上是整理总结的Android中高级面试遇到的真题解析,希望对大家有帮助;同时很多人经常也会遇到很多关于简历制作,职业困惑、HR经典面试问题回答等有关面试的问题。同样我也搜集整理了全套简历制作、金三银四社招困惑、HR面试等问题解析,有疑问,可以提供专业的解答。
对于Android开发的朋友来说应该是最全面最完整的面试资料,为了更好地整理每个模块,我参考了很多网上的优质博文和项目,力求不漏掉每一个知识点。很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个资料也已经帮助了很多的安卓开发者,希望也能帮助到你。
以上免费分享?
是的,免费分享,但是记得关注一下我哈,需要完整版的朋友
直接转发+点赞+私信回复【资料】一键领取!!!
猜你喜欢
- 2024-11-12 C++要学到什么程度才能找到实习? c++学完学什么
- 2024-11-12 C++基础语法梳理:inline 内联函数!虚函数可以是内联函数吗?
- 2024-11-12 C++基类中虚析构函数 c++ 虚析构函数
- 2024-11-12 C和C++代码精粹:C语言和C++有什么区别么?
- 2024-11-12 3个面试C++开发岗位的高频笔试题 c++软件开发面试
- 2024-11-12 一文在手,"类间关系"不再困惑
- 2024-11-12 c++的面试总结 c++面试知识点
- 2024-11-12 C++ 虚函数 实例学习 简单易懂 c++虚函数的使用
- 2024-11-12 C++里面的虚析构函数 虚构造函数与虚析构函数
- 2024-11-12 C++虚函数会导致性能开销大? c++虚函数使用
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)