面试过程中的技术细节探讨
最近在浏览职场app时,我偶然发现了一个引人深思的帖子。帖子的主题是关于面试过程中技术细节的提问频率。楼主提到,给他发offer的公司在面试时往往不会过多询问技术细节,而是在简单的自我介绍后,提出一两个技术问题便转向薪资和到岗时间的讨论。
面试与技术细节的关系
这个现象引发了我对面试过程中技术细节重要性的思考。面试,作为求职者与企业相互了解的重要环节,其目的在于评估求职者的能力是否符合岗位需求。技术细节的探讨,理应是这一过程中不可或缺的部分。然而,现实中的情况似乎并非总是如此。
评论中的不同声音
在帖子下方的评论中,我们可以看到两种不同的声音。一位网友表示,那些在面试中深入探讨技术问题,甚至要求详细解释项目超参数的公司,最终往往没有下文。这可能暗示了一种现象:一些公司可能更注重理论知识的考察,而非实际应用能力。
套技术方案的可能性
另一位网友的评论则提出了另一种可能性:一些公司可能并不是真的想要招聘员工,而是希望通过面试获取求职者在特定技术点上的经验。这种“套技术方案”的行为,对于那些真诚寻求工作机会的求职者来说,无疑是一种时间和精力的浪费。
面试的多样性
这些讨论让我意识到,面试的形式和内容是多样化的。不同的公司、不同的面试官,甚至是不同的岗位,都可能对面试的侧重点有不同的要求。有些公司可能更看重求职者的潜力和适应能力,而不是仅仅局限于技术细节的掌握。
求职者的应对策略
面对这样的现实,求职者需要发展出相应的应对策略。在准备面试时,除了深入掌握专业知识,还应该了解公司的背景和文化,以及岗位的具体要求。这样,即使面试过程中技术细节不是重点,求职者也能展现出自己的全面能力和对公司的价值。
总的来说,面试过程中对技术细节的探讨程度因公司而异,求职者需要根据具体情况灵活应对。同时,企业在设计面试流程时,也应该考虑到如何更有效地评估求职者的实际能力,以避免资源的浪费。在这个过程中,真诚和透明是建立良好雇佣关系的基础。
...
回归主线
📚LeetCodeTop100:挑战之旅
LeetCodeTop100开启连载啦!希望每天进步一点点,今天是第七天!
题目
力扣:42. 接雨水[1]
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
示例 1:
输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。
示例 2:
输入:height = [4,2,0,3,2,5]输出:9
题解
1. 动态规划所做的事情实质就是减少重复计算, 递归或者暴力中一般都会存在大量重复计算,如果我们利用一个小本本的形式记录之前计算的结果是不是就可以节约时间了,也就是变相的空间换时间方式。
2. 动态规划所做的事情是什么?,1加100 我们每一步计算结果都记录下来 加100 实际上就是前面1-99的结果在加100,就等于有个字典你记录你已经做过的事情的结果,如果再有人问你,你的做法就是翻字典查结果,而不是再重头归零计算,要让计算机产生记忆,而这个记忆就是利用空间存储换取时间,
3. 很多动态规划直接告诉你转移方程,这个行为对你学习没有太多的帮助,我对这种方式持中立态度,学习是为了学会捕鱼,而不是快速拿到鱼,如果你都连暴力题解都无法写出,怎么可能知道暴力中存在哪些重复计算,怎么可能知道如何对暴力中的重复计算进行优化了,又怎么可能写出和理解转移方程了?
4. 接雨水问题实质上要处理2个问题,能不能接雨水?能接多少?,这个自己一定要画图,一直强调自己动手实践
5. 能不能接雨水 实质生活中就这个地方是一个低洼区,人肉眼很容易识别,对于计算机来说不行 ,你要计算出当前位置左边和右边是不是存在比他高的地方。
6. 而解决了能不能存水,能存多少水也会迎刃而解,它是当前位置左右高点的最低值决定的。
7. 而暴力法中存在最大的问题就是计算当前位置的左右最高点是存在重复计算的,本来当前位置左边和右边最高值等于当前位置的高度和前一个位置的高度计算结果比较一下就可以得到了,而暴力每次把左右两边都从头在算一遍。自己想想需要这样重复计算吗?
8. 通过数组把这些重复计算保存起来就是一种记忆法,对比一下暴力和动态的代码 看看是不是在做这个事情。
作者:baxiang[2]
来源:力扣(LeetCode)
代码
暴力
func trap(height []int)int{ l :=len(height) res :=0 // 起始位置是第一个,而不是0 // 结束位置是倒数第二个,而不是倒数第一个 for i:=1;i<l-1;i++{ leftMax :=0 // for k:=0;k<=i;k++{ leftMax =max(height[k],leftMax) } rightMax :=0 for j:=i;j<l;j++{ rightMax =max(height[j],rightMax) } minVal := min(leftMax,rightMax) water := minVal-height[i] res =res+water } return res}
动态规划
func trap(height []int)int{ if len(height)==0{ return 0 } size :=len(height) res :=0 leftDP :=make([]int,size) rightDP :=make([]int,size) leftDP[0]= height[0] rightDP[size-1] = height[size-1] for i:=1;i<size;i++{ leftDP[i] = max(leftDP[i-1],height[i]) } for i:=size-2;i>=0;i--{ rightDP[i] = max(rightDP[i+1],height[i]) } for i:=1;i<size-1;i++{ minHeight := min(leftDP[i],rightDP[i]) waterVal :=minHeight-height[i] res +=waterVal } return res}func max(a,b int)int{ if a>b{ return a } return b}func min(a,b int)int{ if a>b{ return b } return a}
相关阅读
➡️ 失业的P9:他的四页半简历
➡️ 互联网巨头月薪分布,惊!30-50K居然最多
➡️ 2024最新955不加班公司名单
➡️ 图基础入门
🌟 码字不易,我是慕溪code,一个热爱探索热点时事、独立思考的信息技术爱好者。慕溪code致力于为你提供系统化的学习路线,涵盖了算法、后端、前端、架构等方面的内容。。如果您喜欢我的分享,别忘了点击下方的关注和点赞按钮哦!💼🚀✨
引用链接
[1] 42. 接雨水: https://leetcode.cn/problems/trapping-rain-water/[2] baxiang: https://leetcode.cn/problems/trapping-rain-water/solutions/237552/go-li-jie-dong-tai-gui-hua-qian-ti-shi-yao-hui-bao/