美文网首页
夸克Android一面凉经(2024)

夸克Android一面凉经(2024)

作者: 李景三 | 来源:发表于2024-07-27 14:19 被阅读0次

夸克Android一面凉经(2024)

quark.jpg

笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《夸克Android一面凉经(2024)》。

面试职位: 智能信息-客户端开发工程师-夸克小说

技术一面

  • 面试形式:视频面试
  • 面试时长: 60min(提问55min + 反问5min)
  • 代码考核: 无
  • 岗位地点: 广州

面试问题(55min)

  • 自我介绍
  • RN页面打开速度优化
    • 为什么工程中使用ReactNative, 而不是选择其他跨端的方案?
    • 看中了跨端的能力还是只是为了免发版
    • 优化方案是否同步到iOS端?
    • RN的缺点?
    • RN底层还是用原生UI控件,那它慢是慢在哪里?
    • 怎么优化?
    • 所有的优化效果最有效果是什么措施?
    • 内置Bundle包对包体积的影响?
    • 除了Bundle体积, RN本身的体积是多大?
    • 你在用RN过程中有没有踩过什么坑?
    • RN本身是用原生的View去渲染的, 跨端一致性会不会有什么问题?比如在Android调好了, 在iOS上看上去样子不太对。
    • 有一些东西改完是两端都要测, 还是只测一端?
    • 这个是怎么接入到工程中使用?单独RN仓库打包进apk, 还是源码依赖到Android和iOS的主工程中?
    • 在真正上线后动态话能力用得多不多?
    • 动态能力的跨版本兼容性如何?之前发的一些App的旧版本, 后面升级了很多版本。会不会有一些重新打包出来的产物, 下发下去不兼容, 导致页面渲染会出问题?
    • 会升级RN的版本吗?
    • 切引擎是会有兼容的问题对吧? 不切引擎之前是不是也有兼容问题?
    • 下发的时候, 是针对不同的版本下发, 还是针对所有的版本下发?
    • 是否可以针对不用app版本下发不同的RNBundle版本?
    • 你们App的版本覆盖速度有多快?
    • 为什么选择针对所有App版本下发相同的RNBundle的方案?
  • 播放优化
    • 跟播放性能相关的?
    • 那你主要在里面做的是什么事情?
    • 为什么进程通信数据这么大, 超过了Binder通信上限,我理解应该是一个非常精简的数据集合?
    • 所以说是有一些极端情况。刚说到的共享内存, 共享fd, 这个大概是怎么样做到的?
    • 先把这些内存写到文件里面传过去, 还是写到什么地方传过去?
    • 存在内存的数据怎么让它可以生成一个fd?我们new了一个对象, 我们怎么用它变成一个fd可以引用它的东西, 然后传给另外一个进程?
    • 待传输的数据据是存在DVM的虚拟机里面, heap的内存嘛, 那它怎么又能调用到另外一个进程呢?它内存之间本来就是内存隔绝的。
  • Android基础
    • HandlerThread
      • HandlerThread用过吗?
      • 它和普通的new Thread()有什么区别?什么时候用HandlerThread, 什么时候用new Thread就可以了?
    • 线程池
      • 平常写异步操作的话, 是用new Thread()还是线程池去做?
      • 创建线程池的参数作用?
      • 线程池的参数是怎么配合起来使用的?他的流程是怎么样?
      • 我们要设计一个IO的线程池, 它的参数可以怎么设计?多个线程并发扫描文件。扫描文件, 统计行号。开一个线程池, 并发去读, 把数据加起来。
      • 参数设置上怎么考虑?最好给出个数值。比如设备CPU是8核。
      • 队列的容量大小怎么设计?有界or无界?
      • 文件的数量级非常大, 上层的业务可以控制它同时的并发量。
      • 如果是一个有界队列会怎么样?它一定会进拒绝策略吗?还是会怎么样?
      • 最大线程数的作用是什么?跟workqueue是什么关系?
    • equals和hashcode
      • 写JavaBean的时候, 什么时候需要重写equals和hashcode方法
      • 只是作为hMap中的value而不是key, 也需要复写吗?
      • hashCode默认是用什么生成的?
    • 多线程方面
      • 多线程并发, 数据安全要加锁, 常见的加锁方式有哪些?
      • synchronized修饰同步块和修饰普通方法有什么区别?
    • 网络
      • HTTP实现一个文件的分片下载, 客户端怎么跟服务端交互?大文件分成多段去下载, 客户端和服务端要发一些什么协议?

反问问题(5min)

夸克小说可以展开介绍一下吗?

夸克小说目前是在夸克app里面比较重要的业务。目前它在夸克里面是底部工具栏里有一个Tab, 第二个Tab就是小说。 小说里面有两种版权来源。一种是正版的, 自己购买的版权, 这种是跟书旗共用同一套版权。整个阿里里面有一个叫书旗小说。 另外一些没有版权的。就是普通网页,我们正常搜书会搜出来一些盗版网站, 我们会对这些盗版网站的页面做了一些去广告, 转码, 提升一些用户的阅读体验。

我了解到夸克是一个浏览器, 对吧。你说的小说的功能相当于是这个浏览器功能的一部分?它也是native实现的?

是浏览器。是一部分。是native实现的。

我应聘的这个岗位, 你们对候选有什么要求吗?需要加强哪方面的技能?比方在用什么新的技术, 或者跨端方案等等?

小说业务还是用Native原生开发比较多。有一些书架页面是用flutter写的。flutter页面后续会有其他同学去做, 不一定由这个岗位的候选人来做。 但native一定要会。我们还有一个加载本地小说的渲染引擎, 我们平常丢进去的一些epub,mobi,txt文件, 这些是要一个小说的阅读器的, 这个小说的阅读器使我们自研的。这一方面是用c++写的。所以对这块还是有一定的要求。主要还是Android原生的比较多。

除了技术技能这方面, 你们对候选人有软性素质上的要求?比如说资深程度, 职级?

目前职级不太限制。我们只是找到有热情的人, 然后加进来一起做事情。如果是P6进来我们会有P6适合的承担的责任, 他能胜任的任务分派给他。 P7的话也会招, 但是要求的话会更高, 他进来以后要承担的任务就会更P6的同学要求更高。不同层级的都会招, 只是进来以后我们对他的要求会不太一样。

P7是属于一个主力开发, 还不是带人的小组长这样的是吗?

P7是主力开发为多。

面试流程几轮?

共4轮。3轮技术+1轮HR。

总结

  • 这个岗位主要负责的是夸克小说的开发, 技术栈主要是Native, 有一部分flutter, 还有一个自研小说的阅读器(渲染引擎), 阅读器涉及C/C++开发。
  • p6p7都要, 但是p7也是大头兵, 只是要求更高。这也符合预期, 目前各家公司现状皆是如此, 对标p7职级的岗位也都是大头兵, 甚至还有不带人的P8。
  • 从面试问题来看, 项目经历和八股文各占一半。八股文以多线程、线程池、锁相关为主。

相关文章

  • 阿里一面凉经

    介绍一下自己 epoll,poll,io,nio 数据库了解多少,说一说了解的。mysql引擎,底层,sql语句执...

  • 手撕面经 - 精准打击

    校招2篇,实习1篇,会及时做出调整 字节跳动前端一面面经(感觉凉凉) [字节]一面凉经 腾讯暑期实习前端面经

  • 字节跳动一面凉经

    【每日一语】如果这世界上真有奇迹,那只是努力的另一个名字。生命中最难的阶段,不是没有人懂你,而是你不懂你自己。——...

  • 美团一面凉经

    很多人都无从得知自己的天赋,因为找不到相信他们的老师。于是他们深信自己很笨。——《心灵捕手》 我的面试官特别重基础...

  • 字节跳动 一面 凉经

    1.自我介绍 2. 简历中的项目深挖: (1)主要工作,具体落实流程。 (2)我说我负责用例设计,她问用例设计上遇...

  • 税友一面凉经

    1、自我介绍;为什么想离职;业务规模 2、说说jvm垃圾回收(为什么内存碎片会产生 空间浪费) 3、说说缓存 4、...

  • 前端一面又挂了?学习总结经验,别再让面试止步一面!

    前端一面又挂了?为什么考察基础知识的一面总是失败?一起来总结总结吧! 前端一面面经(凉) 字节一面 ① CSS 相...

  • ping多多一面凉经 2021.0819

    ping多多一面凉经 2021.0819 面试职位:内容营销方向资深前端工程师 1.手写一个eventlisten...

  • 滴滴提前批一面凉经

    提前批(7.25)(岗位:数据分析师(反欺诈方向)) 1、逻辑回归和决策树的区别 2、分箱对逻辑回归的影响(等频分...

  • 字节跳动前端一面凉经

    今天下午面试了字节跳动,嗯.....,面完三分钟出结果,被刷了,准备不够充分啊然后作一下总结先: 自我介绍 这一边...

网友评论

      本文标题:夸克Android一面凉经(2024)

      本文链接:https://www.haomeiwen.com/subject/gwfbhjtx.html