刚上看到个帖子,有个网友说:正上着班呢,突然公司说解散了。

❝"说资金链断裂,没钱发工资。"
❝"怎么办?打了市长热线,人家说到发薪日后5天没收到,才会反映给相关部门。"
❝"现在没办法。"
❝"现在凌晨了,他和同事都在公司等结果。"
看完这帖子,我脑壳疼。
底下评论区更热闹。
热评第一,一位投资管理10年的网友直接点破:
❝"太多了这种事情,实体经济低迷,很多小老板都撑不下去(大部分是曾经的无产阶级,撞大运暂时成了小资产阶级,然后又被打回原阶层!),何况拿工资的!"
这话说得,直接把创业的残酷本质点透了。
还有人说要抓紧走劳动仲裁和法院起诉:
❝"抓紧走劳动仲裁和法院起诉,晚一点一毛没有。"
真的,现在能做的好像也就这些了。
最狠的是那个做运营5年的:
❝"桌子、椅子、电脑、显示器都拿走,就当抵工资了。"
有人说不值钱,他回:
❝"有总比没有强,能拿回一点是一点。"
真的,这话太真实了。
还有人说:
❝"记住先盯好值钱的办公用品,万一发不了,可以抵工资,减少点损失。"
搬台显卡高配的工作站回家,这都成操作指南了。
还有人说自己第一家公司就是这样:
❝"上午开会说融资到了,中午吃饭时老板宣布融资吹了没钱了,公司解散。"
好歹赔了个n+1。
然后有人补刀:
❝"现在可不比当年,一个岗位几百上千,甚至上万人竞争!"
真的,现在这环境,太南了。
有个评论看得我更难受:
❝"都是套路。创业的朋友和我说过,如果没干好,盈利不行。原地倒闭,东西都搬走(反正没几个钱)。过阵重新开个公司,重新招人。再尝试另外一个方向。"
底下有人回:
❝"......有限责任本来就这么用的"
这话说得太扎心了。
还有人遇到过比这更惨的:
❝"老衲也遇到过这样的,还搭进去两万报销款没报销,工资欠了14万,劳动仲裁赢了公司没钱给,法人就一家庭主妇没赔偿能力只能算了。"
我朋友有次也是这样:
❝"我上班,工资欠着不给,后面仲裁赢了,公司法人已经换成了一个农村老头"
这都什么年代了,还有这种骚操作。
有个产品经理说得更离谱:
❝"我们更狠,我和同事提早去吃晚饭被叫回来开会。结果,急匆匆回来后。说公司黄了...可以下班了"
哈哈哈哈,这剧情太魔幻了。
还有人经历了无数次解散,多次无赔偿的裁员,然后失业中...
底下人说:
❝"啊这,运气有点太那啥了"
真的,我都不知道说啥好。
从员工角度,确实惨到不行。
上班上到一半公司没了,工资也没了,这谁受得了。
凌晨在公司等结果,想想都绝望。
打市长热线还要等5天,这效率也是醉了。
但换个角度想,创业这事儿,风险本来就大。
资金链断了,老板也没办法。
有些人说创业就是拿别人的钱搏自己的机会,成功了就是小资产阶级,失败了就一无所有。
现在这经济环境,能撑着不倒闭的都算厉害了。
从我的角度看,打工人能做的就这几件事。
第一,保存证据。
劳动合同、工资条、考勤记录,这些都要保存好。
万一要走仲裁,这些都是材料。
第二,盯好值钱的办公用品。
这话说得挺现实的,公司都这样了,能拿回一点是一点。
第三,尽快走劳动仲裁流程。
时间拖得越久,追回来的可能性越小。
第四,做好找下一份工作的准备。
现在就业环境不好,但总比坐以待毙强。
说到底,这就是打工人和创业者之间的博弈。
创业者想用有限责任来规避风险,打工人想拿到自己应得的劳动报酬。
但在这场博弈中,往往是打工人受伤最深。
因为创业者可以东山再起,打工人可能就真的失业了。
而且现在这环境,找一份好的工作真的不容易。
我有个朋友也是,公司说资金链断了,老板跑了。
工资欠了8万,劳动仲裁赢了也拿不到钱。
因为公司账户早就空了,法人也换了。
最后只能认栽,重新找工作。
所以啊,选公司真的很重要。
大公司虽然卷,但至少稳定。
小公司虽然自由,但风险也大。
特别是那种靠融资续命的,说不准哪天就没了。
我觉得吧,这事儿也不是完全没辙。
平时多存点钱,手里有粮心里不慌。
关注公司的经营状况,发现苗头不对赶紧跑。
提升自己的能力,就算失业也能快速找到下家。
最重要的一点,别把鸡蛋放在一个篮子里。
有副业就搞副业,有投资就做投资。
反正现在这个环境,谁能保证明天公司还在呢?
我以前在一家创业公司,老板说融资马上到账,让我们先垫付一些费用。
结果融资一直没到,公司最后还是黄了。
好在当时我留了个心眼,只垫付了几百块。
要是傻傻地垫付几万,估计现在也跟那些讨工资的一样了。
所以说啊,职场这事儿,还得自己留个心眼。
该争取的权利要争取,该保护的利益要保护。
但同时也要有底线,别违法乱纪。
搬东西是可以,但别真去盗窃。
这话说得有点啰嗦,但我觉得这些都很重要。
毕竟打工这么多年,谁还没遇到过几个坑爹公司呢。
关键是,遇到之后要怎么办。
哭没有用,骂也没有用。
还是要冷静下来,想办法把损失降到最低。
然后赶紧找下一条路。
生活还得继续,不是吗?
昨天晚上十一点多,我在公司楼下改bug,我们组那个小李突然拦住我:哥,这道Kth Largest Element in an Array咋写啊,我脑壳疼。
我扫了一眼代码,心想这题挺经典的,来,我给你捋一捋。
题目说给你一个整数数组 nums 和一个整数 k,让你返回数组中第 k 个最大的元素。
举例说明:
这不就是找第几大吗,挺好理解的。
暴力解法:直接把数组排序,然后取第k个元素。时间复杂度 O(n log n),空间复杂度 O(1)。虽然能过,但面试官肯定会问你有没有更好的方法。
优化思路1 - 最小堆:维护一个大小为k的最小堆,遍历数组,堆中始终保持最大的k个元素。最后堆顶就是第k大的元素。时间复杂度 O(n log k),空间复杂度 O(k)。
优化思路2 - 快速选择:类似快速排序的partition思想,每次选择一个pivot,将数组分成两部分。通过比较pivot的位置和k,可以确定答案在左边还是右边。平均时间复杂度 O(n),最坏情况 O(n²),但可以通过随机选择pivot来避免最坏情况。
这三种方法,最小堆比较实用,快速选择理论上最优但实现复杂度较高。面试时建议先说暴力,再说堆,如果面试官追问可以提快速选择。
package main
import (
"container/heap"
"fmt"
)
// MinHeap 最小堆
type MinHeap []int
func (h MinHeap) Len() int { returnlen(h) }
func (h MinHeap) Less(i, j int) bool { return h[i] < h[j] }
func (h MinHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] }
func (h *MinHeap) Push(x interface{}) {
*h = append(*h, x.(int))
}
func (h *MinHeap) Pop() interface{} {
old := *h
n := len(old)
x := old[n-1]
*h = old[0 : n-1]
return x
}
// findKthLargest 使用最小堆找第k大的元素
func findKthLargest(nums []int, k int) int {
h := &MinHeap{}
heap.Init(h)
// 先入堆k个元素
for i := 0; i < k; i++ {
heap.Push(h, nums[i])
}
// 遍历剩余元素,比堆顶大的就替换
for i := k; i < len(nums); i++ {
if nums[i] > (*h)[0] {
heap.Pop(h)
heap.Push(h, nums[i])
}
}
return (*h)[0]
}
func main() {
// 测试用例
fmt.Println(findKthLargest([]int{3, 2, 1, 5, 6, 4}, 2)) // 5
fmt.Println(findKthLargest([]int{3, 2, 3, 1, 2, 4, 5, 5, 6}, 4)) // 4
fmt.Println(findKthLargest([]int{1}, 1)) // 1
fmt.Println(findKthLargest([]int{7, 10, 4, 3, 20, 15}, 3)) // 10
}
这题的关键点在于理解堆的应用场景,不是所有排序题都需要完整排序,有时候维护部分有序就够了。