V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LinkedIn
V2EX  ›  hhjuteman  ›  全部回复第 1 页 / 共 2 页
回复总数  34
1  2  
65 天前
回复了 xiaoleis 创建的主题 职场话题 刚入职就想跑路了。
大伙儿都在等你入职下一家后曝光公司名
89 天前
回复了 cogear 创建的主题 职场话题 聊一聊糟心的华为 OD offer
华为 od 一直在我的黑名单里没放出来过

hr 个顶个的哈啤,一个破外包而已,算了吧
110 天前
回复了 CodeTracker 创建的主题 C++ 请各位大牛帮忙看看我做的 C++后端学习计划
我不太确定是否能给出正确的建议,因为我是做流媒体前端和服务端的,我也不太确定这些书和培训视屏是否真的有作用。

总体上来说,C++ 后端找到工作有比较核心 3 点吧
1. 刷 leetcode 算法的水平
2. C++的水平
3. 网络编程的水平

首先说说刷算法题的问题吧:
我的个人建议是每天都刷 2 题,周末就不刷了,稍微总结一下做题思路和题型。保证自己找工作的时候差不多有个 300 题左右的题量,能吃透题型,差不多行了,算法相关的笔试面试基本上也不会被刷。

C++的水平:
我要说的是,我正儿八经看完的 C++的书就只有 4 本
《 effective c++》
《 effective morden c++》
《 c++ concurrency in action 》
《 c++ templates 》
我连 c++ primer 之类的都没看过,刚开始入门的话,是结合一些开源项目,例如 tdesktop ,beast 之类的去看的。遇到不懂的就翻 c++ reference 。然后自己写点东西,尝试模仿这些项目的写法,然后阅读了 effective 的两本书。后面发现了 cpp coreguide line 这种好东西,以及 cppcon 。在长期阅读开源代码以及自己写代码潜移默化的过程中不知不觉的就懂了大部分 c++语法以及部分模版的用法,后来又想系统学习下模版,就看了《 c++ templates 》。

cppcon 早年间那几届,有几个对我来说是惊雷般的演讲,例如 Mike Action 的 dod 相关的演讲。我的建议是 c++到了中级水平,多关注 cppcon ,遇到不懂的,多看看 isocpp 草案的标准定义。

有关于 stl ,我也没有看过《 STL 源码剖析》这种比较出名的书,大部分的知识来自于一个叫做 eastl 的开源项目。

网络编程的:
书的话我就只看过三本
《 tcp/ip 详解》
《 unix 网络编程》
《 unix 环境高级编程》
我个人认为,asio 是所有 c++开发都应该了解的一个库,如果 c++需要一个网络标准库,那只能是 asio 。我个人建议在你的 7 个月的实验项目中尝试使用 asio ,思考 asio 到底给你提供了什么,思考一下 asio 中的异步 io 和 epoll ,iouring 之间的模式。asio 里面有一些 cpp 草案相关的内容,你也可以尝试。

另外 nginx 也是绕不过去的,您应该在 nginx 好好下一番功夫,同时关注 envoy 这个项目。

有关与存储缓存等内容
说实话,我刚开始上班的时候也搞过网络编程,具体也就是一些网关,数据过滤相关的工作。没用到过 redis ,mysql 之类的。后面搞流媒体,同样也不在业务范围内。所以我虽然看过 redis 源码,但是长期不怎么使用也只记得个大概了,这方面有的后端面试也会考,看你自己啰。

只是我自己的经验,不一定适用于你,希望有点帮助。
@dcsuibian ffmpeg opencv webrtc
几乎所有的安卓视频滤镜,美颜,传输,协议控制等等底层都是通过 JNI 调用的 c/c++库
121 天前
回复了 kios 创建的主题 C++ C++大型项目使用 Vim 是否合适?
我从 2014 年到 2019 年一直在用 emacs 编码,纯 emacs ,尝试过这种方案,学过 elisp 。

我在 2019 年的时候体验了一把 vs2019 的多线程调试,以及 vs 的图形 frame graph 抽帧调试以后,感觉我自己简直就像个傻逼。以前用 emacs 就为了装逼,白白浪费了自己的生命。vs 真的很好,vs2022+resharper 让我的效率至少提升了 20%,错误率也减少了 20%,debug 效率我估计至少提升了 50%。

还有一个说法是用 vs 太卡了,用编辑器更轻量级,我的建议是让老板换电脑,2022 年了,开 ide 卡的电脑还是算了吧。
133 天前
回复了 sethome 创建的主题 Qt 现在还建议提前学习 Qt 框架吗?
我做 C++流媒体服务端相关
如果是一直在 C++这条路上走,我觉得 QT 应该绕不过去。
理由如下:

1. qt 本身代码质量不错
2. qt 的 moc ,sigslot 方案,内存管理方案都值得学习,拓宽 C++视野。当然你要说我看过 UE4 的方案当我没说。
3. 什么时候真的想用 C++ 画 UI 基本首选也是 QT

可以学,不过看看你对于职业发展有没有什么规划,如果有别的规划还是按照规划来。没有规划想随便学点什么,qt 是一个选择。
142 天前
回复了 acbot 创建的主题 C++ 现在有比较好的 NAT 穿透(打洞)开源实现吗?
@acbot 是的
142 天前
回复了 acbot 创建的主题 C++ 现在有比较好的 NAT 穿透(打洞)开源实现吗?
@acbot 不知道你需要什么

如果是理论知识
rfc8445, rfc 5389, rfc 5766

如果是搭建一个反射 /中继服务器,那么 coturn 无疑开源里最好的

自己做客户端能用的库就很多了 libnice libjuice ,libnice 依赖 glib ,你能接受的话就用 libnice ,libjuice 没有实现 rfc 的 tcp 扩展,但是对接标准使用没有问题,也没有 glib 这种重依赖。
142 天前
回复了 acbot 创建的主题 C++ 现在有比较好的 NAT 穿透(打洞)开源实现吗?
stun/turn
@Heartbleed webrtc 包含了 ffmpeg 的几个模块,直接学 webrtc 就行了,到了用到 ffmpeg 的模块再看
190 天前
回复了 wanghg 创建的主题 程序员 现在 Java 转 go 有希望吗?
王强,你完了,我要给老板说你在摸鱼,还要转行
就这你就不行了啦?

来一段模版类型推导折叠规则:
T& & => 什么类型?
T& && => 什么类型?
T&& & => 什么类型?
T&& && => 什么类型?


你要是连 reference 的符号都觉得绕,劝你早日放弃 c++。
198 天前
回复了 ration 创建的主题 .NET 求推荐. netcore 以上版本 CLR 的相关文章或书籍
好像市场上没有这种书了

只能看 CLR via c#, 然后看代码了。
既然你已经看了 ULK ,那么看代码已经是一个比较好的选择了。
https://www.kernel.org/doc/gorman/html/understand/

这里有一份材料,相比 ULK 更加深入的介绍了 mm 的各个部分,但因为材料基于 2.6 ,作为看代码的辅料进行。

https://github.com/chenshuo/linux-study

我这里推荐使用这个项目来学习 Linux 内核,这个项目抽离 Linux 代码,使得 Linux 可以像程序一样编译调试,这样看起来会更加的清晰。

后面是学习 Linux 内核最最最最重要的部分了:

学习 Linux 内核,到底是在学习什么?什么是 Kernel ,我的理解是内核是一系列算法和模型的集合,这些算法和模型是用来调配硬件的,调配硬件不一定要懂硬件模型,因为内核中的算法和模型集合抽象程度已经相当高了。

学习内核,及学习其中的算法,我举个例子,比如说学习 zfs ,我们吧 zfs 中的加到数据库的容灾中去,改造数据库,这是一个例子。比如说学习 mm ,mm 中的 slab 内存分配原理,再看看市面上另外优秀的内存分配算法实现,如 mimalloc ,从而定制更加精细的内存分配算法,这是一个点。你说从什么启动,什么 bootloader 开始学起,没有意义,舍近求远,因为 mm 和这些完全无关,这就是独立的算法和设计模块。很多市面上所谓的那种简易操作系统书,总喜欢大篇幅再 loader 上做文章,这也是舍近求远的做法。我们学习的是 modern os ,"modern"这个词至关重要。

你可以根据我给的第一个 link ,结合第二个连接源码看看 Nodes ,Zones ,TLB ,Slab 等等结构,更多的精细算法我就没研究过了,我研究过 net 和 ext 部分。
每个平台不一样,qt 好像没有统一 api 。

https://github.com/paullouisageneau/libjuice/blob/62b88fb776b1a79638c683192744f3ec0b430c6f/src/udp.c#L428


贴了个大概的参考,可以看看
212 天前
回复了 SIEMENS 创建的主题 Telegram 4G 网络下 telegram 无法语音通话
1 对 1 的话我估计是 p2p 的问题。

telegram 通过 mtproto2 交换信令信息,信令信息包含了 ice candidate 。

ice candidate 的优先级如下:
host candidate
reflx candidate
relay candidate

最后进行 candidate pairs 的连通性检查。
一般来说发信息正常,candidate 的信令交换没问题,但是最后的连通性检查很有可能不成功,但是都用 relay candidate 的时候不成功就比较诡异了。
就事论事,telegram 的 build doc 你肯定没读过。win64 generator 脚本最后生成出来的就是 sln 文件,虽然是用 cmake 生成的。既然是用 cmake 生成的,在 Clion 里面一样可以配置,不过参数比较多。
面试官不合格
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1342 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 86ms · UTC 18:48 · PVG 02:48 · LAX 11:48 · JFK 14:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.