草庐IT

2023届软件工程双非毕业生的秋招经历和经验分享【免费获取面经】(2022.05-2022.11)

我是一名2023届双非毕业生(软件工程专业,无实习经历),大概从7月开始吧,打磨简历、刷笔试题、看面经、找公司、投简历、做性格测试、做笔试、面试、总结面试,之后再次打磨简历。。。这样周而复始的几个月过去了,有一些经验之谈或者说是切身体会吧,在此做一下记录和分享。(我投递的后端开发岗居多数)1、关于简历从简历开始说起吧,之前我有一个观念:简历可以自行润色抛光,也就是说可以有虚构的成分。但是经过这几个月的实际体验,我认为关于这个要慎重。如果像我一样投递技术开发岗位,关于个人技能和项目经历的模块最好还是实事求是,有什么就写什么,把熟悉的往前写,而且注意对技能掌握程度的修饰用词,比如【了解、一般、熟练

【《硬件架构的艺术》读书笔记】05 低功耗设计(2)

5.5体系结构级降低功耗技术5.5.1高级门控时钟同步数字系统中,时钟分布贡献了整个数字开关功率中的绝大部分。很多情况可以通过门控时钟将绝大部分不使用的电路关闭。插入门控时钟前和插入后电路功能并没有改变,所以可以用一致性检查工具进行验证。组合门控时钟方案在输出不变时使触发器时钟失效,可以用于降低5%~10%的功耗。时序门控时钟能减少连接到带有门控时钟的寄存器块的设计部分的冗余切换。使用时序门控时钟时,后续的流水线阶段也使用同样的条件进行门控操作。时序门控时钟在实现时会加入额外的逻辑,所以不适用于多位宽数据。    使用门控时钟最大挑战:识别出流水线上“多余的”或“不关心”的状态。一旦该工作完成

【《硬件架构的艺术》读书笔记】05 低功耗设计(2)

5.5体系结构级降低功耗技术5.5.1高级门控时钟同步数字系统中,时钟分布贡献了整个数字开关功率中的绝大部分。很多情况可以通过门控时钟将绝大部分不使用的电路关闭。插入门控时钟前和插入后电路功能并没有改变,所以可以用一致性检查工具进行验证。组合门控时钟方案在输出不变时使触发器时钟失效,可以用于降低5%~10%的功耗。时序门控时钟能减少连接到带有门控时钟的寄存器块的设计部分的冗余切换。使用时序门控时钟时,后续的流水线阶段也使用同样的条件进行门控操作。时序门控时钟在实现时会加入额外的逻辑,所以不适用于多位宽数据。    使用门控时钟最大挑战:识别出流水线上“多余的”或“不关心”的状态。一旦该工作完成

【《硬件架构的艺术》读书笔记】05 低功耗设计(3)

5.6在寄存器传输级降低功耗RTL完成时80%的功耗就已经确定,后端不能解决所有功耗问题。综合前RTL阶段就应讲与功耗有关的所有问题解决。5.6.1状态机编码与解码格雷码在相邻状态转换时仅有一位发生变化,消耗能量更少。此外格雷码编码的状态机也消除了依赖于状态的组合等式中存在毛刺的风险。  若使用别的编码风格,仍可以通过让翻转频率最高的状态有最少的翻转位数,降低功耗。另一种方法:把FSM和STG(状态转移图)分解成两个,若两个子FSM之间没有转换发生,那么只有一个FSM需要供给时钟。5.6.2二进制数表示法某些应用中,有符号数在切换过程中比补码更有优势。  某些只使用积分器求和的应用,补码在0-

【《硬件架构的艺术》读书笔记】05 低功耗设计(3)

5.6在寄存器传输级降低功耗RTL完成时80%的功耗就已经确定,后端不能解决所有功耗问题。综合前RTL阶段就应讲与功耗有关的所有问题解决。5.6.1状态机编码与解码格雷码在相邻状态转换时仅有一位发生变化,消耗能量更少。此外格雷码编码的状态机也消除了依赖于状态的组合等式中存在毛刺的风险。  若使用别的编码风格,仍可以通过让翻转频率最高的状态有最少的翻转位数,降低功耗。另一种方法:把FSM和STG(状态转移图)分解成两个,若两个子FSM之间没有转换发生,那么只有一个FSM需要供给时钟。5.6.2二进制数表示法某些应用中,有符号数在切换过程中比补码更有优势。  某些只使用积分器求和的应用,补码在0-

读编程与类型系统笔记05_函数类型

1. 策略模式1.1. 在运行时从一组算法中选择某个算法1.1.1. 封装一组算法1.1.2. 在运行时使用其中一个算法1.2. 把算法与使用算法的组件解耦1.3. 面向对象实现1.3.1. 惯例实现1.3.2. IStrategy接口1.3.3. ConcreteStrategy1类1.3.4. ConcreteStrategy2类1.3.5. 通过IStrategy接口使用算法的Context类1.3.6. 常见原因1.3.6.1. 依赖接口的方法1.3.6.2. 设计模式在20世纪90年代流行起来1.3.6.3. 当时并不是所有主流编程语言都支持一等函数1.4. 函数式实现1.4.1. 

读编程与类型系统笔记05_函数类型

1. 策略模式1.1. 在运行时从一组算法中选择某个算法1.1.1. 封装一组算法1.1.2. 在运行时使用其中一个算法1.2. 把算法与使用算法的组件解耦1.3. 面向对象实现1.3.1. 惯例实现1.3.2. IStrategy接口1.3.3. ConcreteStrategy1类1.3.4. ConcreteStrategy2类1.3.5. 通过IStrategy接口使用算法的Context类1.3.6. 常见原因1.3.6.1. 依赖接口的方法1.3.6.2. 设计模式在20世纪90年代流行起来1.3.6.3. 当时并不是所有主流编程语言都支持一等函数1.4. 函数式实现1.4.1. 

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读

【量化读书笔记】【打开量化投资的黑箱】CH.05. 交易成本模型

交易是有成本的,除非有足够的理由,否则便不应该进行交易。交易的原因增加盈利的期望值降低亏损的期望值对交易成本的估计过低,会导致交易过于频繁,损失扩大。过高,导致交易次数少,持仓时间过长。一、定义交易成本交易成本主要由:佣金和费用、滑点以及市场冲击成本构成。1.1.佣金和费用指支付给经济商、交易所和监管者的费用。同时,经纪商在提供清算和结算服务是,也会收取费用(一般是佣金的一部分)。1.2.滑点滑点是指在交易者决定开始交易,到订单交易所系统实际被执行时,这个时间段所发生的价格变动。滑点会给趋势跟随策略带来更多的损失,给均值回复类的策略带来的损失较少。预测、尤其是短期预测越准确,滑点带来的潜在损失