热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

巩固知识体系!一年后斩获腾讯T3,内含福利

开头面试时间:2021.2.91~3面、2021.2.134~6面、2021.2.26HR面面试部门岗位:商业化-高级Android开发工程师面试感想&

开头


面试时间:2021.2.9 1~3面、2021.2.13 4~6面、2021.2.26 HR面
面试部门 + 岗位:商业化 - 高级 Android 开发工程师
面试感想:整体面得比较累,基础面、交叉面、Boss面,前前后后对接了 6 个面试官 (离当初给我说的 3面+HR面 貌似差得有点远¬_¬) 。算法到 Boss 面都还在写,不过庆幸的是面试官没有为难我 (老实交代了算法没怎么准备,哎…),算法都不太难。整体项目比基础问得多。
面试建议:算法、基础是敲门砖,项目是试金石,良好的面试形象是加分项。
简历上列举的项目多想想,为什么做这个项目?做这个项目的目标是什么?我的方案是什么?相对其他方案我的方案优势是什么?项目的收益是什么?项目的架构图是否能画出来?项目中使用的主要框架原理是否前前后后都清楚?(我大概就是项目拯救了自己,基础准备有点仓促T^T)。
如果是现场或视频面试,良好的面试形象还是比较有必要的。在部门 TL 面的时候,就提到我相对很多其他面试者比较好的一点就是,整个人的形象状态比较好,没有让人觉得很疲惫。



面试题目


1.一个创业公司

(发现问下来几乎全是java基础知识,几乎没有android知识)

先是笔试:

  • 生产者消费者模型用线程方式实现、按元素大小拼接两个链表
  • 同步和异步的区别
  • 阻塞和非阻塞的区别
  • 泛型擦除
  • 集合中线程安全的类和非线程安全的类(SparseArray和ListArray的区别,SparseArray怎么存数据、取数据)
  • Gradle插件怎么做
  • https怎么实现防抓包
  • 封装第三方库等等;

2.一个五六百人的民企


  • 线程池
  • 消息推送(自己做一个消息推送怎么实现)
  • Exoplayer相对于系统的MediaPlayer有什么优点
  • h5面面加载缓存,和原生怎么传递数据
  • MQTT和XMPP有什么区别,为什么会有那么多协议
  • https的原理,中间人攻击
  • 怎么中断一个线程

3.大厂

(多家公司面试题汇总,一些我认为的简单或是常规问题就不罗列了,全是我自己之前没怎么关注的问题,所以有时第三方库烂大街的原码分析要看,但有些关键点,其实很多博文可能都没分析到,需要自己多想想,自己主动去思考)

  • AsyncTask原理,在子线程中定义AsyncTask实例可不可以,为什么不可以呢
  • OkHttp原理(说了那些拦截器)怎么实现多路复用的(这个主要从https实现多路复用的原理上谈,用了二进制分帧,那okHttp其实就是按分帧来读取,具体可以自己看看相关博客)
  • Handler的机制,android内部是怎么实现发送延时消息,(一开始以为是用个类似于Timer之类的定时任务,后来才知道是用系统开机时间+延时时间得到一个时间T1,当手机当前时间到了T1的话,就会把消息发送出去。但有可能UI线程被阻塞了,所以到了T1时间,也不能确保100%这个Message被发出去的)
  • 性能优化减少apk体积,怎么减小so包的体积呢
  • 怎么给一个应用加固
  • ANR的原理,怎么从trace.log中找到ANR的原因及出现的地方(找到main thread),如果只是在主线程中Thread.sleep(10S),会不会出现ANR
  • JNI层的Crash怎么定位(通过ndk中相应的工具addr2line ndk-stack等可以定位到行)
  • 广播为什么能作为四大组件,有什么特殊之处(经面试官提醒,能实现一对多通信),本地广播的实现原理
  • Android中设计Fragment的好处,那有了Activity为什么还要设计出Fragment来呢(解耦)
  • ViewStub为什么能实现延迟加载(它没有进行测量和绘制,只在调flate或是setVisibility时才会加载进布局)
  • Binder怎么实现进程间通信的,怎么注册服务的。。。。

。。。。还有很多题,就不一一举例了,只能说给自己一个教训,很多东西看深点就不会多问一点就不知道了。

4.创业公司想招团队负责人


  • 做过哪些性能优化,Leakcanery的原理,怎么检测内存泄漏的
  • android的新技术你用了哪些
  • 你认为你应用中做得比较nb的地方有哪些,你认为你项目中解决了哪些技术难点等等。。。

5.我认为反常规的面试

1)直接拿着我做的公司某个应用开始一通批判,觉得我自己对自己做的应用都不负责任,还有什么理由来应聘你,问你认为你最善长做的是什么,比如UI、功能、性能优化等,你要说UI吧,你这UI做得怎么怎么的,你要说性能吧,应用性能也确实一般般,让我觉得我没有啥善长的。回来老公说我们公司害了我,因为我现在的公司做的应用要求太低了,能用就行。但是别人对我要求松,我得对自己严要求、高标准〜〜〜〜

2)上来弄个类似于脑筋急转弯的题

Set stack &#61; new HashSet<>();
for(Short i &#61; 0; i <100; i&#43;&#43;) {stack.add(i);stack.remove(i-1);
}
System.out.println(stack.size());());

我以为会抛异常&#xff0c;面试官问要是不抛&#xff0c;又会输出什么&#xff0c;我想着输出1呢。后来自己下来试验了一把&#xff0c;发现输出100&#xff0c;让我百思不得其解。后来百度搜索&#xff0c;经别人提点才知道因为i-1这里用到了隐式类型转换i-1会转成int型的减法&#xff0c;所以在remove时&#xff0c;根本没有那个对象&#xff0c;所以无论怎么调stack.remove(i-1)都不会有元素移出&#xff0c;我不得不感叹面试官设计的陷阱。后面又问了两个矩阵传送门问题&#xff0c;应该有取巧的办法&#xff0c;可能我脑子真是太笨了&#xff0c;最终也没有想出来。

面试感言

自己的总体感受是&#xff1a;现在市场大环境不好&#xff0c;各大互联网招人的部门都是些边缘部门或是新设部门&#xff0c;有些甚至是光杆司令或是完全全新的部门&#xff0c;从0个人开始招&#xff0c;先招团队负责人等。现在市场是供过于求&#xff0c;有不少被公司裁掉的员工&#xff0c;在这个节点找工作&#xff0c;导致楼主去面试&#xff0c;面试官一上来就问你现在是离职态还是在职。如果自己不够优秀&#xff0c;面试官有很多选择&#xff0c;是不愿意付高价来招聘你的&#xff0c;按道理什么时候都这样吧&#xff0c;只是现在有点过了。市场供过于求&#xff0c;应聘公司有得挑&#xff0c;不够优秀&#xff0c;可有可无的人&#xff0c;一般会倾向于压低工资。

通过这轮面试&#xff0c;让我知道了自己的差距&#xff0c;自己的研究的东西太浅薄了&#xff0c;而且没有自己的优势或者说专长。而且自己作为一个女程序员&#xff0c;发现HR面时很吃亏&#xff0c;HR好像提前给你考虑了各种因素&#xff0c;结婚了是吧&#xff0c;有没有小孩&#xff0c;有小孩你得照顾小孩吧&#xff0c;我们这里很忙的。即使你再想证明自己&#xff0c;工作方面不会受影响&#xff0c;但他们还是不想冒这个险&#xff0c;就像我当年校招找工作&#xff0c;去自己老家某银行面试&#xff0c;省行不要女生&#xff0c;可以去自己家里的分行。因为你要结婚&#xff0c;要生孩子&#xff0c;要休产假&#xff0c;要照顾家庭。我什么都没说呢&#xff0c;就把我给否完了&#xff0c;给我先下个定义&#xff0c;难不成想让女程序员都不要结婚不生娃么&#xff0c;你也有媳妇啊。

总的来说&#xff0c;自己劣势挺明显的&#xff0c;没有在某方面有很深研究&#xff0c;没有什么优势&#xff0c;知识面的广度和深度都不够&#xff0c;这方面要加强&#xff0c;同时作为一个有娃的女程序员&#xff0c;已经被别人否掉了50%了&#xff0c;所以必须从技术方面加强吧。

工作我还会继续找&#xff0c;人都是追求上进的&#xff0c;有好机会还是会考虑挪窝的。我不想在我30岁就干一份可以养老的工作&#xff0c;技术我也会努力去提升&#xff0c;愿我和大家都会有一个更好的未来。

最后

本文在开源项目腾讯文档已收录&#xff0c;里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等&#xff0c;资源持续更新中…

目前已经更新的部分资料&#xff0c;需要的自取&#xff1a;



-1616938570373)]
[外链图片转存中…(img-vuNAvaLT-1616938570375)]
[外链图片转存中…(img-3IbycGmP-1616938570377)]


推荐阅读
  • 面试题总结_2019年全网最热门的123个Java并发面试题总结
    面试题总结_2019年全网最热门的123个Java并发面试题总结 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 本文介绍了如何使用 Gesture Detector 和 overridePendingTransition 方法来实现滑动界面和过渡动画。 ... [详细]
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • 本文将通过一个简单的示例代码,介绍如何在 Java 中获取对象中值为 null 的字段名称。 ... [详细]
  • Redis 是一个高性能的开源键值存储系统,支持多种数据结构。本文将详细介绍 Redis 中的六种底层数据结构及其在对象系统中的应用,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象。通过12张图解,帮助读者全面理解 Redis 的数据结构和对象系统。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 回顾过去十多年的开发经历,我在技术能力、培训机会、国际视野以及大型企业的工作经验方面都有了显著的提升。特别是从最初的月薪8k到如今的38k,这一过程中,我深刻体会到系统化学习对提升架构能力的重要性。最初踏入职场时,面对众多未知,我主要依赖团队领导的指导,专注于编写代码、管理数据库和进行测试。随着经验的积累和技术的不断进步,我逐渐意识到,只有通过系统化的学习和实践,才能在技术领域取得更大的突破。 ... [详细]
  • 开发笔记:深度探索!Android之OkHttp网络架构源码解析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度探索!Android之OkHttp网络架构源码解析相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • Retrofit+Rxjava+OkHttp
    为什么80%的码农都做不了架构师?参考:http:duanyytop.github.io20160806Retrofit%E7%94%A8%E6% ... [详细]
  • 欢迎Follow我的GitHub,关注我的CSDN.应用本质上是一个apk包,即一个zip包,可以直接显示其中的内容.通过apk文件,我们可以获知apk的版本信息,so库和第三方 ... [详细]
author-avatar
ruanbaoshuijingkou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有