Normal view

There are new articles available, click to refresh the page.
Today — 20 May 2025V2EX-最新主题

有没有 iphone12 换 16pro 的用户,提升明显吗,我看现在价格 5499 有点心动

By: 5boy
20 May 2025 at 09:53
5boy:

目前主要 12 的痛点 1 、电池不经用了,百分之 20 的电睡一晚上白天就自动关机了,要一直充着才行 2 、信号太差了,地铁上刷视频都卡,更别说打王者荣耀了,根本没法玩 3 、拍照太烂了,因为手上有相机,但是一直没买长焦,感觉太重了,想着换了 16pro 的长焦能不能相机的长焦镜头 这些能做到吗。。。

分享下自己搞的播客,今天我听下来我有点兴趣的内容: WSL 开源了、一个老哥对 网站通过用户 IP 地址猜测 的吐槽

By: gococonut
20 May 2025 at 09:53
gococonut:

前情提要

字节篝火播客分享,通勤路上可以听听开源 技术热

我自己的感受

因为工作要求不能用 mac ,目前只能用 Win + WSL + IDE SSH + Docker Desktop 作为开发环境,目前用起来还行。

偶有 Google 搜索明明用的英文设置中偏好也是英文,搜出来却是中文的情况,非常恶心

小宇宙

Spotify

Apple Podcast

GitHub Copilot 编码代理,人类开发者和 AI 同台竞争

By: dacapoday
20 May 2025 at 09:52
dacapoday:

https://github.blog/changelog/2025-05-19-github-copilot-coding-agent-in-public-preview/

应该是较早期的将 AI 集成到工作流上的实践,但类似的模式若能走通,那开发者的末日已经到来。需求发布者(项目经理,QA ,甚至客诉和监控告警)直接提请 AI 开发,需求内容本身也会经过 AI 润色。专职的人类开发者的职业前景黯淡。

请教下这种功能是怎么实现的,不知道叫什么,图片合成? AI 模特?

By: eratpfus7
20 May 2025 at 09:49
eratpfus7:

参照一款小程序做一个功能,其中有一个功能是定制物品,比如说是衣服、水杯、裤子等,然后上传自己 diy 的图片,进行合成,然后就能生成出效果图,并且衣服可以穿在模特的身上,给出预览效果。

下方这个图片中,黑色衣服是小程序自带的,中间绿色的这个图片是我上传的,我就想知道图片合成和 AI 模特的功能准确名词叫什么,怎么实现的

网络图片

书房主机投屏到客厅躺着玩黑神话方案

By: 2moldream
20 May 2025 at 09:43
2moldream:

书房:5070 主机 客厅电视:海信安卓 9.0 版本的 120 高刷电视,有线百兆网卡、Wifi5(实测 30 兆/S)、两个 USB2.0 接口。一个 hdmi2.1 、一个 hdmi2.0 内网环境:书房双网口,一个 NAS 用,一个主机用;客厅双网口一个路由器 WAN ,一个路由器 LAN 回流到弱电箱交互机,交换机分流到书房和其它房间,目前是全屋千兆,换交换机可到 2.5G

目前想到的的方案如下

  1. sunshine+moonlight 串流,由于电视机网卡太拉胯了,此方案掉帧巨严重。目前还没找到可用的 usb 转网口设备,买了 4 、5 个插上去都没反应,求用过海信电视的大佬推荐合适的型号
  2. 网线转 HDMI 方案:需要重新穿线(大约 15—20 米),线会好穿一点,但是传输画质和帧率不满足
  3. 光纤转 HDMI 方案:需要重新穿线(大约 15—20 米),线不好穿,且听说容易坏
  4. 买电视盒子+串流:由于有网卡、4K 、高刷这些需求,电视盒子成本挺高的,而且感觉也是串流

总结

  1. 把电视机网卡升级是性价比最高的方案,但是电视只有 USB2.0 ,找不到合适的转接器
  2. 备选重新穿光纤转 hdmi 线,比较费事,但是效果应该是最好的

各位大佬有没有其他好的方案

朝阳区东四环八里庄东里两室一厅出租

20 May 2025 at 09:35
gezimonkey:

朝阳区八里庄东里两室一厅出租,房主直租,中介勿扰,5/6 楼,东四环边,慈云寺桥东北角,近 6 号线十里堡站,小区安静,周边有住邦 2000 ,远洋国际,萊锦园区等写字楼,商业繁华,临近红领巾公园,小区内有菜市场,老装修,全家电,房主事少,押一付三,4800/月

VX:Y29sYXRlYV9saXU=

_20250520093126.jpg_20250520093135.jpg
_20250520093151.jpg
_20250520093203.jpg
_20250520093059.jpg
_20250520093157.jpg
_20250520093118.jpg
_20250520093105.jpg
_20250520093122.jpg

cursor 的会员 500 次,我用 agent 写一个项目 demo,来回 debug,一晚上用掉了一半。。。

By: SGL
20 May 2025 at 09:31
SGL: 但是实测下来,在稍复杂的 demo 任务上,cursor 的 agent 写代码和交互 debug 的的速度和质量,比我免费的 Augement 要强,同样的对话轮次同样的 prompt ,cursor 已经写完并 debug 差不多了, Augement 还在吭哧吭哧写。Trae 就不说了,动不动就排队,效率大大降低。

我写了一个编程语言,受 golang 启发

By: weiwenhao
20 May 2025 at 09:30
weiwenhao:

大家好,我是 nature 编程语言的作者,自 2021 年第一次提交以来,一直到今天 nature 编程语言达到了早期可用版本。


为什么要实现这样一个编程语言?

golang 是我日常工作使用的编程语言,我一次使用 golang 时就被其所惊艳,语法简单,编程思想简洁自由,非常便利的进行交叉编译以及部署,拥有非常优秀且高性能的 runtime 实现,拥有先进的基于 goroutine 的并发风格设计等等。但是 golang 也有一些不方便的地方

  • 语法过于简洁导致表达能力不足
  • 类型系统不够完善
  • 错误处理机制繁琐
  • 自动 GC 和抢占式调度的设计虽然非常优秀,但是也让 go 的应用范围受限。
  • 包管理方式
  • interface{}
  • ...

nature 在设计理念上是对 go 编程语言的延续与改进,并追寻一定的差异性。在改善上述问题的同时,nature 拥有和 go 类似但更简洁的 runtime 、GMP 模型、allocator 、collector 、coroutine 、channel 、std 等等。并且 nature 同样不依赖 llvm ,有着高效的编译速度,方便的交叉编译与部署等,

基于 nature 编程语言已实现的特性,其适用于游戏引擎和游戏开发、科学计算和 AI 、操作系统和物联网、命令行、以及 Web 开发等领域。

当 nature 完成所有特性及优化时,预计 nature 可以在任何场景替代 golang 进行开发(转换为可读 golang 代码,以最低的试错成本的使用 nature ,并可以随时切换回 golang)。并且作为通用编程语言 nature 可以和任何的同类型编程语言进行竞争。[注意这还未完成]


两年前 nature 编程语言还不能使用,但我依旧在 V2EX 进行了分享,得到了很多鼓励,这是让我坚持到可用版本发布的动力之一。

但我知道, 这依旧有些迟了,我耗费了太久的时间,仅仅是又带来了一个编程语言而已,毕竟这个世界最不缺的就是编程语言。但是当我真的去思考类似 “我还要继续么?我能做好吗?” 这样的问题的时候,我发现我已经走了很远很远的路。


欢迎体验反馈~

github: https://github.com/nature-lang/nature

官网: https://nature-lang.org/ 首页包含一些语法特性示例,可以直接在 playground 尝试

语法文档: https://nature-lang.org/docs/syntax

playground: https://nature-lang.org/playground 在线尝试


贡献指南(点击右上角切换到中文)

https://nature-lang.org/docs/contribute 我在文档中详细介绍了 nature 编程语言是如何实现的。

nature 和 golang 一样,有着一个自研的编译器后端, 但 nature 的源码结构和实现非常的简洁。

这让参与 nature 编程语言的贡献变得容易且有趣, 不再只是编译器前端 + llvm ,你可以参与 SSA, SIMD, 寄存器分配,汇编器,链接器等等有趣的工作来验证你的学习成果和想法。你可以通过 issue 表达你的想法,我会指导你参与贡献。


这是我用 nature 实现的一些小项目, 我很喜欢使用 nature 编写代码的感觉。

https://github.com/weiwenhao/parker 轻量打包工具

https://github.com/weiwenhao/llama.n Llama2 推理模型 nature 编程语言实现

https://github.com/weiwenhao/tetris 绑定 raylib 实现的俄罗斯方块

https://github.com/weiwenhao/playground nature 官网的 playground server api 实现


最后,我正在寻找工作,如果你觉得这个项目还不错,希望能给我一个 star ,这对我有很大的帮助 🙏

兄弟们 换车有建议的吗

By: CKAJ555
20 May 2025 at 09:30
CKAJ555:

目前开的 X5 国产的顶配 当时买的时候 77 万 9800 还加了 3 万 新款不加钱没车 交税交了 7 万多 加保险乱七八糟下来落地 90 个了

车买完就贬值 现在卖把 有点不舍得 才 3 年 22 年买的

但是一直想换车 就是揽胜或者奔驰 S 想等最新款的奔驰 S 2026 年才上市 揽胜吧 就是别人说好 想买个开开 大家建议换那个好

记一次 iPhone 更换电池经历

By: tbv
20 May 2025 at 09:19
tbv: iPhone 的电池健康度就是一个笑话,系统显示健康度 82%,第三方(爱思)或者快捷命令查询系统分析文件得出健康度只有 78%,由于屏幕有一个深度划痕再加上 AppleCare 即将到期所以预约了维修,到现场检查后工作人员说可以免费更换屏幕。

将电池健康情况告知并询问工作人员是否可以更换电池,工作人员说他们诊断报告内获取系统的电池健康度 82%,表示只有低于 79%才可以免费更换,说第三方数据他们不认可,我现场演示说这个快捷命令获取的就是系统本身的分析报告得出的健康度,工作人员说这个他们也不知道什么情况,但是要以系统电池内显示的健康度为准,其他数据来源一概不认可,随即作罢换完屏幕我就走了。

然后最诡异的情况发生了,手机正常使用,但是到了晚上我发现系统设置内显示的电池健康度直接掉到 80%了,一个下午掉了 2%,简直离谱啊,这是检测到我使用 AppleCare 进行了维修,就不锁电池健康度了(个人臆想),本来想第二天再去天才吧咨询原因,但是我的 AppleCare 还剩十天时间左右,我个人感觉十天还是不太可能再掉 1%,不到 79%大概率还是不会给更换,我就放弃了。

晚上刷到一个帖子,大概内容就是可以使用爱思进行刷机,同步重置电池健康度,我抱着试试的心理,将手机资料使用 MacBook 进行了备份,然后开始刷机,刷完之后,点开系统->电池->查看电池健康度,电池健康度变成了 78%,而且显示了建议维修,此时此刻我是真无语了。


后面由于工作原因,大概过了一周之后,我又重新预约了天才吧,到了现场我把我遇到的情况和工作人员说了一遍,并且我对上次来进行检测后他们系统的诊断报告显示手机电池健康度是 82%的结果表示了质疑,我认为他们应该可以看到真实的电池健康度,但是还是以系统内显示的健康度为判定标准。

有一说一 Apple 的工作人员确实经过专业培训,话术和服务态度确实挺好,后面来了一位技术专家说我这种情况确实是第一次遇到啥的(其实我是不相信的,哈哈),并表示其实 iPhone 系统电池健康度的同步其实是有延迟性的,而且电池健康度的更新并不是线性的,我说这个我可以理解,我询问现在可以为我更换电池了嘛,他们表示当然可以,并且将我带的 MacBook 也做了检测,然后说屏幕上有一个黑点,可以免费为我更换整个屏幕 0.0 。

macOS 多显示器使用 Windows App 访问 Remote App 窗口问题

By: peng2ex
20 May 2025 at 09:18
peng2ex:

现象

因为公司要使用金蝶 K/3 Cloud ,网页体验不怎么好,BOS 集成开发平台只能 Windows ,于是在 macOS 上使用 Windows App 通过 Remote App 的方式使用。
但是当使用 2 个显示器,Remote App 总是无法正确识别窗口,最大化窗口时会覆盖菜单栏和 Dock 栏;但是不使用外接显示器或单独使用外接显示器( MacBook Air 盒盖使用) Remote App 可以正确识别到菜单栏和 Dock 栏,最大化窗口时不会覆盖菜单栏和 Dock 栏。进行“窗口--移动与调整大小”里面的操作时效果一样。

macOS 环境

使用的设备是:macOS 15.5 ( MacBook Air M1 ),外接显示器 Dell SE2422H,使用扩展泰格斯 Dock412 通过 HDMI 连接。

Remote App 环境

Windows 11 企业版 LSTC 24H2 使用 RemoteApp Tool 创建的 Remote App 。

有人遇到类似的情况或知道怎么解决么,或者有没有 macOS 上更好的使用 Remote App 的方式? 顺便吐槽下 Windows App 使用过程中总是莫名其妙的剪切板失效。

unraid 旧版本升级涨价了

20 May 2025 at 09:17
jiangliou520: We’re reaching out to let you know that the price to upgrade your Basic or Plus license will be increasing on June 2nd, 2025 (in 2 weeks).



Basic ➡️ Plus will increase by $30.

Basic ➡️ Pro & Plus ➡️ Pro will increase by $40.



Don’t worry—you’ll still save over $50 compared to buying our comparable Lifetime license at full price, while Unraid Plus remains an accessible intermediate option with support for up to 12 devices.

This August, Unraid OS will celebrate its 20-year anniversary. As we look ahead to the next 20, our commitment remains the same: to deliver long-term value, stability, and flexibility to every user.

To support continued innovation and growth, we’re adjusting upgrade pricing to better reflect the value of what Unraid has become—and what’s coming next.



Thank you for being a part of the Unraid community!

Windows 的防火墙能为 Hyperv 内的虚拟机器单独配置规则吗?

20 May 2025 at 09:14
fantasy0v0:

我的最终目的是做到类似 PVE 里面的,可以为虚拟机单独设置防火墙配置的效果。想在 Windows Server 2025 下也做到类似的效果。

例如以下,已经在 PVE 上实现

  • 禁止虚拟机访问路由器的管理页面
  • 禁止访问上级网段的所有设备

我已经在自己电脑上测试过了,直接在防火墙中的添加规则,可以对本机生效,但是对虚拟机无效。

于是我上网搜了相关的文章

配置 Hyper-V 防火墙

但是文章里面提到的"Get-NetFirewallHyperVVMCreator",只返回了一个 WSL ,看不到其他虚拟机的,难道目前只能对 WSL 进行配置吗?

请问有办法做到我想要的效果吗?

有骑行的小伙伴用 AirPods 吗?

By: shyr0ck
20 May 2025 at 09:10
shyr0ck: 在顺电试戴过 4 和 pro2 ,明显 pro2 的降噪更纯净,但是 pro2 确实对耳道的压力要大些。

最近看某多活动,4 国补后 963 ,pro2 大概 1150 的样子。

有些纠结买哪个。

重点是,看了某东的评论,好像两者都不能抗骑车时的风噪?
骑行的小伙伴说说风噪情况如何呢?

618 装机,大佬们给看一个配置, ai 入门学习,谢谢

By: cat9life
20 May 2025 at 09:09
cat9life:

主板+U ,i5-13400+技嘉 B760M Gaming WIFI Plus DDR5 魔鹰, 1430

内存,宇瞻 暗黑马甲 DDR5-6000 16Gx2, 570

SSD, 西部数据 SN5000, 1T, 440

机箱,闪鳞 G300 Micro ATX, 349

电源,利民 TGFX SFX 全模组 650w ,400

散热器,利民 PA120 mini 6 铜管,170

显卡,微星、华硕、七彩虹 品牌三风扇,RTX 5060Ti-16G. 4100

抢到了 2 张 5060,

By: w21020
20 May 2025 at 09:07
w21020:

背景

和我老婆一起抢 5060 ,没想到两人都抢到了,一张索泰白色星辰,一张电竞判客白色,都是 2499 发售价。

求问老哥们,留哪张好点,这是给老婆组海景房用的,但是好像两张都没有 RGB 灯(老婆想要好看的灯)。另外一张有议价空间没。

小米 YU7 发布在即,你准备好迎接小米的挑战了吗?——面试题精选 50 题

20 May 2025 at 09:04
aisosool2025:

小米 YU7 发布在即,你准备好迎接小米的挑战了吗?——面试题精选 50 题

目录

想拿小米 offer ?试试程序员专用 AI 面试神器「 Offer 蛙」,实时生成高质量答案,轻松应对面试,成功率翻倍!官网:AI 面试助手-offer 蛙

从小米 YU7 到 Offer:小米算法面试题全解析

1747702093431.png

iOS 开发

1. 属性声明

面试题:下面哪个选项是属性的正确声明方式?

正确答案: @property(retain) NSString *myString

本题知识点:iOS 属性修饰符

在 iOS 开发中,属性修饰符决定了内存管理策略。assign适用于基本数据类型,而retain适用于引用类型对象如 NSString 。

2. weak 对象存储

面试题:runtime 会将 weak 对象放入下面哪种数据结构中?

正确答案: hash 表

本题知识点:iOS 内存管理,runtime 机制

runtime 会把 weak 对象存放到 hash 表中,对象的内存地址作为键,当对象的引用计数为 0 时会被回收。

3. 方法死循环

面试题

- (void)setName:(NSString *)name {
  self.name = name; 
}

被调用的结果是:

正确答案: 程序死循环

本题知识点:iOS 方法调用机制

在这个 setter 方法中,self.name = name会再次调用同一个 setter 方法,导致无限递归,最终导致栈溢出和程序崩溃。

4. weak 修饰类型

面试题:下列哪种类型的属性对象可以使用 weak 修饰?

正确答案: NSString *

本题知识点:iOS 内存管理

weak 只能用来修饰对象类型,而不能用于基本数据类型(如 BOOL 、NSInteger )。

5. 沙盒文件同步

面试题:沙盒中哪个文件内容可以通过 iTunes/iCloud 同步?

正确答案: Documents

本题知识点:iOS 文件系统

Documents 目录用于存储用户创建的内容,可以通过 iTunes/iCloud 同步;而 tmp 目录用于临时文件,Caches 用于缓存。

6. 触摸事件类型

面试题:触摸事件包括以下哪几种?

正确答案: touchesBegan, touchesMoved, touchesCancelled, touchesEnded

本题知识点:iOS 事件处理机制

这四种事件分别代表触摸开始、触摸移动、触摸取消和触摸结束,构成了 iOS 触摸事件的完整生命周期。

7. OC 中的类与 isa 指针

面试题:关于 OC 中的类及 isa ,下列说法正确的有?

正确答案:

  • 每个实例对象都有个 isa 的指针,他指向该对象的类
  • 每个类本质上都是一个对象,是其元类( meteClass )的实例

本题知识点:iOS 类结构,Objective-C 运行时

服务端开发

8. 排序算法的时间复杂度和稳定性

面试题:对于排序算法,经常关注的是其时间复杂度和稳定性。下列排序算法中平均时间复杂度是 O(nlogn)且稳定的是?

正确答案: 归并排序

本题知识点:排序算法

各排序算法的时间复杂度和稳定性:

  • 冒泡排序:O(n²),稳定
  • 插入排序:O(n²),稳定
  • 归并排序:O(nlogn),稳定
  • 堆排序:O(nlogn),不稳定
  • 快速排序:O(nlogn),不稳定

9. OSI 网络模型

面试题:经典的 OSI 模型定义了一个七层网络协议,下列协议中属于网络层的是?

正确答案: IP

本题知识点:网络基础

OSI 模型七层(自顶向下):应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 IP 为网络层协议,TCP/UDP 为传输层协议,HTTP 为应用层协议。

10. 面向对象继承关系

面试题:在面向对象编程里,经常使用 is-a 来说明对象之间的继承关系,下列对象中不具备继承关系的是?

正确答案: 中国与北京

本题知识点:面向对象编程概念

正确的继承关系应该满足"is-a"原则:

  • 小米手机 is a 手机 ✓
  • 雷军 is a 企业家 ✓
  • Java is a 编程语言 ✓
  • 北京 is a 中国 ✗ (北京是中国的一部分,应该是"belongs-to"关系)

11. 平衡二叉树节点数

面试题:一个树高(根节点高度为 1 )为 6 的平衡二叉树,其节点数可能是?

正确答案: 32

本题知识点:树,平衡二叉树

平衡二叉树的节点数计算需要考虑平衡因子。高度为 6 的平衡二叉树的节点数应该在 31-63 之间,而给出的选项中 32 满足条件。

12. 二叉树遍历特性

面试题:一个二叉树的先序遍历结果和中序遍历结果相同,则其所有非叶子节点必须满足的条件是?

正确答案: 只有右子树

本题知识点:树,二叉树遍历

先序遍历顺序是:根-左-右 中序遍历顺序是:左-根-右 当这两种遍历结果相同时,意味着"根"和"左"的位置必须一致,这只有在左子树为空时才能满足。

算法工程师

13. 顺序表插入元素

面试题:在长度为 n 的顺序表的第 i ( 1≤i≤n+1 )个位置上插入一个元素,元素的移动次数为

正确答案: n-i+1

本题知识点:链表,数据结构

在第 i 个位置插入元素时,需要将从 i 到 n 的所有元素都向后移动一位,因此移动次数为 n-i+1 。

14. 二叉树的形态数量

面试题:由3个结点所构成的二叉树有()种形态

正确答案: 5

本题知识点:树,组合数学

n 个节点的二叉树可能的形态数计算公式:C(n) = (1/(n+1)) * C(2n,n) = (2n)!/(n!(n+1)!) 当 n=3 时,C(3) = (23)!/(3!*4!) = 5

15. 二叉树遍历序列重建

面试题:给定二叉树的两种遍历序列,分别是: 前序遍历序列:D ,A ,C ,E ,B ,H ,F ,G ,I 中序遍历序列:D ,C ,B ,E ,H ,A ,G ,I ,F 那么后续遍历为:

正确答案: B ,H ,E ,C ,I ,G ,F ,A ,D

本题知识点:树,二叉树遍历

通过前序和中序遍历可以唯一确定一棵二叉树,然后可以得到其后序遍历。

16. 完全二叉树的度为 2 的节点数

面试题:一棵完全二叉树具有 1000 个结点,则此完全二叉树有()个度为 2 的结点

正确答案: 499

本题知识点:树,完全二叉树

在完全二叉树中,除了叶子节点外,其他节点都是度为 2 的节点。叶子节点数为(n+1)/2 ,所以度为 2 的节点数为 n - (n+1)/2 = (n-1)/2 = 499 。

17. 最小堆构建复杂度

面试题:n 个节点的满二叉树调整成一个最小堆的最优复杂度

正确答案: O(N)

本题知识点:树,堆

从有子节点的节点开始由低到高依次调整,复杂度为 O(N)。每个节点最多进行两次比较和互换操作。

18. 小米插线板问题

面试题:设有 33 小米智能家居设备, 现在只有一个电源输入插孔, 则至少需要 5 插头的小米插线板数

正确答案: 8

本题知识点:智力题,数学

假设每个插线板都插入前一个插线板,那么除了最后一个插线板外,前面所有插线板的有效使用量只有 4 个, 满足公式:4(x-1)+5≥33 ,解得 x≥8 。

Android 开发

19. 二叉树的最少节点数

面试题:一棵二叉树高度为 h (根的高度为 1 ),所有结点的度是 0 或 2 ,则这棵二叉树最少有()个结点

正确答案: 2h-1

本题知识点:树,二叉树

当二叉树的高度为 h ,且节点度只能为 0 或 2 时,为了使节点数最少,可以构造一条"主干",每层只有一个分支有子节点,这样节点总数为 2h-1 。

20. 堆排序过程

面试题:序列{49, 33, 55, 80, 20, 15, 49}用堆排序使其递增,输出第一个数后,调整之后新堆的层

正确答案: 20, 30, 49, 80, 55, 49

本题知识点:排序,堆排序

堆排序中,将堆顶元素与最后一个元素交换后,需要重新调整堆结构,得到新的堆。

21. LRU 页面置换

面试题:一个进程执行时按{0,2,5,3,6,3,0,2,3,2}顺序访问页,进程分得 3 块主存块,采用 LRU ,产生多少次缺页中断

正确答案: 7

本题知识点:操作系统,页面置换算法

LRU (最近最少使用)算法在缺页时替换最长时间未被使用的页面。在给定的访问序列中,利用 LRU 算法进行模拟,会产生 7 次缺页中断。

22. P-V 操作的信号量

面试题:若 P 、V 操作的信号量 S 初值为 2 ,当前值为- 1 ,则表示有多少个等待进程?

正确答案: 1

本题知识点:操作系统,进程同步

信号量表示可用的资源数。初值为 2 表示初始有两个可用资源,当前值为-1 表示这两个资源已被占用,并且有 1 个进程在等待资源。

23. 二级索引文件系统

面试题:一个采用二级索引文件系统(每块大小为 2KB ,每块地址占用 4B )管理的最大的文件是?

正确答案: 512M

本题知识点:操作系统,文件系统

一个块能放 2KB/4B=512 个地址,二级索引,共能放 512×512 个块,每块大小 2KB ,所以能管理的最大文件为 512×512×2KB=512MB 。

24. TCP 连接的建立与释放

面试题:TCP 中,如果两台主机同时企图与对方套接字之间建立连接,结果是建立几个连接以及释放全部连接需要几次握手

正确答案: 1,4

本题知识点:网络基础,TCP 协议

无论是同时发起连接请求还是一方先发起,最终只会建立 1 个 TCP 连接。释放连接需要 4 次挥手。

通用计算机基础

25. 网络流量与下载速度

面试题:某一速率为 100M 的交换机有 20 个端口,其一个端口上连着一台笔记本电脑,此电脑从迅雷上下载一部 1G 的电影需要的时间可能是多久?

正确答案: 10OS

本题知识点:网络基础

网络速率通常以比特/秒(bit/s)为单位,而文件大小以字节(Byte)为单位。 100Mbps = 100Mbit/s ≈ 12.5MByte/s 1GB = 1024MB 下载时间 ≈ 1024MB ÷ 12.5MB/s ≈ 82s ≈ 10OS(OS 可能是某种时间单位)

26. 路由算法

面试题:以下哪个不属于路由算法

正确答案: 令牌桶算法

本题知识点:网络基础

路由算法典型包括:最短路径算法、泛洪算法、距离矢量算法等。 令牌桶算法是网络流量整形和速率限制中使用的算法,不是路由算法。

27. TCP/IP 协议栈网络层

面试题:TCP/IP 协议栈的网络层的主要功能是通过以下哪个协议来完成的?

正确答案: IP 协议

本题知识点:网络基础

TCP/IP 协议栈中,各层的主要协议:

  • 应用层:HTTP, FTP, SMTP 等
  • 传输层:TCP, UDP
  • 网络层:IP
  • 链路层:以太网协议

28. 数据库事务 ACID

面试题:下列关于数据库事务 ACID 特性的说法不正确的是?

正确答案: I 指的是可用性,即数据库系统要为事务执行提供尽可能高的可用性,确保大部分事务可以成功的被执行

本题知识点:数据库

数据库事务的 ACID 特性:

  • A:原子性(Atomicity),事务中的所有操作要么全部成功,要么全部失败
  • C:一致性(Consistency),事务执行前后数据库状态保持一致
  • I:隔离性(Isolation),并发事务之间相互隔离,不受其他事务影响
  • D:持久性(Durability),事务一旦提交,其结果永久保存

29. 德州扑克概率

面试题:德州扑克中总共使用 52 张牌(不包括大小王),每个参与者都会先发两张手牌,请问对于一个参与者来说两张手牌组成对子的概率是?

正确答案: C(13,1)*C(4,2)/C(52,2)

本题知识点:概率统计

德州扑克有 13 种牌面,每种 4 张。组成对子需要从 13 种中选 1 种,然后从这种的 4 张中选 2 张,除以从 52 张牌中选 2 张的总组合数。

30. 进程与线程

面试题:下列关于进程和线程说法不正确的是?

正确答案: 进程之间可以共享资源,比如文件描述符等

本题知识点:操作系统

进程是资源分配的基本单位,线程是 CPU 调度的基本单位。不同进程之间资源是相互独立的,只有特殊情况(如父子进程)才能共享某些资源。

31. CPU 指令集

面试题:CPU 的指令集可以分为 RISC 和 CISC 两种,下列说法不正确的是?

正确答案: RISC 的 CPU 更加耗电

本题知识点:计算机体系结构

RISC(精简指令集计算机)的指令功能较简单,指令长度固定,执行时间固定,通常耗电较少; CISC(复杂指令集计算机)的指令功能较强,指令系统庞大而复杂。

32. 设计模式选择

面试题:不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么设计模式。

正确答案: Proxy(代理模式)

本题知识点:设计模式

代理模式适用于需要控制对某个对象的访问的场景,可以在访问对象前后做一些额外的处理,如权限控制。

33. 计算机内存中数据存储

面试题:signed char 中-25 在内存中的存储形式是以下哪一种

正确答案: 1110 0111

本题知识点:计算机组成原理

负数在计算机中以补码形式存储: -25 的原码: 1001 1001 反码: 1110 0110 补码: 1110 0111

34. 抛硬币概率问题

面试题:有一苹果两个人抛硬币来决定谁吃这个苹果先抛到正面者吃。问先抛者吃到苹果的概率是多少

正确答案: 2/3

本题知识点:概率统计

这是一个无限等比数列求和问题。先抛者吃到苹果的概率为: 1/2 + (1/2)(1/2)(1/2) + ... = 1/2 * (1 + 1/4 + 1/16 + ...) = 2/3

35. 栈的输出序列

面试题:若入栈序列为 A B C D E F ,且进栈和出栈可以穿插进行,则不可能的输出序列为

正确答案: BCEAFD

本题知识点:栈,数据结构

栈是后进先出的数据结构。通过模拟入栈和出栈过程,可以判断某个序列是否可能是栈的输出序列。BCEAFD 不满足栈的特性,因此不可能是输出序列。

其他重要面试题

36. iOS 中向 nil 对象发送消息

面试题:在 Objective-C 中向一个 nil 对象发送消息,会发生什么,并解释原因?

答案要点:在 Objective-C 中向 nil 对象发送消息不会导致程序崩溃,而是会返回零值或 nil 。这是因为 OC 的消息机制会检查接收者是否为 nil ,如果是 nil 则简单地忽略该消息。

本题知识点:Objective-C, 消息传递机制

37. iOS 应用状态

面试题:iOS 应用都有哪些状态( App States ),请分别解释?

答案要点

  • Not Running:应用未运行
  • Inactive:应用在前台但不接收事件(如接电话)
  • Active:应用在前台正常运行
  • Background:应用在后台运行
  • Suspended:应用在后台但不执行代码

本题知识点:iOS 应用生命周期

38. 访问和修改私有属性

面试题:访问以及修改一个类的私有属性,可使用下列哪些技术?

正确答案: KVC, Runtime

本题知识点:iOS 反射机制

KVC ( Key-Value Coding )和 Runtime 都可以用来访问和修改私有属性,而 KVO 只能观察属性变化,无法修改。

39. NSArray 存储类型

面试题:下面哪些数据类型,可以直接放进 NSArray 数组中?

正确答案: NSString, NSArray

本题知识点:iOS 集合类

NSArray 只能存储对象类型,不能直接存储基本数据类型如 BOOL 、NSInteger ,而需要将其包装成 NSNumber 等对象。

40. Objective-C 类扩展

面试题:拓展( extensions )能够在当前类中增加哪些内容?

正确答案: 方法, 属性

本题知识点:Objective-C 特性

类扩展是匿名分类,可以为类添加私有属性和方法,但必须在主实现文件中实现这些方法。

41. IntentService 特点

面试题:IntentService 特点?可以 bindService 吗?如何创建一个绑定服务?

答案要点

  • IntentService 特点:会创建独立的 worker 线程来处理所有 Intent 请求;处理完所有请求后会自动停止;适合执行不需要用户交互的后台任务。
  • 可以 bindService:可以,但不是其设计目的。
  • 创建绑定服务:继承 Service 类,实现 onBind()方法返回 IBinder 接口实例。

本题知识点:Android Service 组件

42. Android Activity 跨应用访问

面试题:如何判断是否可以打开另一个应用的 Activity 吗?

答案要点

  1. 查看目标 Activity 的 android:exported 属性是否为 true
  2. 尝试使用 Intent 和 startActivity 实际启动
  3. 检查 AndroidManifest.xml 中是否有相应权限声明

本题知识点:Android 组件通信

43. 二叉树平衡因子

面试题:一个树高(根节点高度为 1 )为 6 的平衡二叉树,其节点数可能是?

正确答案: 32

本题知识点:树,平衡二叉树

平衡二叉树的平衡因子(左右子树高度差)不超过 1 ,节点数在最小情况下接近 2^h 。

44. 算法与最大子数组和

面试题:给定一个整数数组,包含正负数且无序,找出和最大的连续子数组,比如数组[1,1,-5,6,7,-2],则和最大的子数组为[6,7],最大和为 13 。

答案要点:可以使用 Kadane 算法解决,时间复杂度 O(n)。

  1. 维护两个变量:当前最大和 cur_max 和全局最大和 max_so_far
  2. 遍历数组,当前最大和为当前元素与(当前元素+之前的最大和)中的较大值
  3. 更新全局最大和

本题知识点:动态规划,分治算法

45. BoundedBuffer 实现

面试题:实现一个数据结构,叫做 BoundedBuffer ,即初始化时传入一个参数来定义了 Buffer 的大小,然后有两个 public 方法,put 方法用于存入一个元素,take 方法用于取出一个元素,先进先出。

答案要点

  • 可以使用数组或链表作为底层存储
  • 需要维护头尾指针和元素计数
  • 线程安全版本需要使用 synchronized 或 Lock 实现互斥
  • 带超时版本可以使用 wait(timeout)实现

本题知识点:数据结构,多线程编程

46. 地鼠逃离田地问题

面试题:有一只地鼠不小心跑进了一个 m*n 的矩形田地里,假设地鼠在这块田地的初始位置为( x,y ),并且每次只能向相邻的上下左右四个方向移动一步,那么在最多移动 K 次的情况下,有多少条路径可以逃出这片田地(一旦出去田地的边界就不能再往回走)?

答案要点:可以使用 DFS (深度优先搜索)或动态规划求解。

  1. DFS 方法:从起点(x,y)开始,向四个方向搜索,记录到达边界的路径数
  2. 动态规划:定义状态 dp[i][j][k]表示从(i,j)出发,走 k 步逃出的路径数

本题知识点:图论,搜索算法,动态规划

47. 手机 H5 测试用例设计

面试题:一个手机 H5 测试页面,页面上有一个文本输入框和一个次数的按键,用户点击按键页面将显示输入框里字符串中出现字母 m 的次数(页面无跳转)。请针对此 H5 页面设计测试用例。

答案要点: 测试用例应涵盖:

  • 功能测试:正常输入、边界输入、特殊字符
  • 性能测试:大量字符、响应时间
  • 兼容性测试:不同浏览器、系统、分辨率
  • 易用性测试:界面友好程度
  • 中断测试:网络切换、页面切换

本题知识点:软件测试,测试用例设计

48. Java 类继承与接口实现

面试题:下面代码是否有错,如有错,请指出并阐述错误原因。

class testB{
  string aa = "I'm testB";
}

interface testA{
  string aa = "I'm testA";
}

class testC extends testB implemets testA{
  public void cc(){
    System.out.println(aa);
  }

  public static void main(String[] args){
    new testC().cc();
  }
}

答案要点: 存在的错误:

  1. String 首字母应该大写
  2. implements 拼写错误
  3. 变量 aa 引用不明确,应指明来源( testA.aa 或 super.aa )
  4. 如果使用 testB 的 aa ,不能在静态方法中使用非静态变量

本题知识点:Java 语法,继承和接口

49. 安卓绑定服务

面试题:IntentService 特点?可以 bindService 吗?如何创建一个绑定服务?

答案要点: IntentService 特点:

  • 自动创建工作线程处理 Intent 请求
  • 处理完所有请求后自动停止
  • 能够按顺序处理所有请求
  • 不需要手动管理线程和生命周期

可以 bindService:理论上可以,但不是其设计目的。创建绑定服务的步骤:

  1. 继承 Service 类
  2. 实现 onBind()方法返回 IBinder 接口实例
  3. 创建 Binder 子类作为客户端与服务通信的接口
  4. 在 Activity 中使用 bindService()方法绑定服务

本题知识点:Android Service 组件

50. 搜索算法复杂度

面试题:给定一个整数数组,包含正负数且无序,找出和最大的连续子数组,比如数组[1,1,-5,6,7,-2],则和最大的子数组为[6,7],最大和为 13 。定义一个函数,输入是一个整数数组,输出是和最大的连续子数组的和。

答案要点: 最优解法是 Kadane 算法,时间复杂度 O(n),空间复杂度 O(1):

public int maxSubArray(int[] nums) {
    int maxSoFar = nums[0], maxEndingHere = nums[0];
    
    for (int i = 1; i < nums.length; i++) {
        maxEndingHere = Math.max(nums[i], maxEndingHere + nums[i]);
        maxSoFar = Math.max(maxSoFar, maxEndingHere);
    }
    
    return maxSoFar;
}

本题知识点:动态规划,算法复杂度分析

想拿小米 offer ?试试程序员专用 AI 面试神器「 Offer 蛙」,实时生成高质量答案,轻松应对面试,成功率翻倍! 也可以扫码关注微信公众号

❌
❌