V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  luw2007  ›  全部回复第 1 页 / 共 12 页
回复总数  225
1  2  3  4  5  6  7  8  9  10 ... 12  
2021-03-29 15:51:34 +08:00
回复了 Mr0C 创建的主题 程序员 有必要补下基础再去面试吗
刷题和刷基础知识很重要。
看到很多同学基础不扎实。上来就面试,面试一次不过。相同的问题再面,还是不会。
这里感觉不是人不努力。是缺少方法和人力。
2021-03-26 21:47:44 +08:00
回复了 luwill 创建的主题 职场话题 实习生项目经历应该怎么写?
邮件进入垃圾箱里刚看到。

简历的项目亮点比较少,三个项目都是 demo 级别。需要区分一下前后端的侧重点。
看简历的文件名目标是后端职位,需要加强一下后端相关的描述。数据库,代码分层,语言特性的使用:如切片等。减少前端的描述。

由于你的学校不错。估计还是有面试机会。建议刷题大于简历优化。

刷一下 leetcode 看看网上飞书的面经。
2020-05-20 20:05:57 +08:00
回复了 luw2007 创建的主题 职场话题 后端开发实习生,项目经历应该怎么写?
收到 3 个简历,已经给了简历。问问他们可以公开不?
隐去隐私信息,来给大家做 case 。
2020-05-16 15:09:18 +08:00
回复了 luw2007 创建的主题 职场话题 后端开发实习生,项目经历应该怎么写?
@yiyulantian 可以帮改简历。
2020-05-16 15:05:06 +08:00
回复了 luw2007 创建的主题 职场话题 后端开发实习生,项目经历应该怎么写?
@wjswxp 超级缺人。
2019-12-23 20:24:13 +08:00
回复了 FakeLeung 创建的主题 分享发现 深夜搞机:仅需 1200 元的黑苹果二奶机 - Dell OptiPlex 9020M
登陆点赞。小机箱看上去就好看。
知识点拆解,还原成小的知识点,然后通过网络串联起来。
学习就变成了圈地。通过熟悉的知识点快速学习未知知识点,形成自己的知识网络。

这块之前想过,但是转化成产品很难。 如果 @bagel 说的。这块很难有一个切入点来做事。
2019-09-06 20:22:41 +08:00
回复了 miniliuke 创建的主题 数据库 MongoDB 数据结构方案疑问
这个没有最好的方案。 取决于但一个用户的任务数,以及操作读写占比,业务流程。
结构 3 {userid:xx,tasks:{taskid:{k:v...}}}
2019-07-06 17:41:07 +08:00
回复了 lhx2008 创建的主题 问与答 Redis 在内存逐出时阻塞导致业务不可用,有什么解决办法?
@lhx2008 ttl 设置短点,比如。 让内存里面维护的少一点对象。
或者换策略,allkey-lru 呢?
2019-07-06 11:27:14 +08:00
回复了 lhx2008 创建的主题 问与答 Redis 在内存逐出时阻塞导致业务不可用,有什么解决办法?
压缩数据呢?
每条数据接近 1k 大小,压缩掉 20%看看。
@Breadykid 大叔一个。
看业务,按照你需要的业务时间设置超时时间, 比如抢锁多长时间,可以设置成具体需要的时间, 比如 1 分钟或者 5 分钟。
这只是记录进度,如果需要保存进度信息。还需要存储到 mysql 中。
问题:布式下的导入进度条获取,限制同一数据表同一时间只能导入一次,需要记录导入进度,解决并发和服务不稳定引发的问题

解决:
同一数据表同一时间只能导入一次。使用分布式锁就可以解决。
服务不稳定,这块只要保证存储稳定就行( redis/mysql )

领导的 mysql 方案,使用建表的方式来解决分布式锁的方式目前不太建议使用在高并发的后端服务。主要是性能太差。
同事的 zookeeper 方案,使用 zk 来做分布式锁。这个方案本身没有问题。不过考虑 zk 的部署,业务代码编写并非很容易,建议可以用来扩展思路,尝试实现一个来提高个人技术水平。
目前常规的做法都是使用 redis 加个锁,然后实时更新锁就行了。


容错性低的方案一:
1. 使用 SET NX 设置分布式锁。
set table_name 0 EX 3600 NX

table_name 表示表名
0 表示进度为 0
3600 表示到期时间。这里的到期时间需要根据业务自行调整,建议大于业务每批次的处理时间。最好等于业务表导入最小间隔。

2. 如果抢不到锁表示其他业务正在处理导入,当前线程退出或者休眠后重试。
3. 抢到锁的线程批量处理业务并实时更新进度
set table_name N EX 3600 XX

N 数字,表示当前进度

4. 处理完之后,可以删除当前 key,或者设置到期时间为下次需要运行的时间。

缺点:
1. redis 分布式锁的方案虽然简单,但是并不安全。如果存储不稳定,暂时没有特别完善的方案。 关键词:” redis 分布式锁的安全性“

2. 更新进度,直接按照 table_name 设置,可能出现当前线程卡住很长时间。这段时间中当前的锁过去后,别的线程重新设置锁。然后两个线程同时写一个 key,导致进度出现问题。

可行性:
由于没有足够的信息,无法确认方案是否满足业务需求。不过根据你领导的方案可以推断,上面这个方案在设置比较合理的到期时间之后应该问题不大。

思考题:
可以从 key 入手,设计一个容错性高的方案。
2019-06-27 14:04:25 +08:00
回复了 guojam 创建的主题 求职 求求 dalao 看一下简历有什么不足的地方
大二还早。公司招实习是希望干活的。大二可以被剥削的时间太短。

在学校参加开源项目,acm。
大三暑期找短暂实习再找实习工作不迟。
2019-06-27 13:59:24 +08:00
回复了 npe 创建的主题 问与答 请教一个高并发竞争资源问题
优惠券不会比 12306 复杂。 优惠券提前生成,乱序放到 redis 的列表里面,或者 MQ 里面。

redis 列表可以按照用户 hash,这样可以减少一次锁。并且可以拆分到多个 redis 中,增加 qps ( 1w qps 用不到)。
拿到优惠券之后,就同步记录用户流水,并更新优惠券状态。 如果更新成功再记录流水。

如果需要同步快速返回,可以将更新优惠券状态改成异步处理,但是到账也是异步。

如果 qps 达不到要求还要减少 io。可以以 redis 数据为准,则还可以减少用户流水的记录(存在优惠券丢失的情况,更新 redis 成功,写 mysql 失败。需要业务逻辑去补充这类数据)。
2019-06-27 10:05:20 +08:00
回复了 coxier 创建的主题 分享创造 TinyPNG IDEA 插件释放你的右手
其实我还想说。为什么不替换成 webp 呢?
2019-06-27 10:04:52 +08:00
回复了 coxier 创建的主题 分享创造 TinyPNG IDEA 插件释放你的右手
编译 release 之前加个钩子。 处理图片和其他资源。
2019-06-27 09:37:53 +08:00
回复了 wuxi889 创建的主题 职场话题 距离职只有 3 天,技术总监给我提薪留人
刚毕业没两年经验少吧。用普涨的薪水挽留你只是常规操作。
留下不涨到币 offer 高,没什么意义。反而导致以后涨薪升职的机会变少。
2019-06-26 16:24:32 +08:00
回复了 luw2007 创建的主题 程序员 面试题:设计一个活跃用户过滤器
@leegoo 是的,如果用户量很大,redis 需要优化。不然直接 key/value 存储不就好了
2019-06-26 12:23:59 +08:00
回复了 gaoyg 创建的主题 程序员 6 年程序员想转行,不知道要干个啥
西安还是算了吧。 几年前实地面试了几家。钱太少,回不去。
2019-06-20 12:29:14 +08:00
回复了 luw2007 创建的主题 程序员 面试题:设计一个活跃用户过滤器
@deming 历史数据清除么? 也就是年末发了一波 push,冷用户都来了。然后 redis 内存爆炸了。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1021 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 19:42 · PVG 03:42 · LAX 12:42 · JFK 15:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.