面试还是不写或者少写博客
写了博客被面试官看到了,还说博客不错,抓着一个底层的点狂问,感觉要窒息了。
博客里写了 Python 的线程不安全是因为 i++;等 C 语言的库原生就不是线程安全的,导致 Python 也不是线程安全的。然后被疯狂问 i++你怎么理解非线程安全?怎么想的?从底层理解解释一下?感觉要死了
PS:面试官人很好,就是我太菜了,哭了哭了(´•̥ ̯ •̥`)
写了博客被面试官看到了,还说博客不错,抓着一个底层的点狂问,感觉要窒息了。
博客里写了 Python 的线程不安全是因为 i++;等 C 语言的库原生就不是线程安全的,导致 Python 也不是线程安全的。然后被疯狂问 i++你怎么理解非线程安全?怎么想的?从底层理解解释一下?感觉要死了
PS:面试官人很好,就是我太菜了,哭了哭了(´•̥ ̯ •̥`)
相关文章表示 i++会编译成
mov ecx,dword ptr [i]
add ecx,1
mov dword ptr [i],ecx ;i 自增
所以就很奇怪,明明可以 inc <mem>的
inc, dec — Increment, Decrement
The inc instruction increments the contents of its operand by one. The dec instruction decrements the contents of its operand by one.
Syntax
inc <reg>
inc <mem>
dec <reg>
dec <mem>
Examples
dec eax — subtract one from the contents of EAX.
inc DWORD PTR [var] — add one to the 32-bit integer stored at location var
https://www.felixcloutier.com/x86/inc
博客还是要写的,写自己弄懂的内容。
A:这个人答不出的问题蛮多的,不太行。
B:这个人懂的东西蛮多的,还不错。
对于前者的话,在意的是给你 10 个问题你能回答出几个,那自然是浅显的问题更好。
对于后者的话,在意的是你最多能回答出多大范围的问题,那当他提出更深的问题的时候,其实潜意识中已经认为你能够回答出更浅显的问题了。

比如面试官问你 js 中 getOwnProperty 这个方法是做啥的,你支支吾吾的说是做这个的,其实你不懂。
假如你说不记得 js 中有 getOwnProperty 这个方法,但是有 hasOwnProperty 这个方法,这个方法是…。
这说明你是真的懂 /精通。
一些人面试喜欢纠结面试官是不是比自己厉害,是不是啥都懂,人家是招人的,就是要招比自己厉害的人的。
还有一些人讨论问题不抓问题根源,喜欢纠结表面的东西,什么你也不懂了怎么怎么样。但是就是不去解决问题,去思考深层的东西。
写博客的好处是自己写的时候会去回忆思考,并且以后再看的时候可以加深印象理解。
所以,面试和你写不写博客没关系。
i++的问题只要用过 C/C++写过多线程就会遇得到。C/C++没有多线程安全特性的库多了去了。就是 C++的 STL 库,比如 vector 和 string,都不是线程安全的。因为一旦考虑到多线程安全,就会损失运行效率。C/C++对此很斤斤计较,越是通用的库,越计较。于是你看到很多基于 C/C++的高级语言,比如说 PHP,会有两个版本——Non Thread Safe 和 Thread Safe,就是这种情况的体现。
至于上那些依赖于编译器优化的做法,老实说不太符合编程规范中对“可移植性”的要求。语言标准里未有规定,需要依赖于编译器实现的行为,属于“Undefined Behaviour” (未定义行为, 简称 UB)。这种“黑科技”不是不能用,因为确实可以节省开发精力,提升运行效率。但你必须要知道这种东西对“可移植性”的破坏,然后小心谨慎地去使用它们。一般来说,UB 能不用最好不用。
博客这个,如果是作为摘抄本,是很没有必要的。经常能看到 CSDN 上面一天更新 20 篇博客,一看内容都是抄的那种,意义不大。实际上也非常厌恶这种,包括不作为的平台,因为这种垃圾生产者经常会把有价值的东西埋起来。有的博客写的非常随意,几行文字,没有任何具体的信息,也不大喜欢,因为信息总是有适用的场景的,A 解决的问题同样的方法给 B 不一定可以用。
博客的意义在于两点,对其他人来说是共享知识的重要的途径,对于自己来说是重新审视、重新理解学过的知识的非常好的机会。
我家里面我爹是做土木的,从小给我讲数学物理就是,先讲清楚 prerequisite,提出问题以后逐步引入新的方法或者概念,然后深入,最后留出来一个引子,让我自己朝着更深的方向做尝试。大学以后开始给别人讲东西,多多少少参照了我爹的想法,都是先一点点往回退到对方不会的地方,然后一点点引出来新的东西。再到后来写博客,虽然很多东西没有写出来,但是实际来说一篇博客从想到 idea 到写出来文章,读资料需要三天到一周写只需要一天两天,麻烦的可能从想到问题到写出来东西需要半年。文章的话一般就是问题、prequisite 、解决方法、总结的结构,作为技术博客一般也够了。
这跟跑步是一样的 是长期才可以看出效果的东西 你写博客坚持了多久 ?
https://stackoverflow.com/questions/6319207/are-lists-thread-safe