【面试常见问题】
如何自我介绍
- 自我介绍是面试关键部分,是面试官了解求职者的首要途径,清晰自信的介绍能提升面试官印象,对求职成功至关重要。
糟糕的自我介绍示例
- 求职者朱晓明虽表明自己善于交际、积极,23 年毕业且从事 java 开发,但只是罗列基本信息和性格特点,未突出对公司的价值与自身优势,显得平淡普通,难以引起面试官兴趣。
正确的自我介绍示例
- 表达感谢与基本信息:先感谢公司给予面试机会,介绍姓名与职业(软件开发工程师)。
- 阐述工作热情来源:讲述在阿里实习获得单独项目,掌控设计与编码,积累经验并接触新技术,从而爱上后端开发工作。
- 突出工作经验与成果:有 3 年经验,在现公司构建数十种应用,助力公司基础设施现代化、自动化,涉及 CICD 构建微服务、更新现有微服务及相关技术运用。
- 总结自身价值:表明自身经验与热情能为公司创造价值,且介绍过程简洁高效,用故事体现对工作的热情、责任感、擅长领域和技术。
总结与呼吁
- 总结面试中自我介绍的技巧要点,包括突出热情、责任感、成果等关键信息,保持简短高效。
如何向面试官提问
面试结尾提问的重要性与场景
在面试尾声,面试官通常会询问应聘者是否有问题,此时恰当提问对面试结果有重要影响,下面将分情况介绍如何正确提问。
面试结果好时的提问策略
- 尖锐问题:可询问研发团队规模、管理岗人数及管理方式(如从回答判断是否梯队管理)、公司优缺点及对待缺点的措施等,例如“你们的研发团队的规模是多少啊”“这么多管理岗,你是如何进行管理呢”“您认为现在的公司的优点和缺点有哪些”,这些问题能给面试官施压,有助于在后续谈 offer 时占据主动,防止薪资被压低。
- 缓和问题:可问公司未来发展方向是否转型、业务量情况、面试官的管理岗位及管理方式等,如“公司未来发展方向会不会转型”“公司的业务量是多少多不多啊”“您现在是管理岗位吗,您是如何管理现在的团队的”,从侧面了解公司管理与团队分布,表明自身对公司的全面考量,提升在面试中的地位。
面试结果一般时的提问策略
应问体现积极主动的问题,如“公司未来的业务方向是什么呀”“公司的业务上或者技术上最需要解决什么问题”“如果我能进来,我能给公司带来什么”,还可请求分享公司培训资料,如“能不能分享我一些公司培训的资料啊”,通过积极态度增加面试官好感,提高脱颖而出的机会。
面试结果差时的提问策略
不要气馁,可询问面试官自身不足,如“我自己有什么不足呀”,之后做好总结,改进不足并记录不会的面试题,避免下次再被同样问题难住。
如何和HR谈薪资
谈薪重要性及问题引入
- 初入职场薪水是跳槽加薪基础,后续公司常参考上份薪资涨幅 20% - 30%,所以谈薪至关重要。
- 很多人谈薪时存在不好意思、不知如何谈的问题=。
了解薪资结构与福利
- 当被问期望薪资,先反问公司薪资结构,如月薪、年薪、薪数及合同约定情况,同时可了解奖金、股票、期权等福利与晋升、补贴、体检等综合福利。
- 依据获取信息判断公司薪资福利完善度,辅助后续谈薪决策。
有无 offer 的应对策略
- 若有其他 offer,应诚实地大方告知 HR 具体薪资数字,但不能提供 offer 截图,因其是机密且具法律效力。
- 若无 offer,要说正在跟进其他面试且接近谈 offer 阶段、面试官反馈良好,体现自身抢手,向 HR 施压。
谈薪时的不当行为
- 切忌做“舔狗”,过度表达对公司喜爱不会使薪资提高,反而可能降低。
- 不要直接说自己无 offer,要利用可能的机会向 HR 表明自身价值与抢手程度。
- 谈薪态度要依据面试情况适度强硬,不过分强势。
- 回答期望薪资时不要给区间,应明确说出期望数值并预留砍价空间。
拉高 offer 薪资的方法总结
- 整体要做到不卑不亢,可采用特定说话模板。例如先感谢公司认可,表明公司是目标但有顾虑,再提及对公司技术体系、新人培养制度的喜爱与倾向,最后说明有其他 offer,若公司提薪则会选择该公司,以此心理战术向 HR 施压争取更高薪资。
面试技巧
面试技巧总述
- 分享 java 开发者求职成功的面试经验,涵盖心态、简历、个人形象、回答问题、应对难题及离职相关问题等方面,助力求职者获取心仪 offer。
心态调整要点
- 受环境影响,求职者空窗期可能较长,务必保持耐心、平心静气,防止因焦躁而自我怀疑,确保在求职期间维持良好心理状态。
简历撰写指南
- 技术罗列规范:应分类清晰呈现擅长技术,如区分不同性质数据库(MYSQL 与 REDIS)及语言与其生态(go 语言、docker、K8S),且对技术掌握程度描述需实事求是,避免夸大其词,以防面试时陷入被动。
- 项目经验阐述:详细说明参与项目的背景、自身负责内容、在项目中的角色、运用的技术,着重突出负责部分的难点与解决方案,以此增强简历竞争力。
个人形象塑造建议
- 面试着装需整洁得体,保持良好个人卫生,展现积极精神风貌,做到热情开朗。交流时应口齿清晰,完整表达观点,避免机械回应,降低沟通成本,给面试官留下良好的初始印象。
问题回答策略
- 常规问题应对:回答面试官问题时需抬头注视对方,体现尊重与自信。针对工作挑战及解决方式等问题,提前演练,条理清晰地阐述,必要时可借助画图辅助说明,增强回答的可信度与清晰度。
- 难题处理方法:面试中遇到不会的技术或项目问题,切勿轻易放弃,应向面试官展示思考问题的态度与方向,即便未得出正确答案,也有助于留下良好印象。
- 离职问题解答:被问及离职原因,避免诋毁前东家,可提及公司转型、项目解散或个人成长受限等客观因素;对于工作频繁变动情况,在简历或回答中给出如公司战略调整、团队氛围变化等合理理由,并引导面试官关注自身对新团队的积极态度与合作意愿。
面试尾声注意事项
- 面试官在面试结尾通常会询问求职者是否有问题,求职者应提前准备相关问题,避免回答“没有问题”,积极参与互动,展现自身对工作的关注度与思考深度。
MySQL InnoDB 存储引擎回表相关知识总结
InnoDB 引擎索引基础
- InnoDB 引擎存在聚簇索引(主键索引)和非聚簇索引(二级索引)。
- 主键索引的非叶子节点存储主键与下级节点指针,叶子节点存储行数据;二级索引非叶子节点存储索引值与下级节点指针,叶子节点存储对应主键值。
- 为字段建立索引时,InnoDB 会维护相应索引树。
回表过程示例
- 以
user
表(含id
主键索引、age
二级索引)为例,执行SELECT name, age FROM user WHERE age BETWEEN 3 AND 5
查询。 - 因查询条件是
age
,先在age
二级索引树查找,找到符合条件记录后获取其对应的id
值,再到id
主键索引树查找完整记录并加入结果集,如此循环直至查询结束。此从二级索引到主键索引的查找过程即回表,该查询读了age
索引树三条记录,回表两次。原因是查询字段name
在主键索引树,需回表获取。
覆盖索引避免回表及性能优化
- 可通过建立覆盖索引避免回表,如对
age
和name
建立联合索引Index age name
。 - 再次执行上述查询语句时,在
age name
联合索引树中查找,因索引树已包含查询字段name
和age
,可直接将符合条件记录放入结果集,无需回表,减少查询开销,显著提升性能,是常用的性能优化手段。
Java 中的强、软、弱、虚
- 引用类型概述
- Java 设计这四种引用的主要目的是让程序员决定对象生命周期及辅助垃圾回收。
- 强引用
- 特点:代码中常见,只要对象有强引用关联就不会被回收,即使内存不足 JVM 也只会抛出 OOM。只有强引用与对象关联中断(如设为 null)且经可达性分析不可达时才会被回收。
- 实验:定义
tiger
类重写finalize
方法,在main
方法中创建tiger
对象作为强引用,将其设为null
后手动调用System.gc
,结果显示tiger
对象被回收并打印相关信息,但实际开发中不建议手动调用gc
。
- 软引用
- 创建与获取:用
SoftReference
包裹对象,通过get
方法获取包裹对象。 - 特点:内存不足或堆内存不足时触发 JVM 的 GC,若 GC 后内存仍不足则回收软引用包裹对象。
- 实验与用途:定义软引用对象包裹占用 10M 的
byte
数组,设置 JVM 堆最大为 20M,运行代码先手动 GC 后能获取数组,再创建 10M 数组致内存不足时,软引用包裹数组被回收,适合做缓存,内存足可正常取缓存对象,不足时先清理缓存防 OOM。
- 创建与获取:用
- 弱引用
- 特点:无论内存是否充足,只要发生 GC 就会回收其包裹对象。
- 实验与应用:声明弱引用包裹
byte
数组,获取包裹对象后手动触发 GC,内存充足时包裹对象仍被回收,在WeakHashMap
等类中有应用,可查看源码了解。
- 虚引用
- 特点:也称幽灵或幻影引用,是最弱引用类型,无法通过自身
get
方法获取对象实例(源码返回null
),主要用于跟踪对象回收活动,需与ReferenceQueue
一起使用,对象被回收前虚引用会加入队列以便接收通知。 - 实验与用途:通过代码展示创建虚引用及与队列配合使用,一个线程往集合塞数据触发 GC,另一个死循环线程从队列取数据,运行结果显示发生 GC 时虚引用被回收且通知入队,常用于管理直接内存,如 NIO 缓存区释放前清理工作,可查 NIO 源码深入了解。
- 特点:也称幽灵或幻影引用,是最弱引用类型,无法通过自身