首页 > 其他分享 >Android面经:小厂被diss到自闭,“试水”大厂竟收3份offer

Android面经:小厂被diss到自闭,“试水”大厂竟收3份offer

时间:2023-06-30 21:31:54浏览次数:37  
标签:diss 字节 offer 自闭 Handler 线程 腾讯 Android

写在最前面:有时候某人的放弃,将会成就你更好的选择!

刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作,还是真的是像网上所焦虑的那样,Android开发真的是要凉了?这次跳槽经历让我明白,工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己、怀疑人生,一定要自信。

战况(时间排序)

  • 最右二面挂
  • 猿辅导一面挂
  • 伴鱼offer(两轮技术+一轮HR)
  • 顺丰二面挂
  • 百度二面挂
  • 微博一面挂(一面就问意向薪资,面的还行,要多了没有后续了)
  • 老虎证券offer(两轮技术+一轮HR)
  • 滴滴一面挂
  • 快手简历挂
  • 字节offer(三轮技术+一轮HR
  • 美团HR面(三轮技术)
  • 腾讯HR面(三轮技术)

非技术准备方面

离职原因方面

其实大家换工作的原因,无非就是马云所说的两种情况:“钱没给到位,心受委屈了”。对我而言,更倾向于前者,再加上考虑到自身成长方面原因。但是面试在讲离职原因的时候一定不要过于实诚,请尽量往个人发展这个方向上靠拢,切忌一定不要说现任公司的坏话,尤其是跳槽频繁或者像我这种第一份工作不满两年的,一定要想好自己的离职理由,我有几家公司明显技术答的还行,但是因为离职理由挂掉的。

简历投递顺序方面

如果你对自己很有信心的话,可以直接投你的意向公司,如果信心不够强烈建议跟我一样先面几家体量不那么大的公司涨涨经验看看现在外面的行情,顺便通过面试复盘自己的技术短板,然后再投自己中意的公司。

心态准备方面

既然准备了要离职,就不要被任何其他事物影响心态,心态真的很重要。刚开始面试的时候我真的是处处碰壁,面一家挂一家,后来在一家面试过程中被面试官疯狂嘲讽,面完之后怀疑自我,是不是自己真的太菜了找不到工作。后来也幸亏隔天有一家公司给我发了offer,让我明白了不是自己的问题。工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信。

技术准备方面

刚开始面试的时候是准备把面试过的所有家都写详细的题目出来的,后来发现写了面经发在牛客许愿offer的都挂了,也不知道是什么奇怪的玄学,后来就没发过了,不过其实面过来面过去就那些问题,做了下面的归纳总结。

由于文章篇幅有限,大家可以点击下方课程链接,查看更多面试题以及答案解析

https://edu.51cto.com/course/32703.html

Android方面

  • 试从源码角度分析Handler的post和sendMessage方法的区别和应用场景?
  • 谈谈Android的事件分发机制?
  • 谈谈自定义View的流程?
  • 谈谈你对Android性能优化方面的了解?
  • 自定义 Handler 时如何有效地避免内存泄漏问题?
  • 谈谈Android中内存优化的方式?
  • 谈谈你是如何优化App启动过程的?
  • 请回答一下Android进程间的通信方式?
  • 请简要谈谈Android系统的架构组成?
  • 请简述一下 Android 7.0 的新特性?
  • 什么是冒泡排序?如何优化?
  • Activity 与 Fragment 之间常见的几种通信方式?
  • 对于 Context,你了解多少?
  • 谈一谈startService和bindService的区别,生命周期以及使用场景?
  • 简单介绍下ContentProvider是如何实现数据共享的?
  • 说下切换横竖屏时Activity的生命周期?
  • 说说Activity加载的流程?
  • HandlerThread 的使用场景和用法?
  • 谈谈 Handler 机制和原理?

Java相关方面

  • 分别讲讲 final,static,synchronized关键字可以修饰什么,以及修饰后的作用?
  • Java 中深拷贝与浅拷贝的区别?
  • 什么是反射机制?反射机制的应用场景有哪些?
  • 谈谈如何重写equals()方法?为什么还要重写hashCode()?
  • 请说一下HashMap与HashTable的区别
  • 谈一谈ArrayList的扩容机制?
  • 请简述 LinkedHashMap 的工作原理和使用方式?
  • Java 中使用多线程的方式有哪些?说一下线程的几种状态?
  • 谈谈线程死锁,如何有效的避免线程死锁?
  • 什么是线程池?如何创建一个线程池?
  • 谈一谈JAVA垃圾回收机制?
  • JVM中类的加载机制与加载过程?
  • JVM、Dalvik、ART三者的原理和区别?
  • JMM是什么?它存在哪些问题?该如何解决?

Android Framework方面

  • 你了解Android系统启动流程吗?
  • 1.2system_server 为什么要在 Zygote 中启动,而不是由 init 直接启动呢?
  • 1.5 Zygote 为什么不采用 Binder 机制进行 IPC 通信?
  • Binder有什么优势
  • Binder是如何做到一次拷贝的
  • MMAP的内存映射原理了解吗?
  • 说说四大组件的通信机制
  • 简述下 Handler 机制的总体原理?
  • Handler 或者说 Looper 如何切换线程?
  • Handler、Mesage 和 Runnable 的关系如何理解?
  • Handler 为什么可能导致内存泄露?如何避免?
  • Handler在系统当中的应用
  • ActivityManagerService是什么?什么时候初始化的?有什么作用?
  • Instrumentation是什么?和ActivityThread是什么关系?
  • ActivityManagerService和zygote进程通信是如何实现的。

算法(手撸代码)

就算法来说,其实大部分公司(除了字节和腾讯)问的都不是很难,一般都集中在数组和链表上,基本就是剑指offer难度甚至直接就是原题。

  • 移动零——一个数组有0和其他数,不更改原本其他非0数字的顺序,把0都移到数组最末位(猿辅导)
  • 手写栈(伴鱼)
  • 数组中只出现一次的数字——剑指原题(伴鱼)
  • 判断链表是否有环(顺丰,腾讯,美团)
  • 有环链表环的长度(腾讯)
  • 反转链表(腾讯)
  • 一道贪心——题目太长了且没有原题(腾讯)
  • 字符串转数字(百度)
  • 回字形打印数组(老虎证券)
  • 斐波那契数列(美团)
  • 手写DCL单例(字节)
  • 二叉树路径和——从根节点到叶子节点是否有一个路径之和等于给定值(字节)
  • 最短子数组长度——滑动窗口(字节)
  • 手写观察者模式(字节)
  • 两个栈实现队列(字节)
  • 获取一个VIewGroup的最深深度(美团)

项目

在项目上,一定要能做到融汇贯通,不仅从技术上也要从业务上。比如你做过的一个需求,为什么要做这个需求,这个需求的背景是什么,这个需求上线后带来了什么影响或者有哪些收益,虽然你是个技术,但是你能够知道这写得话肯定是更好的。

其次在技术细节上,要能知道为什么要这样技术选项,这么做的好处是什么,以及能够横向纵向拓展。

除此之外,良好的表达能力也是非常重要的一环,如果不觉得麻烦的话可以在复盘项目的时候把自己做了什么,为什么这么做打个草稿,自己看自己的逻辑以及表达是否通顺,以此来做调整。

最后

offer的话拿到了字节、腾讯还有美团的,我这边最后还是选择了腾讯的offer,已经入职入职一周了,同事很nice,leader是一位非常乐于助人的技术大佬,感觉自己这辈子就跟腾讯磕着了。

标签:diss,字节,offer,自闭,Handler,线程,腾讯,Android
From: https://blog.51cto.com/u_16163442/6594486

相关文章

  • redisson对单个json的单个字段进行数值操作 - lua脚本
    @OverridepublicStringupdateJson(Stringkey,Stringfield,longnum,longlimit){Stringscript="localt=redis.call('get',KEYS[1]);\n"+"localj;\n"+"iftthen......
  • 【剑指Offer】27、字符串的排列
    【剑指Offer】27、字符串的排列题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解......
  • 【剑指Offer】2、替换空格
    【剑指Offer】2、替换空格题目描述:  请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:  对于这个题目,我们首先想到原来的一个空格替换为三个字符,字符串长度会增加,因此,存在以下两种......
  • 剑指 Offer 58 - I. 翻转单词顺序
    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"Iamastudent.",则输出"student.aamI"。示例1:输入:"theskyisblue"输出: "blueisskythe"示例2:输入:" helloworld! "输出: "worl......
  • 基于SpringBoot整合Redisson的延迟队列
    一、需求:     1.订单下单超过30分钟以后,如果还未支付,则自动转为取消支付状态 2.订单收货超过七天以后,如果还未评价,则自动转为好评 3.等类似需求二、实现步骤:    1. 引入redisson依赖<dependency><groupId>org.rediss......
  • 剑指 Offer 27. 二叉树的镜像
    请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4  /  2  7 /\ /1 36 9镜像输出:4  /  7  2 /\ /9 63  1示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]来源:力扣(LeetCode)链接:https://lee......
  • 【剑指Offer】51、构建乘积数组
    【剑指Offer】51、构建乘积数组题目描述:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1]。  其中B中的元素B[i]=A[0]*A[1]...*A[i-1]*A[i+1]...*A[n-1]。不能使用除法。解题思路:首先,仔细理解题意,B[i]是A数组所有元素的乘积,但是没有A[i]项,如果没有不能使......
  • 剑指 Offer 09. 用两个栈实现队列
     ====思路:两个stack,stack1和stack2,如果stack2每只,stack1都没值返回-1,,如果stack1有值就把stack1的值都推到stack2中,返回stack2pop的值 ......
  • 【剑指Offer】40、数组中只出现一次的数字
    【剑指Offer】40、数组中只出现一次的数字题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。解题思路:这道题目相对比较难,一般情况下,我们首先可以想到的是顺序扫描数组,但其时间复杂......
  • GPT-4零失误通关大厂模拟面试,offer拿到手软?与AGI首次接触
    “GPT-4可被视作AGI(通用人工智能)的早期版本。”如若从他人口中说出,或许是无稽之谈——但是由微软雷蒙德研究院机器学习理论组负责人万引大神SébastienBubeck与2023新视野数学奖得主RonenEldan、2023新晋斯隆研究奖得主李远志、2020斯隆研究奖得主YinTatLee等科学家共同撰写的......