面试被问到工作中遇到什么难点怎么回答

2023-04-17 10:10:04 +08:00
 dltsgl
面试了好几家都问到了,遇到什么难点了,怎么解决的,还有自己弄优势和长处。问题是我做的也没啥难点,都是 crud ,也没啥长处,请教一下这种情况怎么回答比较好
2826 次点击
所在节点    问与答
10 条回复
orangie
2023-04-17 10:17:24 +08:00
也许只是为了看看你面对困难的反应和解决思路,并不需要这个难点真的很困难。至于优势和劣势,不一定要是技术上的,可以是沟通、学习、好习惯、追求代码质量等等,劣势别说致命的就行。
DAMNYOU
2023-04-17 10:18:45 +08:00
这不就是面试八股文嘛,核心就是一个字:编
shanyuhai123
2023-04-17 10:50:37 +08:00
1. 自研项目基本都会踩坑,比较好说
2. crud 项目如 @DAMNYOU 所说就靠编,找个八股往自己项目上套
bjzhush
2023-04-17 15:01:38 +08:00
告诉你个不政治正确但是非常有效的办法。

把你项目里面同事的工作内容,或者同公司其它同事的项目,拿过来研究下,吃透点,找出难点亮点,在面试的时候作为自己之前的工作内容讲出来
bjzhush
2023-04-17 15:03:15 +08:00
因为是同一个公司,业务内容是对得上的,项目也了解,技术上也能讲得通,所以是没问题的。
当然如果你了解的太少或者心理紧张,被面试官看出来了,那是你自己菜
ChefIsAwesome
2023-04-17 15:17:19 +08:00
讲实话,问这种问题就是希望找到那些工作有难度的人,平时爱总结的人;筛出掉平时 crud 、流水线一样的人。
wetalk
2023-04-17 15:34:14 +08:00
碰到过,说了几个难点后,面试官不满意,没后续了
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 解决问题的态度很重要,需要耐心细致并且不放弃的精神,从每次问题中学习,提高自己的技能。我会坚持这份态度,成为一个更优秀的工程师。
这个案例说明了你遇到一个棘手问题的全过程,包括问题发现、定位、解决以及最终的经验总结。并且显示出你积极主动和不放弃的解决问题的品质,这是一个比较完整和积极的回答方式。面试官可以由此了解到你开发过程中的成长思维,以及对技术和解决问题的态度。
请让我知道如果您对这个回答有任何其他疑问,我很乐意提供更详细的帮助。
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. 定时批量更新缓存,避免了每次调用都重复统计的问题。
由此可见,合理的缓存方案和批量预计算,可以有效优化系统的性能。我会继续深入学习其他的优化技术和方案,如:索引、读写分离等,不断提高自己在系统性能和架构上的技能。
这个案例说明你发现的系统性能问题,以及采取的优化方案和最终效果。同时也表达你对持续学习和优化的态度。这是一个比较完整的优化案例分享,面试官可以评估你在性能调优和架构上的思维和技能。你也可以根据这个框架,准备一两个其他的性能优化案例,以备面试时使用。
请让我知道如果您对这个案例有任何其他疑问,我很乐意提供更详细的解释和帮助。
sadfQED2
2023-04-17 18:49:09 +08:00
1.工作期间完成了 xx 个专利
2.目前 xx 业务用户量 x 亿,gvm 整个行业第 x
3.目前算法性能全行业第 x ,准确性全行业第 x
4.完成了 xx 项目从 0 到 1 ,完成了 xx 项目重构

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/933063

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX