金三银四背后,一个 Android 程序员从被裁到拿到 Offer 的面试心得

本文作者分享了作为一名Android程序员在经历裁员后,如何通过面试准备,从基础到高级知识的复习,最终成功获得Offer的经验。文章详细介绍了Java基础、数据结构与算法、JVM、线程安全、编程思想和网络协议等方面的面试重点,并提供了相关书籍和资源推荐。同时,作者强调了面试心态和简历撰写的重要性,鼓励读者面对行业挑战保持积极态度,不断提升自我。
摘要由CSDN通过智能技术生成

回顾一下自己这段时间的经历,九月份的时候,公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到十二月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到hr面,后面我也顺利地拿到了offer,我给大家分享下我的求职体会,希望能给大家一些参考。

一般Android面试分为两部分:Java部分和Android部分,下面说一下自己面试过程遇到的一些具体题目和一些相关知识点。

一 JAVA相关

1)JAVA基础

  • java基本数据类型有哪些,int, long占几个字节
  • == 和 equals有什么区别
  • hashcode 和 equals作用
  • new String创建了几个对象
  • 位运算符的一些计算
  • java的拆装箱
  • compareable 和 compartor的区别 下面列一两个遇到的题吧

它的打印结果是什么。 类似这种的题很多,考察的都是基础知识的牢固性。所以需要自己多巩固基础。

2)数据结构和算法

常见的数据结构就是:数组,栈,队列,集合,映射,链表,堆,二分搜索树,红黑树。当然还有其他的一些,比如AVL平衡树等一些数据结构。

我们要做的就是了解它们的实现原理和各自的优缺点。

数据结构部分面试遇到最多的就是:

  • ArrayList和LinkedList的区别,优缺点
  • hashmap实现,扩容是怎么做的,怎么处理hash冲突,hashcode算法等
  • 链表需要知道。LinkedHashMap一般再问LRU的时候会问到
  • 二分搜索树的特性和原理。前中后序遍历写出其中一种,当问到二分搜索树的缺点的时候,你需要提出基于二分搜索树的红黑树,说出他的特性。
  • 堆的实现,最大堆,最小堆,优先队列原理。

算法

算法其实就是我们平时常见的一些排序:选择排序,插入排序,冒泡排序,希尔排序,归并排序,快速排序。以及和数据结构相关联的解决部分问题的一些计算方法。

算法面试遇到的一些题:

  • 手写快速排序,插入排序,冒泡排序
  • 翻转一个数字
  • 翻转一个链表
  • O(n)复杂度找出数组中和是9的两个数的索引
  • 写出二分搜索树前中后序遍历中的其中一个
  • 实现一个队列,并能记录队列中最大的数。

算法这一块是需要练习的推荐去Leetcode上面刷刷题,开拓一下思维。算法也并不一定要求你能写出来,主要考察你的思路,

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值