爆赞!Android岗大厂面试官常问的那些问题,论程序员成长的正确姿势

开头

昨天去面了一家公司,价值观有受到冲击。

面试官技术方面没的说,他可能是个完美主义的人,无论什么事情到了他那里好像都有解决的方案,我被说的无所适从,感觉他很厉害。

但我不能认可的是,面试官觉得加班是理所当然的,还说有人想把事情做的更好,愿意自主加班。这个我不否认,但凭什么说加班说的那么理所当然,违背国家制度也这么理所当然吗?

他问我对加班的看法。我说可以加班,有意义就可以。他继而反问,有些人觉得给老板打工就是没意义的,那是否所有加班都是没意义的呢?我当然说不是,他这么以己度人,我无语了。

我又说,忙的时候可以加,不会一直加下去吧?有没有阶段性休息和调整的说法?
他说没有,不到公司上市会一直保持这种状态。

顿时我不知道该说些啥,也许就是价值观的不同吧,似乎我不加班就说明我工作划水,效率低。

让你加班的,可能就是你的同行,这似乎有点儿悲哀。

面经分享

第一部分是我前端面试的经验总结,第二部分是我认为比较有思考空间的题目

经验总结

  • 一份漂亮的简历,需要包括以下部分(排版由上而下)
    • 个人亮点(专精领域,个人博客,开源项目)
    • 教育经历(毕业院校,在校经历、荣誉)
    • 工作经历(实习)
    • 项目经历
    • 专业技能
  • 扎实的前端基础,比如你知道
    • <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'/> 作用是什么?
    • flex:1 的 1 代表什么?
    • Generator 如何抛出错误?
  • 熟悉一门前端框架(React 优先)
  • 勤刷 LeetCode 的算法题,熟悉掌握相应的数据结构如常见的链表、栈、队列、哈希表、树
  • 熟悉网络基础、Git 命令、Linux 命令
  • 多去了解前端的新趋势(Flutter,PWA,Serveless,GraphQL,CSS Houdini)
  • 要有自信,让面试官感受到你对前端的热爱

面试题

由于面试的公司和次数略多,老生常谈的面试题就不放出来了,也不按公司划分面试题了

算法题

大多出自 LeetCode ,LeetCode HOT 100,最好自己过一遍,理解最优解

编程题

  • 用 Class 实现 EventEmitter,要求拥有 on,once,emit,off 方法

  • 实现 deepClone,要求能成功克隆带有循环引用的对象

  • CSS 实现一个宽度为浏览器1/2,宽高比为 2:1 的盒子

  • 实现 sum 函数

    sum(1)(2)(3) == 6; // true
    sum(1, 2, 3) == 6; // true
    复制代码
    
  • 实现 sum2 函数

    console.log(sum2(1)(2)(3)()) // 6
    console.log(sum2(1, 2, 3)()); // 6
    复制代码
    
  • 用尾递归实现 fibonacci 数列

  • 实现 co 函数

  • 实现以下功能,当对一个 arr 做 push 操作时,会自动打印一行提示消息

    const arr = [1,2,3];
    arr.push(4);
    // arr pushed a new element: 4
    复制代码
    
  • 代码实现中断 Promise 的运行

  • 有一组图片,实现后一张图片必须等到上一张图片加载完毕,才能开始加载

  • 为 Test 类添加方法,打印指定内容

    class Test {constructor() {this.person = { name: "jack", age: 38, position: "CTO" };}// ......
    }const test = new Test();
    for (const ele of test) {console.log(ele);
    }
    // [ 'name', 'jack' ]
    // [ 'age', 38 ]
    // [ 'position', 'CTO' ]
    复制代码
    
  • 实现 handler 函数,遇到 b 和 ac 都要去除

    console.log(handler("aabaa")); // 'aaaa'
    console.log(handler("abaccbc")); // 'c'
    console.log(handler("aaccc")); // 'c'
    console.log(handler("aaabccc")); // ''
    复制代码
    
  • 实现 decode 函数

    decode('HG[3|B[2|CA]]F') === 'HGBCACABCACABCACAF' // true
    复制代码
    
  • 实现 _bind 函数,使打印 success

    function Animal(name, color) {this.name = name;this.color = color;
    }
    Animal.prototype.say = function() {return `I'm a ${this.color} ${this.name}`;
    };
    const Cat = Animal._bind(null, "cat");
    const cat = new Cat("white");
    if (cat.say() === "I'm a white cat" &&cat instanceof Cat &&cat instanceof Animal
    ) {console.log("success");
    }
    复制代码
    
  • CSS 实现圆环进度条效果

  • 说出以下打印内容

    console.log(-1 >>> 32); 
    console.log(-1 << 32);
    console.log(1 >> 32);
    console.log(5 >>> 2);var a = { n: 1 };
    var b = a;
    a.x = a = { n: 2 };
    console.log(a.x);
    console.log(b.x);
    复制代码
    

简答题

  • 实现 F12 开发者工具的检查(inspect)功能
  • 实现 把一个盒子从一个区域拖放到另一个指定区域中
    • 盒子一部分在区域内,一部分在区域外,该如何处理
    • 简述几个封装好的关键方法
  • 开发完的项目,在微信浏览器上白屏,该如何排查
  • 如何统计一个页面上哪些区域用户点击次数最多
  • 如何根据按钮级别的粒度,设计用户权限,例如:A 可以访问按钮,B 不可以
  • 如何对一个网页内容进行自动化截屏,如何解决登录限制

  • A组件包裹B组件,B组件包裹C组件,它们的 componentDidMount 触发顺序如何
  • React setState 到底是异步还是同步的,其原理是什么
  • React Hooks 的使用有哪些注意事项
  • React 的合成事件机制
  • 简述 React 类组件的新老生命周期,谈谈 React Fiber 架构的引入
  • 详细介绍一下 Redux 状态管理,如何和 React 组件连接
  • React HOC 的用途,什么是装饰器模式
  • Mobx 的实现原理

  • Koa 的中间件原理,介绍一下 compose 函数
  • 介绍 NodeJS 的 EventLoop 机制,process.nextTick() 的作用
  • NodeJS 是单线程还是多线程,都有哪些线程,JS 为什么是单线程的
  • CommonJS 的实现原理
  • NodeJS 中存在哪些流,怎么理解 pipe() 及其优点
  • require 的解析规则
  • 介绍一下负载均衡,NodeJS 的 cluster 和 child_process 是什么

  • webpack 是如何进行打包的
  • webpack 动态 import 是如何实现的
  • 如何编写自己的 loader 和 plugin
  • 简述 webpack 配置文件中的 externals,UMD 了解吗

  • 介绍一下 DNS,什么是迭代查询和递归查询,什么是一级域名、二级域名
  • HTTP 首部(Header)和实体(Body)的分隔符是什么,用正则如何匹配
  • HTTPS 的详细过程,什么是数字证书,消息摘要,非对称加密,Hash 算法
  • 如何实现 Tab(标签)页之间,客户端与服务器的实时通讯
  • HTTP 状态码:301、302、307 的区别

  • 简述浏览器的垃圾回收机制,什么是强引用、弱引用、循环引用
  • 简述 requestAnimationFrame 和 requestIdleCallback 的作用
  • CSS 选择器的解析顺序是从右到左,还是从左到右,为什么
  • click 事件在移动端有什么问题,如何解决,你在移动端还遇到那些坑
  • 简述 JWT 的生成过程和优缺点,怎么主动注销 JWT 和续签 JWT
  • 通过什么检测网站的性能,有哪些指标
  • 如何查看网站的 Ajax 请求是由哪行代码发出的,一个元素都绑定了哪些事件,Chrome 调试面板 F8,F10,F11 各代表什么
  • 说说你对 jpg、gif、jpeg、png、webp、base64 URL 的了解

最后

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。

需要的朋友可以点击这里免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins 中定时任务构建

一般&#xff0c;在Jenkins中搭建项目完成后&#xff0c;项目可正常运行&#xff0c;基本都会进行定时任务的构建。特别是重要的接口&#xff0c;进行关键接口自动化的日常巡检 时&#xff0c;基本都会设置成定时任务&#xff0c;以方便每天&#xff0c;接口的自动化&#xff0…

爆赞!Jetpack-MVVM-高频提问和解答,满满干货指导

前言 今天我给大家再次分享一下&#xff0c;我最近的一些读书的感想&#xff0c;思考起来&#xff0c;确实能够给自己带来一些真实的帮助和启发&#xff0c;希望大家在平时的工作学习中&#xff0c;也能够认清楚学习的一些本质。 如果我们的学习是在不断掌握应对具体工作场景…

多线程控制不同的线程取不同的数据的问题

做项目的时候需要分析数据&#xff0c;数据量比较大用到多线程&#xff0c;刚开始接触线程&#xff0c;想着线程应该平分数据&#xff0c;不应该取重复数据&#xff0c;采用了比较笨的方法&#xff0c;将数据的count取出&#xff0c;然后根据线程数平分&#xff0c;但是因为数据…

牛笔了!Android面试真题解析火爆全网,面试必备

开头 最近有粉丝反应&#xff0c;不想做安卓了&#xff0c;有朋友转到前端了&#xff0c;安卓不行了&#xff0c;问我怎么办&#xff1f; 自从RN&#xff0c;Weex这种跨平台编程语言出来以后&#xff0c;安卓将死的言论总是不绝于耳。随着颇有摧枯拉朽之势Flutter的出现&…

腾讯,字节等大厂面试真题汇总,深夜思考

前言 最近经常被朋友问到的两个问题。 问题一&#xff1a; “从事IT工作3年了&#xff0c;做技术好累啊&#xff0c;是不是做到30岁就不能继续往下做啊&#xff1f;”问题二&#xff1a; “我已经30岁了&#xff0c;还能不能学编程&#xff1f;” 我给出的答案是&#xff1a…

线性回归原理小结

线性回归可以说是机器学习中最基本的问题类型了&#xff0c;这里就对线性回归的原理和算法做一个小结。 一、线性回归的模型函数和损失函数 线性回归遇到的问题一般是这样的。我们有m个样本&#xff0c;每个样本对应于n维特征和一个结果输出&#xff0c;如下&#xff1a; \((x_…

腾讯,字节等大厂面试真题汇总,进阶学习资料!

前言 找工作还是需要大家不要紧张&#xff0c;有我们干这一行的接触人本来就不多 难免看到面试官会紧张&#xff0c;主要是因为怕面试官问的问题到不上来&#xff0c;那时候不要着急 &#xff0c;答不上了的千万不然胡扯一些&#xff0c;直接就给面试官说这块我还没接触到&…

【题解】鱼塘钓鱼

题目描述 有N个鱼塘排成一排&#xff08;N&#xff1c;100&#xff09;&#xff0c;每个鱼塘中有一定数量的鱼&#xff0c;例如&#xff1a;N5时&#xff0c;如下表&#xff1a; 即&#xff1a;在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼&#xff0c;第2分钟内只能钓到8条鱼&…

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!分享一点面试小经验

&#xff08;一&#xff09;简介 Handler机制是一套Android消息传递机制。在Android开发多线程的应用场景中&#xff0c;将工作线程中需更新UI的操作信息 传递到 UI主线程&#xff0c;从而实现 工作线程对UI的更新处理&#xff0c;最终实现异步消息的处理。 在Android开发中&a…

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!绝对干货

开头 又到年底了&#xff0c;每到这个时候&#xff0c;我们都会慢慢反思&#xff0c;这一年都做了什么&#xff1f;有什么进步&#xff1f;年初的计划都实现了吗&#xff1f;明年年初有跳槽的底气了吗&#xff1f;况且今年的互联网环境太差&#xff0c;需要自己有足够的知识储…

request对象与response对象

一.request对象 1.通过request对象可以获得客户端输入的信息。request对象包含了从客户端传来的请求信息。 请求的参数是一个请求的组成部分&#xff0c;它们被作为字符串从客户端传送到JSP/Servlet容器中&#xff0c;并被用于初始化request对象。 2.request对象是javax.Servle…

腾讯,字节,阿里,小米,京东大厂Offer拿到手软!讲的明明白白!

缘起 随着Android开发行业逐渐饱和&#xff0c;对Android开发者的面试要求也越来越高&#xff0c;是否掌握底层源码&#xff0c;是面试官衡量一名Android开发者的重要依据。有没有读过源码也可以很大程度上判断你这个人的学习能力和思维方式。无论你开发经验几年&#xff0c;面…

HTML div 滚动条样式设计

::-webkit-scrollbar-track-piece{ background-color:#fff;/*滚动条的背景颜色*/ -webkit-border-radius:0;/*滚动条的圆角宽度*/ } ::-webkit-scrollbar{ width:8px;/*滚动条的宽度*/ height:8px;/*滚动条的高度*/ } ::-webkit-scrollbar-thumb:vertical{/*垂直滚动条的样式*/…

膜拜大佬!5年经验Android程序员面试27天,高级面试题+解析

前言 网上关于启动优化的文章多不胜数&#xff0c;内容千篇一律&#xff0c;大都是列举一些耗时操作&#xff0c;采用异步加载、懒加载等。 而在面试过程中&#xff0c;关于启动优化的问题&#xff0c;如果只是很表面地回答耗时操作应该放在子线程&#xff0c;显然太过于普通…

膜拜大佬!不同层级的Android开发者的不同行为,社招面试心得

都说Android最近行情不好&#xff0c;很多人都遇到瓶颈或放弃或转行。其实这种情况17年18年也是如此&#xff0c;相对比之下&#xff0c;个人认为今年比去年好多了&#xff0c;Android接下来将会走向复苏的春天。 自从Google开始推出AMP项目已经有一年了。除此之外&#xff0c;…

zookeeper的四种类型的节点

znode创建类型(CreateMode),有以下四种&#xff1a; PERSISTENT 持久化节点PERSISTENT_SEQUENTIAL 顺序自动编号持久化节点&#xff0c;这种节点会根据当前已存在的节点数自动加 1EPHEMERAL 临时节点&#xff0c; 客户端session超时这类节点…

膜拜大牛!Android开发最佳实践手册全网独一份,终获offer

前言 首先介绍一下自己&#xff0c;计算机水本&#xff0c;考研与我无缘。之前在帝都某公司算法部实习&#xff0c;公司算大公司吧&#xff0c;然而个人爱好偏开发&#xff0c;大二的时候写个一个app&#xff0c;主要是用各种框架。 学习路径&#xff1a;如何循序渐进、阶段性…

英语每日一句

从今天开始学英语了&#xff1a;还蛮重要的。 It s not what I ask for.这不是我要的那样。 你能写出&#xff0c;你第一时间想到的一句英语吗&#xff1f; 转载于:https://www.cnblogs.com/igouz/archive/2008/11/28/1343014.html

膜拜大牛!HTTPS面试常问全解析,吊打面试官系列!

写在前面 1月初失业&#xff0c;找了近2个多月的工作了&#xff0c;还没找到心仪的工作&#xff0c;感觉心好慌&#xff0c;不知道该怎么办了&#xff1f;找不到工作的时候压力很大&#xff0c;有人说自信会很受打击&#xff0c;还有人说会很绝望&#xff0c;是人生的低谷………

vSphere HA 原理与配置

内容预览&#xff1a; 1. vSphere HA 概述 2. vSphere HA 提供的保护级别 3. vSphere HA运行原理 4. vSphere HA 故障支持场景 5. vSphere HA接入控制策略 6. 如何选择vSphere HA 的接入控制策略 7. 配置vSphere HA的基础条件 8. 虚拟机组件保护 9. 开启vSphere HA功能 1. v…