前言
在职场中,面试是筛选和评估候选人的重要环节。那么对于各位程序员来讲,在面试的时候,面对HR的“套路”又该如何应对呢?以下是在职场中面试必问的6个问题,以及应对思路。
一、请做一下简单的自我介绍
面试时,基本上所有求职者听到的第一个问题都是这个,而一般人回答往往也只说姓名、年龄、爱好、工作经验,基本上都是简历上会有的。其实,HR让你做“自我介绍”的目的有两个:第一个是了解求职者的语言表达能力,第三个通过自我介绍了解求职者的与岗位的匹配度。
所以在自我介绍时的内容一定要与岗位有关,建议遵循二八法则,20%用来说清楚你是谁,80%的篇幅用来说清楚你为什么来应聘这个岗位(求职动机+岗位胜任证明)。另外,自我介绍的时间也要把握好,太短会给HR准备不足的印象,太长则会让HR认为太唠叨和啰嗦,一般来说,时间控制在2-5分钟以内最佳!
二、你对我们公司了解多少
这是一道面试高频题,看似是个送分题,但其实答得好并不容易。HR问这个问题的主要目的是想了解你对公司的了解程度以及你为什么想要加入公司。所以,较稳妥的办法就是在面试前,从公司的官方网站、社交媒体账号、新闻报道等方面,了解公司的背景、产品和服务,及最新的发展动态,这样面对这个问题,也就有的谈了。
但是,万一自己真的不清楚,也不能直接说“不知道”,会让HR觉得你并没有提前做准备,可以说,自己上网搜索过公司相关简介,但了解的不是很多,希望有机会加入到们公司,后续更加深入的了解。
三、你最大的优点和缺点是什么?
透过问题看本质,HR这么问实际是想知道求职者的:自我认知和真实性如何?与岗位的匹配度如何?是否符合团队和企业文化?所以,在回答时,要避免说出与职位无关的优点或缺点。
对于优点,要说明这些优点如何帮助自己取得成功,并为职位带来价值的,比如遇事沉着冷静、办事有条理,适应能力强等。对于缺点,可以说一些无关痛痒不会影响大局的小毛病,千万不要傻傻的真说缺点,最重要的是说完缺点后还能够加上自己目前正在采取什么措施来改进缺点,总之要避开在工作能力上的问题。
四、你做过的最满意的项目是什么?
这个问题几乎是程序员面试的必问题,面试官想要通过你之前做过的项目来了解你的综合素质,包括沟通表达能力、执行能力、解决问题的能力等。所以在这个环节,项目不仅要说的好,在过程中理的清楚头绪,还要抓住重点,全力突击。
在这里,建议拿出与面试职位最为贴近,项目数据好的项目,首先介绍项目成立的目的,为了解决哪些痛点,在这个项目中,自己做了哪些准备工作,自己负责的项目对整体目标起到的作用,要重点突出自己的价值和不可替代性,对于项目自己还有哪些思考等。
五、你对薪资的要求是什么?
这也是个需要慎重回答的问题,如果对薪资的要求太低,显然会贬低自己的能力;但如果要求太高,又会显得盲目自大,漫天要价,公司就会受用不起。
所以,当各位程序员面对这个问题的时候,一定要提前备好功课,先对应聘岗位的薪酬有个大概的了解,渠道有很多,比如上招聘网看看相同岗位的薪酬,问问同行的朋友、同事或者亲戚,找找相关行业的薪酬报告等等。
这样当遇到这个问题时,也就可以说:“我是通过XX平台投递的简历,我看了这个岗位的薪资区间,薪资要求在简历上也有写到,我对自己的技术很有信心,相信公司也能够提供与我能力相匹配的薪资待遇,这样能够很好地激励我为公司创造更大的价值。期待加入这个大家庭!谢谢!”
六、你还有什么要问的吗?
当HR问:“你还有什么要问的吗?”这句话时,一般有两层含义:第一,这不仅是一种礼节性的询问,也是结束面试的信号;第二,进一步了解求职者内心真正关心的问题是什么,从而侧面验证求职者的求职动机和真实水平。
这个时候,不要直接回答“我没有问题了”,这会让HR认为你对该岗位没多大兴趣,没有个性和创新能力。另外,尽量不要一上来就问薪酬、加班等问题,直接问薪酬,HR会觉得你重利,问加班,则会认为你抗拒加班,缺乏牺牲精神。我们可以通过以下几个问题,为自己加分:
“请问公司对新人或者日常是否有培训?” “该职位有什么晋升机制?未来的发展前景是怎样的?” “该职位所在团队的人员配置、氛围如何?”“如果有幸加入团队,我还需要补充哪些技能?”
最后
随着互联网行业的蓬勃发展,越来越多的Android开发程序员渴望加入大公司,以拓宽自己的视野和提升技术水平。对于面试者来说,面试不仅需要在面试中展现出独到的思路和解决问题的能力,还需要掌握扎实的基础知识。
本文给大家整理了一套涵盖Android中、大厂的高频面试题合集,此份面试题总共分为三十二个模块,分别是:「Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Binder、Handler、AMS、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES」,如下图所示:
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
面试题展示
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方面
四大组件
- Activity 与 Fragment 之间常见的几种通信方式?
- LaunchMode 的应用场景?
- 对于 Context,你了解多少?
- IntentFilter是什么?有哪些使用场景?
- 谈一谈startService和bindService的区别,生命周期以及使用场景?
- Service如何进行保活?
- 简单介绍下ContentProvider是如何实现数据共享的?
- 说下切换横竖屏时Activity的生命周期?
- Intent传输数据的大小有限制吗?如何解决?
Android 异步任务和消息机制
- HandlerThread 的使用场景和用法?
- IntentService 的应用场景和使用姿势?
- AsyncTask的优点和缺点?
- 谈谈你对 Activity.runOnUiThread 的理解?
- 子线程能否更新UI?为什么?
- 谈谈 Handler 机制和原理?
- 为什么在子线程中创建Handler会抛异常?
- Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么?
数据结构
- 什么是冒泡排序?如何优化?
- 请用 Java 实现一个简单的单链表?
- 如何反转一个单链表?
- 谈谈你对时间复杂度和空间复杂度的理解?
- 谈一谈如何判断一个链表成环?
- 什么是红黑树?为什么要用红黑树?
- 什么是快速排序?如何优化?
- 说说循环队列?
- 如何判断单链表交叉
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
算法方面
- 如何运⽤⼆分查找算法
- 如何⾼效解决接⾬⽔问题
- ⼆分查找⾼效判定⼦序列
- 如何去除有序数组的重复元素
- 如何寻找最⻓回⽂⼦串
- 如何⾼效进⾏模幂运算
- 如何运用贪心思想广域玩跳跃游戏
- 如何⾼效判断回⽂链表
- 如何在无线序列中随机抽取元素
- 如何判定括号合法性
- 如何寻找缺失和重复的元素
- 请说一说HashMap,SparseArrary原理,SparseArrary相比HashMap的优点、ConcurrentHashMap如何实现线程安全?
- 请说一说HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥?
- 请说一说hashmap put()底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置) ?
Kotlin方面
- 请简述一下什么是 Kotlin?它有哪些特性?
- Kotlin中实现单例的几种常见方式?
- 在Kotlin中,什么是内联函数?有什么作用?
- 请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?
- 说说Kotlin中的Any与Java中的Object 有何异同?
- Kotlin中的数据类型有隐式转换吗?为什么?
- Kotlin中集合遍历有哪几种方式
- Kotlin内置标准函数let的原理是什么?
- Kotlin语言的run高阶函数的原理是什么?
音视频方面
- 怎么做到直播秒开优化?
- 数字图像滤波有哪些方法?
- 图像可以提取的特征有哪些?
- FFMPEG:图片如何合成视频
- 常见的音视频格式有哪些?
- 请叙述MPEG视频基本码流结构?
- 说一说ffffmpeg的数据结构?
- 如何降低延迟?如何保证流畅性?如何解决卡顿?解决网络抖动?
- 平时说的软解和硬解,具体是什么?
Flutter方面
- Dart 语言的特性?
- Dart 多任务如何并行的?
- dart是值传递还是引用传递?
- Flutter 特性有哪些?
- Widget 和 element 和 RenderObject 之间的关系?
- 使用mixins的条件是什么?
- Stream 两种订阅模式?
- Flutter中的Widget、State、Context 的核心概念?是为了解决什么问题?
- 说一下Hot Reload,Hot Restart,热更新三者的区别和原理
- Flutter 如何与 Android iOS 通信?
- 说一下什么是状态管理,为什么需要它?
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
标签:面试官,必问,Java,HR,Kotlin,什么,如何,线程,Android From: https://blog.51cto.com/u_16163442/7572543