面试官也难办啊

在线代码面试的挑战与解决方案
本文探讨了招聘程序员过程中的难点,包括面试者与候选人间的沟通障碍、技术评估的准确性以及面试流程的效率问题。提出了使用在线代码面试工具ShowMeBug的解决方案,该工具支持实时代码编辑与交流,提高面试效率,且近期宣布免费供技术人员使用。
部署运行你感兴趣的模型镜像

一、候选人:青筋一爆

前段时间,我在论坛看到一帖子,对我触动很大:

今天 boss 让我去面了一个异地赶来的候选人,考察一下现场写代码的能力,如果表现比较好的话直接给 vp 过一下发 offer 。

结果这小哥风尘仆仆的过来了之后,写的代码非常的一般(而且中间还卡壳了导致时间很长)。我觉得不是很合适,反馈给了 boss
。然后跟这候选人说:“你可能不是很合适我们组,隔壁组也在招人,要不我给你 trans 到隔壁组去看看”。

然后就见他明显的额头青筋一漏,站起来,甚至想做出攻击动作,但最后也没有动手。非常生气的跟我说:“既然不合适那为啥还要叫我来 xx 市。”

我作为小面试官也不太清楚 hr 是怎么与他沟通的,只是突然觉得他可能真的是非常在意这份工作机会吧。最后还是坚持原则叫了别的组的人来面他。

有一丢丢的郁闷,但又说不出来为什么。

img

二、技术Leader:我太难了

我自己也是小组技术 Leader,太明白面试和招人的难处了。

平时本身就要忙各种事情,自己要写代码,上要对付领导,下要帮助兄弟,对内要管理,对外还要抽出时间来招聘,经常是开会开到一半就被 HR 拉去面试。

候选人合适还好,更要命的是有的人简历写得能上天,约时间找过来一面,5分钟就发现能力不行了,还得配合他的演出,尽量面试10分钟。

简历看了上千份,面试了几十个候选人,最后好不容易挑出一个合适的,offer 都发到候选人手里了,结果人家还是被大厂给“截胡”了,白白浪费一个月的时间,还得重新来一次

最惨的是,人都招进来了,结果你发现他什么都好,就是不会写代码,还得把人请出去。这时候公司再招人,好几个月都过去了。

程序员想招个合适的程序员,真是太难了。

img

三、在线代码面试

疫情期间,很多公司开始用上了在线视频面试,这对于招聘技术人员来说,还真不管用。谁 TM 面试技术要看 ta 长得怎么样啊,我要看 ta 代码写得怎么样啊!

img

那远程你怎么看他写的代码?

发个笔试题过去让候选人做?一般候选人觉得是在侮辱他的实力,简直浪费时间,人一生气,干脆直接放弃你们公司了。

电话面试问几个问题?也扛不住能说会道但代码写得跟shit一样的候选人啊。

视频面试的时候,共享屏幕?对网络质量要求太高了,而且,你怎么把题目发给他?复制粘贴?

这些方法都没有很好地解决招聘技术人员的核心问题:代码面试。

四、它很好,可是贵

如何更好地解决技术人员面试的问题?

你需要这样的代码面试工具。

首先它必须要是在线的。

不需要占用一个专门的会议室,省空间;

不用候选人过来公司,以前一天最多面试两个,改成在线面试后,一天能面四五个都没问题,双倍提高面试效率,

不用让候选人过来,节省候选人的时间,节省公司的食宿费用,候选人更满意;给公司树立更好的形象,让候选人更愿意来。

然后它必须要能实时同步交流代码。

面试官和候选人同步代码交流,面试双方不用担心英语发音不准,直接写出来;

也不用担心在白板上写代码,支持代码高亮,充分模拟平时工作编程环境。

更重要的是,它要体现出面试官和候选人的平等。

筛选候选人就是筛选将来与你共事的人,所以为了更准确的反应候选人在以后的工作中的表现,不妨把面试当做一场与未来同事的技术讨论,在讨论的过程中感受候选人的技术能力。

所以编辑代码的编辑器,可供双方共同编辑,即便是切屏提醒这样的防作弊功能,也不应该只提醒面试官,不提醒候选人。

这样的在线代码面试工具,必须满足以下的条件:

  • 在线的代码编辑器,双方可以共同实时编辑
  • 音视频要有,可以对代码进行沟通交流,而且还要稳定
  • 支持多种编程语言

五、那就免费吧

ShowMeBug 本身就为代码面试而生,满足上面的所有条件,但就是有一个缺点:贵!

ShowMeBug 每一场面试收费49元,你刚注册的时候可免费用 4 次,用完四次发现很好用,但是一到付费就卡住了。本身就是为公司招人,还要我个人交钱,还TM这么贵,更要命的事还得找HR和财务报销!算了,劳资还是用 zoom 共享屏幕吧…

程序员何苦为难程序员,ShowMeBug 本身就是一家技术团队,我们懂程序员的难处,也正好赶上ShowMeBug 上线一周年,所以,我们老大决定,让咱们技术人员免费使用!

你可以无障碍使用最优质的在线代码面试工具了!

免费的,它不香吗(手动狗头)
链接:
https://www.showmebug.com

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

你说“同上也不行”,说明你已经尝试了我之前提供的 **相对布局 + 百分比** 的方法,但仍然出现了问题。那么我们现在需要更深入地分析你的实际场景。 --- ### 🧩 首先:我们来定位“为什么‘也不行’”? 请先确认以下几个关键点: #### ❓ 1. `this.overallWidth` 和 `this.overallHeight` 是什么时候设置的? - 它们是否真的反映了当前屏幕/画布的实际尺寸? - 是否在页面加载后、或窗口 resize 后被正确更新? ✅ 建议检查: ```javascript console.log("Current overallWidth:", this.overallWidth); console.log("Current overallHeight:", this.overallHeight); ``` 确保这些值是你预期的(比如 `1920`, `1080` 或 `1024x768`)。 > 如果它们没变,那即使你用比例计算也没用 —— 数据错了! --- #### ❓ 2. 你是使用 `app.renderer.resize()` 动态调整画布了吗? PixiJS 的 `app.screen` 尺寸不会自动响应浏览器窗口变化。 你需要手动监听并更新: ```javascript window.addEventListener('resize', () => { const width = window.innerWidth; const height = window.innerHeight; app.renderer.resize(width, height); // 更新你的变量 yourInstance.overallWidth = width; yourInstance.overallHeight = height; // 重新布局 UI yourInstance.resizeLayout(); }); ``` 否则,`this.overallWidth` 永远是初始值,导致布局错乱。 --- #### ❓ 3. 你的容器 `historyListContainer` 的父级是谁?它有没有被添加到 stage 上? 如果这个容器没有正确加入渲染树,或者其父容器有缩放、偏移、裁剪等行为,也会影响显示位置。 ✅ 确保: ```javascript app.stage.addChild(this.historyListContainer); // 已添加 ``` --- #### ❓ 4. 背景图太大或太小?锚点生效了吗? 你设置了: ```javascript recordBg.anchor.set(0.5, 0.5); recordBg.position.set(...); ``` 但如果图片本身尺寸不对,或者纹理还没加载完成就设置了宽高,也可能出现偏移异常。 ✅ 建议:等待纹理加载完成后再初始化 UI,或使用占位尺寸。 --- ### ✅ 推荐终极解决方案:完全解耦“分辨率依赖” → 使用 **虚拟分辨率 + 缩放适配** 很多游戏都采用“设计分辨率”概念,例如:以 `1920x1080` 为基准设计 UI,然后动态缩放适配所有设备。 --- ### ✅ 改进方案:使用 **虚拟分辨率 + 自动缩放容器** ```javascript // === 设定设计基准分辨率(美术同学出图的标准) this.designWidth = 1920; this.designHeight = 1080; // 创建一个根 UI 容器,用于统一缩放 this.uiContainer = new Container(); // 添加到 stage app.stage.addChild(this.uiContainer); // 在 resize 或初始化时调用此函数 this.resizeUI = () => { const actualWidth = window.innerWidth; const actualHeight = window.innerHeight; // 计算缩放比(保持等比缩放,避免拉伸) const scale = Math.min( actualWidth / this.designWidth, actualHeight / this.designHeight ); // 居中偏移 const offsetX = (actualWidth - this.designWidth * scale) / 2; const offsetY = (actualHeight - this.designHeight * scale) / 2; // 设置 UI 容器的缩放和位置 this.uiContainer.scale.set(scale); this.uiContainer.position.set(offsetX, offsetY); }; // 初始化和监听 this.resizeUI(); window.addEventListener('resize', () => { app.renderer.resize(window.innerWidth, window.innerHeight); this.resizeUI(); }); ``` 然后,你在 `uiContainer` 中创建的所有 UI 元素都按照 `1920x1080` 的坐标系统来布局! --- ### ✅ 修改你的弹窗代码(基于虚拟分辨率) ```javascript // === 历史记录弹窗(按 1920x1080 设计) this.historyListContainer = new Container(); this.historyListContainer.visible = false; this.historyListContainer.zIndex = 100; // 在 1920x1080 下居中 this.historyListContainer.position.set(1920 / 2, 1080 / 2); const recordBg = new Sprite(Texture.from("assets/UIShop/商店底5.png")); recordBg.width = 1300; // 固定设计宽度 recordBg.height = 800; // 固定设计高度 recordBg.anchor.set(0.5, 0.5); recordBg.position.set(0, 0); this.historyListContainer.addChild(recordBg); this.historyText = new Text("haha", { fontFamily: "Arial", fontSize: 40, // 在 1080p 下合适的字体 fill: 0xfff1a5, align: "center" }); this.historyText.anchor.set(0.5, 0.5); this.historyText.position.set(0, -300); // 距离顶部一点 this.historyListContainer.addChild(this.historyText); // 把弹窗加入可缩放的 UI 容器 this.uiContainer.addChild(this.historyListContainer); ``` --- ### ✅ 这样做的好处: | 优势 | 说明 | |------|------| | ✅ 不再担心具体像素 | 所有 UI 按 1920x1080 设计即可 | | ✅ 自动适配各种屏幕 | 手机、平板、PC 全兼容 | | ✅ 文字图像清晰 | 避免因拉伸变形 | | ✅ 易于团队协作 | 策划/美术按固定坐标开发 | --- ### 🔁 最后提醒:务必在每次 resize 后调用 `resizeUI()` 你可以封装成类方法,或使用 PixiJS 的 ticker 监控,但推荐事件驱动。 --- ### 💡 总结:你之所以觉得“减多少很难办”,是因为你在做“像素补偿式布局”——这是不可持续的。 ✅ 正确做法是: > **使用“设计基准 + 缩放适配”模型,把 UI 布局从真实分辨率中解放出来!** ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeBug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值