三年Android开发经验,从老东家离职后,赶上金九银十,已拿字节、腾讯、墨墨等offer,(面经分享)

前言:

个人情况:小编从江南小镇出来,一本本科毕业,毕业后出来就一直在一个小厂搞Android开发,由于是第一份工作,这一做就是三年,直到今年6月份感觉在现有的岗位已到了一个瓶颈的状态,也无法突破,继续下去只会变成Crud的工作状态,下定决心,果断从老东家辞了职,准备认识新的自我,在家复习了两个月时间,再加上这些年的工作经验准备在金九银十验证一下自己,给自己一个满意的答复。

转眼金九银十过去了,笔者的跳槽面试也告一段落了。在接近一个月的时间,经历了面试时的紧张、失败时的痛苦、拿到offer的兴奋。目前面了字节、美团、腾讯、清远墨墨、阿里。并拿到了字节、腾讯、清远墨墨的offer。 这次就先从笔者就从自己的心路历程结合面试干货娓娓道来。

「初面试-字节跳动(头条部一面)」

  • 自我介绍

  • css选择器、优先级

  • 标准盒模型和ie盒模型

  • js继承 (原型式、构造函数式、组合式、寄生式)

  • js判断类型 (typeof 、 instanceof、 Object.prototype.toString.call)

  • settimeout和setinterval区别 。 宏任务、微任务、异步队列

  • 一道考察promise的题

  • 说几个http字段吧,作用是什么(content-type 、Cache-Control 、Etag)

  • 跨域问题 node怎么配置跨域 (cros)

  • http状态码以及代表什么

  • cookie、session、token

  • node的框架学过吗 express、koa 区别? 这里笔者主要讲了洋葱模型

  • 笔试题 1.广度优先遍历二叉树 2.多维数组压平 3.翻转矩阵 笔试题都不难,是leetcode的easy原题。

这次面试表现得不是很好,很紧张,写编程题的时候手都在抖。幸运的是当天晚上就被告知通过了。第二天开始二面。

「字节跳动(头条部二面)」

二面面试官是一个小哥哥,没有露脸,全程语音交流。

  • 前端优化 这个题比较开放,可以从减少资源请求、资源大小、优化网络、资源加载、回流重绘等多方面回答。
  • vuex状态管理存在意义? 单向数据流、集中管理
  • vuex的action怎么触发? dispatch
  • 介绍下项目 、难点? 这个就不细讲了,每个人项目都不一样,答得让面试官觉得你在遇到问题时有思考的过程就好。
  • 笔试题

「清远墨墨」

笔者最开始接触清远墨墨是考四级的时候下载了这个app(虽然从来没有真的用过)。面试的时候有个hr小姐姐加了我,给我介绍公司,通知我面试。 面试的时候是在企业微信上,boss和技术一起面我。

  • BOSS : 用过墨墨app吗 (笔者很慌,撒谎说用过)
  • 背了多少单词 (更慌了,随口说100个左右)
  • 怎么知道有墨墨这个app的 (同学介绍)
  • 你简历说你自己心思缜密,但是你简历上的句子的标点符号有问题啊。(emmm)
  • 项目的UI问题
  • 技术 : JavaScript空数组是true吗?
  • JavaScript是单线程吗
  • js精度问题 0.1+0.2 === 0.3 //false
  • 你觉得英语水平会影响编程吗 (答影响不大)

原谅我只记住了这些,这次面试技术上更偏向于js基础知识,问了很多口头判断题,只需要回答yes or no就可以了。 如果有想去向清远墨墨这样的小公司实习的,笔者建议多了解这个公司的相关信息,因为很可能接触到BOSS的灵魂拷问。清远墨墨公司压力相比于大厂小,公司里养了很多猫,还是个猫咖。如果不是为了面包,笔者是很青睐这种公司的。虽然拿到了offer,还是婉拒了小姐姐,对方还很礼貌的问我,怎么不来了呢,是不喜欢广东吗? T_T 。

「腾讯PCG一面」

这次面试是在电话上进行的,面试官小哥哥说话很清晰,问的问题也很细,总体来说表现还是可以的。

  • 为什么学习前端?

  • 了解python、go吗 ? 了解python

  • node作为后端有什么优缺点 ? 这里小哥哥告诉我node在高并发场景表现和性能存在瓶颈

  • 做过音视频方面的吗 ? 答做过网盘,有媒体文件预览功能

  • 浏览器重拍重绘,怎么减少重拍重绘 ?

  • 异步队列 微任务、宏任务 优先级

  • 跨域方式有哪些? 同源策略 cors、JSONP、postMessage 、代理服务器

  • JSONP实现原理 ? 利用script标签和注册全局函数

  • localstorage、sessionstorage区别 ?

  • 怎么实现一个水平居中的alert窗口 ? 定宽高margin、calc、不定宽高transform、flex布局

  • webpack打包过程 ?

  • 用过你觉得最好用的webpack插件 ? 答模块热替换插件

  • 什么是SPA应用,相对于多页的缺点 首屏缓慢、不利于SEO爬取

  • CDN的优势在哪里 有用过吗(答出了优势,但没有用过)

  • 浏览器缓存问题

  • 浏览器资源加载优先级 ? 答不了解,能给我讲讲吗,对面讲了下如图片资源,浏览器会优先加载用户可视的内容。

  • 最近在读过什么书? 深入浅出nodeJS

  • 3:20 时,求时针分针之间的夹角。 这里注意减去时针偏移的10度。

  • 笔试 模拟大整数相加、相乘

这次面试感觉还不错,面试官小哥哥给我讲了很多东西,还告诉我他在工作中的实际业务,使用的技术栈,现在的前端发展。对我这样的双非学历也一视同仁,我个人是非常尊敬欣赏这样的面试官的。打call!

「阿里钉钉」

阿里钉钉是在钉钉上加了群,和群主老哥聊过几句,最后也是这位老哥面的我。上来就是两个笔试题。

面试题

  • 前端安全 怎么防范XSS攻击?
  • 如何进行转义
  • 网络爬虫有了解吗
  • CDN主要用来解决什么问题? (负载均衡、就近原则)

这次面试和以前的面试遇到的问题差不多,但对面没有直接问我问题,而是从实际问题引导我回答。

「阿里CBU一面」

  • html节点类型? 块级元素和行内元素
  • vue的双向绑定原理? 订阅发布模式和Object.defineProperties
  • vue3.0、2.0、1.0的区别? 主要答的是虚拟DOM、proxy代替Object.defineProperties
  • 为什么用proxy代替Object.defineProperties 后者只能监听已有属性变化,且不能监听数组的内容变化
  • vue的解析器原理? 用template生成AST语法树分析
  • async浏览器支持情况,没有async的时候用什么模拟? (generator)
  • generator有什么作用? 供for of 消费、利用next接口
  • 三道很简单的编程题(前两个代码量有点多,把第三题分享出来)

这次面试总体感觉很不错,主要是因为面试官小哥人很幽默,面试氛围也很放松,和我闲聊了很多。这个小哥带给我很多积极能量,笔者希望能在以后遇到越来越多这样的人。

「腾讯PCG二面」

PCG二面很突然,早上刚起床来的电话,就匆匆开始了~

  • 谈谈你的实习经历,过程中你遇到哪些问题,怎么克服的 (这里主要谈了自己在技术上和同事协作遇到的问题,一顿胡编。。。)

  • 两个用户,A在深圳带宽2M,B在上海带宽100M,请求一个服务器部署在黑龙江4kb的文件。谁更快?(个人认为理论上差不多,现实上B可能由于距离近会快一些。我的答案不一定正确)

  • 浏览器地址栏输入网址到显示,发生了什么?

  • 砝码分盐问题。 140g盐用2g和7g砝码,一个天平,三次分出50g、90g

  • 反问环节, 这里我问道面试官我有哪里不足? 对方很中肯的告诉我在计算机网络底层需要加强。

「字节商业变现平台一面」

  • 怎么判断数组类型? Object.prototype.toString.call([]).slice(8,-1) === ‘Array’
  • bind、call、apply区别
  • 浏览器地址栏输入网址到显示,发生了什么?(这个和上边一样)
  • TCP三次握手 为什么三次?
  • http状态码?
  • web通信技术? Comet(http流 、ajax轮询)、SSE、 websocket
  • 都接触过哪些后端语言? node、python
  • react和vue的区别? 答双向绑定和单向数据流
  • vuex的作用? 状态管理、集中式管理、把公用数据抽象出来、便于开发维护
  • react和jquery有什么区别? 声明式和命令式区别?
  • MVVM和MVC?

个人觉得是因为这次面试问的问题恰好都是我了解的,对面印象不错,甚至夸赞我基础很牢固。面完直接开始进行二面。

「字节商业变现平台二面 + HR面」

这次面试官是部门的leader,比较严肃

  • 做过哪些项目
  • 项目安全问题 项目里md5在哪里加密 (我答是前端加密)
  • 防止XSS、CSRF攻击?
  • 前端鉴权 token
  • 有做过管理类的项目吗 答无
  • 一个算法题 这个题笔者没有写出来,但是说了说思路,并表示自己算法很菜
  • 有什么想问的? 笔者问商业变现平台是做啥子的blabla…

大概是这些问题,有点记不清了。面完后就被告知通过了,等HR。两天后HR面,主要是问问你的优缺点,最近在读什么书,平时成绩如何。面完的两个小时便拿到offer,不得不说字节的效率是真的很高。个人觉得之所以字节发展的如此之快,和字节的务实、技术气氛浓厚,在管理上扁平化,有着很大关系。

这里拿到字节的offer后,网易来电面试,因为地域问题,婉拒了这次邀请。

「阿里CBU二面」

  • 自我介绍
  • 项目安全(这里和我探讨了下localstorage存放token有哪些安全问题,如何让改善)
  • vue、react区别
  • vue除了父子传值还有哪些办法? eventbus、vuex
  • socket.io协议降级有了解吗?
  • koa框架和原生node有什么不同?
  • XSS攻击

这次面试谈到项目时说了我做的云盘和聊天室,虽然问到的几乎所有问题都答了出来。但对面表示项目上没有亮点,建议我我在一些方向继续深挖。 我很感谢面试官的建议。

以上就是能记下来的面试经历了,并且小编已将相关面经答案整理成了完整PDF:免费分享给有需要的朋友。
需要文中完整版面经整理(附答案)和更多Android大厂高频面试题,以及更多Android进阶电子书籍的朋友**可以点此处GitHub自行下载。**

image

另外小编手头上整理的2020 Android 核心知识点笔记也是免费分享给大家的,希望能够帮助到更多喜欢学习的人。早日进阶成为Android高级架构师,实现个人理想和创造更多价值。

image

image
需要文中完整版面经整理(附答案)和更多Android大厂高频面试题,以及更多Android进阶电子书籍的朋友**可以点此处GitHub自行下载。**

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!