首页 > 其他分享 >过来Android码农提醒,不要有面试就去,可能会白跑一趟

过来Android码农提醒,不要有面试就去,可能会白跑一趟

时间:2023-09-23 18:34:57浏览次数:37  
标签:Java 面试 Kotlin 白跑一趟 如何 谈谈 线程 Android 码农

前言

亲身经历!!面试失败总结(它失败,我也不想要的那种)

正值毕业季,毕业生开始走向求职之路,大量求职者随之而来。再加上现在正值金九银十招聘的火热阶段。

找工作的都知道,工作成功的最后一步是面试,所以很多求职者都选择有面试就去,这是不可取的。

就拿本人最近的面试来说,通勤一个小时,明明之前就已经问清楚该岗位的职责,然后也再三跟他们强调技术上可能和他们岗位需求不一样的地方,但是还是被发了面试邀请,本着诚意你我他的原则,也就去了。

实在没想到的是,也不是第一次出来找工作,居然忘记了一个重要的问题,就是面试形式,没想到的是还有笔试环节。

一个有几年工作经验的程序员再一次被需要回到Android的布局有哪些这种问题的时候,我就知道与该岗位无缘了,后面的面试题直接放弃。

结果自然而然连面试都没过。

所以面试之前一定要问清楚最基本的几个问题,网上找了一些,也自己总结了一些,有需要可以看下。

  1. 面试的具体流程和时间安排是怎样的?(笔试一个小时)直接用掉一个上午
  2. 公司项目如今的情况(开发人员需要注意,是新开还是二次开发,会涉及到技术的问题)
  3. 面试前一定要再三确认自己的技术栈符不符合岗位需求,不然就是冲绩效
  4. 上班的时间,虽然是面试,但是要提前了解下考勤情况,有些8点就上班的,不能接受就不要去面试
  5. 工资组成,是否有五险一金,这很重要,还有薪资构成,有绩效什么的,要了解底薪
  6. 公司的办公氛围如何(可以选问,如果看重的话,拿这一次的面试来说,在他们办公的地方做题填资料大概有一个半小时,整个办公室没有人说话,只有敲键盘的声音,这很难评)
  7. 办公地点,这个应该说是属于要了解清楚公司是干什么的,有些公司直接在住宅区办公,这种就不要去了
  8. 企业文化,现在好像不太喜欢那种团建什么的,有些企业是会每个星期都会有团体活动的
  9. 加班文化,这个从另一个角度来说就是项目重不重的问题,有没有加班费(反正开发是经常加班的)

面试前的准备

1.背题:看一看最近的面经文,了解现在公司都在面什么类型的题,准备一些常见题,开背吧!如果一些基础的 js 都不会那问题就有点小大了。

2.算法:做一些算法题,leetcode 上面的一二三星就够了,前端算法很简单,基本都是初中数学的难度吧。

3.项目:项目回顾,把你做的项目从技术架构到源码都要做到足够了解,至少面试的时候不要被面试官问住了。并且要体现出你在工作中的作用,体现出自驱性(大公司都很看重自驱性)

4.亮点:准备亮点,回答问题的时候不用全部回答上来,但是在面试的过程中一定要有亮点(不然你就会得到反馈,面试官说你还行,但是没有过~) 我一般会准备几个点,每个点都保证可以睡上半小时。另外一定要了解得很深入,并且能够用自己的话流畅的表达出来!!(我准备的几点,性能优化、工程化、缓存、http)

5.内推:最好找人内推,成功率会提高一些

6.练手:先找几家不太想去的公司(规模差不多)练练手,如果第一次面试就去心仪的公司面试,淘汰率会非常高。

7.心态:心态很重要,面试不过很正常,不证明你不优秀,只是不适合,总结面试经验,为下一次做准备。

8.答题:怎么把自己会的问题说好,这个很关键

刷题是最重要的,今天为大家分享的就是当前互联网企业使用频率最高的面试题库,经过精心整理后,所有问题都已更新出详细的答案解析,以便于大家阅读学习。

有需要的小伙伴,可以点击下方课程链接详细了解!!!

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

此份面试题总共分为三十二个模块,分别是:「Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Binder、Handler、AMS、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES」,如下图所示:

过来Android码农提醒,不要有面试就去,可能会白跑一趟_Android

面试题展示

Java方面

Java基础部分

  • 抽象类与接口的区别?
  • 分别讲讲 final,static,synchronized
  • 请简述一下String、StringBuffer和
  • “equals”与“==”、“hashCode”的区别和使用场景?
  • Java 中深拷贝与浅拷贝的区别?
  • 谈谈Error和Exception的区别?
  • 什么是反射机制?反射机制的应用场景有哪些?
  • 谈谈如何重写equals()方法?为什么还要重写hashCode()?
  • 谈谈你对Java泛型中类型擦除的理解,并说说其局限性? -String为什么要设计成不可变的?
  • 说说你对Java注解的理解?

Java集合

  • 谈谈List,Set,Map的区别?
  • 谈谈ArrayList和LinkedList的区别?
  • 请说一下HashMap与HashTable的区别
  • 谈一谈ArrayList的扩容机制?
  • HashMap 的实现原理?
  • 请简述 LinkedHashMap 的工作原理和使用方式?
  • 谈谈对于ConcurrentHashMap的理解?

Java多线程

  • Java 中使用多线程的方式有哪些?
  • 说一下线程的几种状态?
  • 如何实现多线程中的同步?
  • 谈谈线程死锁,如何有效的避免线程死锁?
  • 谈谈线程阻塞的原因?
  • 请谈谈 Thread 中 run() 与 start() 的区别?
  • synchronized和volatile关键字的区别?
  • 如何保证线程安全?
  • 谈谈ThreadLocal用法和原理?
  • java线程中notify 和 notifyAll有什么区别?
  • 什么是线程池?如何创建一个线程池?
  • 谈一谈java线程常见的几种锁?
  • 谈一谈线程sleep()和wait()的区别?

Java虚拟机

  • 谈一谈JAVA垃圾回收机制?
  • 回答一下什么是强、软、弱、虚引用以及它们之间的区别?
  • 简述JVM中类的加载机制与加载过程?
  • JVM、Dalvik、ART三者的原理和区别?
  • 请谈谈Java的内存回收机制?
  • JMM是什么?它存在哪些问题?该如何解决?

过来Android码农提醒,不要有面试就去,可能会白跑一趟_Android_02

Android方面

四大组件

  • Activity 与 Fragment 之间常见的几种通信方式?
  • LaunchMode 的应用场景?
  • 对于 Context,你了解多少?
  • IntentFilter是什么?有哪些使用场景?
  • 谈一谈startService和bindService的区别,生命周期以及使用场景?
  • Service如何进行保活?
  • 简单介绍下ContentProvider是如何实现数据共享的?
  • 说下切换横竖屏时Activity的生命周期?
  • Intent传输数据的大小有限制吗?如何解决?

Android 异步任务和消息机制

  • HandlerThread 的使用场景和用法?
  • IntentService 的应用场景和使用姿势?
  • AsyncTask的优点和缺点?
  • 谈谈你对 Activity.runOnUiThread 的理解?
  • 子线程能否更新UI?为什么?
  • 谈谈 Handler 机制和原理?
  • 为什么在子线程中创建Handler会抛异常?
  • Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么?

数据结构

  • 什么是冒泡排序?如何优化?
  • 请用 Java 实现一个简单的单链表?
  • 如何反转一个单链表?
  • 谈谈你对时间复杂度和空间复杂度的理解?
  • 谈一谈如何判断一个链表成环?
  • 什么是红黑树?为什么要用红黑树?
  • 什么是快速排序?如何优化?
  • 说说循环队列?
  • 如何判断单链表交叉

过来Android码农提醒,不要有面试就去,可能会白跑一趟_面试技巧_03

Android Framework

Binder

  • Binder有什么优势
  • Binder是如何做到一次拷贝的
  • MMAP的内存映射原理了解吗
  • Binder机制是如何跨进程的
  • 说说四大组件的通信机制
  • 为什么Intent不能传递大数据

Handler

  • HandlerThread是什么?为什么它会存在?
  • 简述下 Handler 机制的总体原理?
  • Looper 存在哪?如何可以保证线程独有?
  • 如何理解 ThreadLocal 的作用?
  • 主线程 Main Looper 和一般 Looper 的异同?
  • Handler 或者说 Looper 如何切换线程?
  • Looper 的 loop() 死循环为什么不卡死?
  • Looper 的等待是如何能够准确唤醒的?
  • Message 如何获取?为什么这么设计?

AMS

  • ActivityManagerService是什么?什么时候初始化的?有什么作用?
  • ActivityThread是什么?ApplicationThread是什么?他们的区别
  • Instrumentation是什么?和ActivityThread是什么关系?
  • ActivityManagerService和zygote进程通信是如何实现的。
  • ActivityRecord、TaskRecord、ActivityStack,Activi
  • ActivityManager、ActivityManagerService、Activit
  • 手写实现简化版AMS

过来Android码农提醒,不要有面试就去,可能会白跑一趟_程序员面试_04

算法方面

  • 如何运⽤⼆分查找算法
  • 如何⾼效解决接⾬⽔问题
  • ⼆分查找⾼效判定⼦序列
  • 如何去除有序数组的重复元素
  • 如何寻找最⻓回⽂⼦串
  • 如何⾼效进⾏模幂运算
  • 如何运用贪心思想广域玩跳跃游戏
  • 如何⾼效判断回⽂链表
  • 如何在无线序列中随机抽取元素
  • 如何判定括号合法性
  • 如何寻找缺失和重复的元素
  • 请说一说HashMap,SparseArrary原理,SparseArrary相比HashMap的优点、ConcurrentHashMap如何实现线程安全?
  • 请说一说HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥?
  • 请说一说hashmap put()底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置) ?

过来Android码农提醒,不要有面试就去,可能会白跑一趟_Android_05

Kotlin方面

  • 请简述一下什么是 Kotlin?它有哪些特性?
  • Kotlin中实现单例的几种常见方式?
  • 在Kotlin中,什么是内联函数?有什么作用?
  • 请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?
  • 说说Kotlin中的Any与Java中的Object 有何异同?
  • Kotlin中的数据类型有隐式转换吗?为什么?
  • Kotlin中集合遍历有哪几种方式
  • Kotlin内置标准函数let的原理是什么?
  • Kotlin语言的run高阶函数的原理是什么?

音视频方面

  • 怎么做到直播秒开优化?
  • 数字图像滤波有哪些方法?
  • 图像可以提取的特征有哪些?
  • FFMPEG:图片如何合成视频
  • 常见的音视频格式有哪些?
  • 请叙述MPEG视频基本码流结构?
  • 说一说ffffmpeg的数据结构?
  • 如何降低延迟?如何保证流畅性?如何解决卡顿?解决网络抖动?
  • 平时说的软解和硬解,具体是什么?

过来Android码农提醒,不要有面试就去,可能会白跑一趟_程序员面试_06

Flutter方面

  • Dart 语言的特性?
  • Dart 多任务如何并行的?
  • dart是值传递还是引用传递?
  • Flutter 特性有哪些?
  • Widget 和 element 和 RenderObject 之间的关系?
  • 使用mixins的条件是什么?
  • Stream 两种订阅模式?
  • Flutter中的Widget、State、Context 的核心概念?是为了解决什么问题?
  • 说一下Hot Reload,Hot Restart,热更新三者的区别和原理
  • Flutter 如何与 Android iOS 通信?
  • 说一下什么是状态管理,为什么需要它?

过来Android码农提醒,不要有面试就去,可能会白跑一趟_Java_07

最后

有需要的小伙伴,可以点击下方课程链接详细了解!!!

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

标签:Java,面试,Kotlin,白跑一趟,如何,谈谈,线程,Android,码农
From: https://blog.51cto.com/u_16163442/7580095

相关文章

  • Android程序员35岁的职业出路:寻找新的舞台
    前言转眼间已经到了奔四的年纪,岁月匆匆,时光荏苒,转眼间已经在Android行业干了8年,当前项目组也陆陆续续进入了不少00后,80后已经不见踪影,90后正在逐渐淡出,而我,也要开始迎接程序员35岁这个坎,心里还是想要继续做技术这条路,但是也给自己思索了一些转行之路,在此跟大家交流交流。为什么35岁......
  • Android DataBinding——导入以及生成的绑定类
    导入DataBinding库提供了导入、变量和include等功能。导入可以方便在引用布局文件中引用类;变量允许您描述可在绑定表达式中使用的属性;Includes允许您在整个应用程序中重用复杂的布局。ImportsImports允许您轻松地在布局文件中的引用类,就像在代码中一样。data元素内部可以使用零个或......
  • Android Failed to resolve: com.github.PhilJay:MPAndroidChart:v3.1.0
    2022.3.1版本修改settings.gradledependencyResolutionManagement{repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories{maven{url"https://jitpack.io"}//Addthisrepositoryjcenter()//orotherrep......
  • 熬过月余终见offer,一份Android面经
    前言最近我一直在牛客刷帖子看到好多对于现在IT环境的负面消息,自己也是找了一个多月Offer一个都没有,又看到这些感觉面试的勇气又少了…这种状态我根本就不知道任何转变,真的是投简历都不想投!就在这样的状态下,朋友说他那边内推有消息了,说待会HR会和我联系。怎么说了,并没有太多惊喜,因......
  • 干货:《Android 性能优化实战篇》带你杀穿金九银十
    近年来,由于疫情和互联网行业寒冬的影响,Android开发领域的竞争变得更加激烈。各大公司的业务线收缩和裁员成为了常规操作,导致职场环境日益严峻。作为一个螺丝钉,我们想要卷出重围,性能优化必须了解一下!本文将梳理Android性能优化的知识模块,帮助初学者了解应该从哪些方面入手学习性能优......
  • 金九银十Android面试该怎么有效的回答,看完这篇文章就懂了
    今年的严寒使得许多职场人的求职时间变长,以往火热的金三银四不再,金九银十九承载着广大程序员的希望。但是在这个特殊情况下,竞争压力也会增大,各大企业对于求职者的要求也随之增高。很多小伙伴都面临着这样的情况:千辛万苦拿到面试机会,却因各种原因翻车。“在面试的时候不能将自己的真......
  • Android开发笔记[4]-串口控制esp32及使用摄像头
    摘要无需root权限,Android使用串口与esp32通信控制小灯开关;开启Android摄像头预览.平台信息AndroidStudio:ElectricEel|2022.1.1Patch2Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-7.5-bin.zipjvmTarget='1.8'minSdk21targetSdk......
  • android 实现左右滑动和底部菜单切换Demo
    packagecom.tools.ttt;importstaticandroid.content.ContentValues.TAG;importandroid.content.pm.ActivityInfo;importandroid.content.res.Configuration;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.MenuItem;importcom.googl......
  • Android面试必问的6个问题,跟面试官斗智斗勇
    前言在职场中,面试是筛选和评估候选人的重要环节。那么对于各位程序员来讲,在面试的时候,面对HR的“套路”又该如何应对呢?以下是在职场中面试必问的6个问题,以及应对思路。一、请做一下简单的自我介绍面试时,基本上所有求职者听到的第一个问题都是这个,而一般人回答往往也只说姓名、年龄......
  • 为什么Android程序员越来越难找到工作了?
    Android开发现状如何看待一个行业行不行?有两点:这个行业有没有死亡?有没有很多公司提供这个行业的岗位?拿塞班来举例,塞班完全死亡了,因为塞班完全被Android和iOS给替代了,并且没有公司来提供塞班的开发岗位对于Android,目前Android正如日中天,其在移动设备上的全球占有率不用我多说了吧,各......