1
orangie 2023-04-17 10:17:24 +08:00
也许只是为了看看你面对困难的反应和解决思路,并不需要这个难点真的很困难。至于优势和劣势,不一定要是技术上的,可以是沟通、学习、好习惯、追求代码质量等等,劣势别说致命的就行。
|
2
DAMNYOU 2023-04-17 10:18:45 +08:00
这不就是面试八股文嘛,核心就是一个字:编
|
3
shanyuhai123 2023-04-17 10:50:37 +08:00
1. 自研项目基本都会踩坑,比较好说
2. crud 项目如 @DAMNYOU 所说就靠编,找个八股往自己项目上套 |
4
bjzhush 2023-04-17 15:01:38 +08:00 2
告诉你个不政治正确但是非常有效的办法。
把你项目里面同事的工作内容,或者同公司其它同事的项目,拿过来研究下,吃透点,找出难点亮点,在面试的时候作为自己之前的工作内容讲出来 |
5
bjzhush 2023-04-17 15:03:15 +08:00
因为是同一个公司,业务内容是对得上的,项目也了解,技术上也能讲得通,所以是没问题的。
当然如果你了解的太少或者心理紧张,被面试官看出来了,那是你自己菜 |
6
ChefIsAwesome 2023-04-17 15:17:19 +08:00
讲实话,问这种问题就是希望找到那些工作有难度的人,平时爱总结的人;筛出掉平时 crud 、流水线一样的人。
|
7
wetalk 2023-04-17 15:34:14 +08:00
碰到过,说了几个难点后,面试官不满意,没后续了
|
8
admol 2023-04-17 18:29:03 +08:00
以下为 AI:
问:程序员面试,面试官问遇到的困难点或问题,应该怎么回答好? AI 答: 这个问题的一个好的回答方式是: 1. 首先承认 debug 和解决问题是程序员的常见工作之一,你也不可避免地会遇到各种各样的困难和问题。 2. 然后举一个代表性的例子,解释你是如何 debug 和解决问题的。可以从下面几个方向入手: - 问题的发现:代码产生的异常、运行时错误、与预期结果不符的输出等。解释你是如何发现这个问题的,例如通过测试、用户反馈、监控报警等。 - 问题的定位:说明你是如何定位问题的,例如通过打日志、debug 断点、监视变量的值变化等手段逐步缩小范围,找到问题的所在。 - 问题的解决:重现问题的场景进行测试、通过搜索引擎查阅资料进行对比和学习、与更高级的工程师进行讨论等。最后描述你是如何最终解决这个问题的。 - 经验的总结:从这个问题的解决过程中,你学到了哪些经验教训,并在将来如何避免或更快解决类似问题。 3. 最后要表达你对于 debug 和解决问题的态度。例如你努力不放弃的精神、从每一个问题中学习和成长的决心。这可以让面试官看到你积极主动地解决问题的品质。 总之,以诚恳和真诚的态度回答问题遇到的困难,选择一个有代表性的例子来详细地说明你是如何解决问题的全过程,并表达你可以从中学习和提高的决心,这是一个很好的回答方式。面试官会看到你遇到问题后的成熟与专业的一面。 请让我知道如果您有任何其他问题!我很乐意提供更详尽的回答。 再问:帮我编一个案例。可用于直接回答的 AI 答: 这里是一个可直接回答的案例: 面试官:请谈谈你在项目中遇到的一个比较棘手的 bug 或问题,你是如何解决的? 你:有一次,我们在开发一个报表功能,需要展示用户在近 1 年内的消费交易数据。在测试阶段,我们发现有些用户的报表没有正常显示数据,经查询也没有找到相关错误信息。 通过具体分析,我采取了以下措施来定位和解决这个问题: 1. 首先检查了代码逻辑,确认报表 sql 语句以及业务实现逻辑正确。这排除了代码错误的可能性。 2. 然后检查了单元测试和集成测试,都能正常通过,这又排除了测试 bug 的可能。 3. 随后我尝试手工构造了不同用户的参数,发现大部分用户数据正常,只有个别用户异常。这表明是存在一定的用户场景导致的问题。 4. 我把这些异常用户的参数进行对比,发现只有部分时间段内的用户有问题,其他时间段数据正常。这暗示可能跟特定时间相关。 5. 最后,我确认可能是因为时间范围遇到了用户账单周期不对齐的问题,在代码里修复了这一场景,最终解决了这个 bug 。 通过这个问题,让我学到了几点经验: 1. 分析问题要从宽泛范围逐步缩小,不急于下定论。 2. 复现问题的场景和数据尽量具体,这有助于找出异常数据的规律。 3. 代码测试都通过并不意味一定没有 bug,还需要考虑各种边界场景。 我觉得 programmer 解决问题的态度很重要,需要耐心细致并且不放弃的精神,从每次问题中学习,提高自己的技能。我会坚持这份态度,成为一个更优秀的工程师。 这个案例说明了你遇到一个棘手问题的全过程,包括问题发现、定位、解决以及最终的经验总结。并且显示出你积极主动和不放弃的解决问题的品质,这是一个比较完整和积极的回答方式。面试官可以由此了解到你开发过程中的成长思维,以及对技术和解决问题的态度。 请让我知道如果您对这个回答有任何其他疑问,我很乐意提供更详细的帮助。 |
9
admol 2023-04-17 18:31:22 +08:00
再换一个案例,也是 AI 答的
面试官: 请谈谈在项目中,你遇到的和性能优化相关的一个案例,是如何进行优化的? 你:在我们的项目中,有一个订单统计的功能,需要统计每个用户在过去 n 天内的订单数量,我们的初版方案是: 每次调用这个统计接口时,通过循环遍历用户的所有订单,统计 n 天内的订单数量,然后返回结果。 在系统压测时,我们发现这个接口的吞吐量很低,CPU 利用率很高。通过分析,这个方案有两个性能瓶颈: 1. 每次统计都循环遍历所有订单,效率很低。 2. 大量重复统计,缺乏缓存,导致 CPU 重复计算。 于是,我们对这个方案进行了优化: 1. 预先统计好过去 n 天每个用户的订单数量,存入到 Redis Hash 结构中,key 为用户 ID,value 为订单数量。 2. 当调用统计接口时,直接从 Redis Hash 中获取用户的订单数量,返回结果。 3. 每天定时更新 Redis Hash 中的数据,保证数据最新。 通过这个优化,接口的性能得到很大提升: 1. 避免了每次重复遍历和计算,利用了缓存。 2. Redis Hash 结构查询效率很高,可以快速返回结果。 3. 定时批量更新缓存,避免了每次调用都重复统计的问题。 由此可见,合理的缓存方案和批量预计算,可以有效优化系统的性能。我会继续深入学习其他的优化技术和方案,如:索引、读写分离等,不断提高自己在系统性能和架构上的技能。 这个案例说明你发现的系统性能问题,以及采取的优化方案和最终效果。同时也表达你对持续学习和优化的态度。这是一个比较完整的优化案例分享,面试官可以评估你在性能调优和架构上的思维和技能。你也可以根据这个框架,准备一两个其他的性能优化案例,以备面试时使用。 请让我知道如果您对这个案例有任何其他疑问,我很乐意提供更详细的解释和帮助。 |
10
sadfQED2 2023-04-17 18:49:09 +08:00 via Android
1.工作期间完成了 xx 个专利
2.目前 xx 业务用户量 x 亿,gvm 整个行业第 x 3.目前算法性能全行业第 x ,准确性全行业第 x 4.完成了 xx 项目从 0 到 1 ,完成了 xx 项目重构 |