技术

最近发现parcel支持宏了,可以在编译时执行一些代码,用官网的例子

javascript
import regexgen from "regexgen" with { type: "macro" };

const regex = regexgen(["foobar", "foobaz", "foozap", "fooza"]);
console.log(regex);

这段代码在编译后会变成

javascript
console.log(/foo(?:zap?|ba[rz])/);

处理一些环境变量的时候会很方便。

流式渲染

最近发现可以用 slot 实现流式渲染,写了一篇文章记录下来

tsup 打包

发现 tsup 在处理 commonjs 的默认导出时会有问题,有时没办法设别到是默认导出,会额外用一个 default 导出,打包后要用module.default.default(),但开发是这样调用肯定是不行的,最后只能额外写一个函数做兼容处理

javascript
export function interopDefault(m) {
  return m.default || m;
}

图片压缩

最近有图片压缩的需求,研究了目前比较流行的几种压缩方式

  1. imagemin,下载量比较高,但目前不维护了。
  2. squoosh, google 出品,有一些三方包,效果中规中矩。
  3. tinypng,效果应该也是最好的,但要收费,免费每月只有 500 张,有格式转换需求还有少一半,不支持 gif。
  4. sharp,开源免费,效果比起 tinypng 差一点,但也是一个不错的选择。

生活

这周主题还是面试,但状态相比之前好了很多,这周面试的公司还没有一个挂的,而且进度非常快,一般上午面试下午就打电话约下一面了,基本每天都约了两场,所以这周也没怎么投

面试

简单聊聊面试的公司吧

数字马力

一面就是常规的流程,自我介绍然后问了点项目,然后就是八股文,非常常规的那种,现在都直接没印象了,就记得让说了下 react18 的新特征,笔试题是比较版本号,大概一个小时

二面是电话面,主要聊了项目,期望薪资,离职原因和未来规划,问了下 react 子组件怎么获取父组件方法,没有笔试什么的,大概半个小时,目前还没有 hr 面的消息。

得物

一面是个比较年轻的面试官,自我介绍完就问了项目的问题,然后就是八股文,还是非常常规的那种,不会让你深入什么的,问了渲染流程、flex 布局、react 怎么渲染的问题,没有笔试题,大概一个小时

二面主要聊项目,问了下项目的亮点、工作的内容、公司的业务、项目规范这些,还有离职原因、未来规划、期望薪资,最后让写了个笔试题,也是比较版本号(咋都这么喜欢这道题)大概半个小时。

海康威视

一面面试官也比较年轻,也不是这个部门的,也是很常规的流程,完全没有什么特别能让人记得的地方,问了下项目,然后就是八股文,大概一个小时

二面是主要聊项目和业务方面,但会问的比较细,问你职业规划的时候还会继续问下去,后面反问这里给我介绍业务这里给我讲了很久,大概一个小时。面完一个小时就约 hr 面了,效率确实高

阿里三面

本来以为挂了,结果还是给我约了三面,不过是加面,一般有加面都有点悬。面试官是其他部门的,都是聊得项目,基本每个项目都会让你讲一下,不会特别深入,后面还去我 github 上看了下(好像是第一个看的),问了下 github 的项目,然后又聊到毕业设计,问我给毕业设计加上协作的功能怎么做,后面就让我自己挑个项目深入讲下。聊了大概一个小时,面试官 3 点有事。后面发生了小插曲,第二天我面试时有阿里的电话打过来,我下意识挂了,阿里的电话是没办法拨回去的,我以为后面回再打回来,结果当天都没电话打过来,不过下一天还是打过来了,是约四面的电话

鸽面

人生第一第二次鸽了面试,不过这有很大一部分不是我的原因

鸽的第一个是钉钉的面试,之前有电话说约面试的,但具体时间说会在钉钉上通知,结果我钉钉等半天也没人加我,也没邮件什么的,一直到当天突然给我打个电话,不过我当时在面试,就没接,后面才知道是钉钉的面试。血的教训,电话一定要接,面试的话你说网络断开啊什么的都好,一两分钟接个电话肯定没什么影响。

第二个是新国都的面试,这个想想都来气,本来是约的滴滴,我还提前了一个小时,结果我等了一个多小时还没来,打了几次电话都说快了快了,后面时间也来来不久了,就直接取消订单了,面试当然也是鸽了。下次还是坐高铁这种靠谱点的工具,虽然慢点但靠谱。

生病

离职第一周,本来打算出去玩玩的,结果一不小心就染了流感,计划全乱了,好几天头都晕乎乎的,还是要锻炼身体啊,要多注意保护,身体才是革命的本钱啊。