现在找工作有多卷?18K 失业后,费尽心思也才拿到 17K!

164 阅读9分钟

大家好,我是王中阳背后的男人

先听 TA 的故事

某天下午,我突然被通知裁员。做了 6 年后端开发,月薪 18K,正攒钱想买个房子,怎么也没想到失业会砸到自己头上。收拾东西那天,看着同事们讨论假期去哪玩,我抱着纸箱走出了公司。

根本没心思做其他事,每天躲在出租屋刷招聘软件。投了几十份简历,要么已读不回,要么面试完没下文。印象最深的是面一家公司,技术聊得挺顺,最后 HR 问期望薪资,我说 “不低于 17K”,对方愣了下:“我们预算最多 14K”,比之前少 4K,房租、孩子奶粉钱都不够,我当场就懵了。

连续几场面试,不是卡在薪资,就是没下文。后来有家公司给了 12K 的 offer,我盯着手机整夜没睡:接吧,生活开支扛不住;不接吧,存款在一点点减少,难道真要妥协?

之后几天,我改简历、复盘项目里的坑,刷高频八股,还找做面试官的朋友模拟面试,练习如何把过去的项目经验讲清楚。

面第 12 家公司时,影响最深刻的就是面试官问 “高并发下怎么处理订单超卖”,我说的非常细,连排查 bug 的过程都提了,面试官很满意。最后谈薪资,对方说 “17K,试用期 8 折,转正调回”,虽没到之前的 18K,但至少不用大幅降薪

收到通知那天,手都在抖。想跟正在找工作的朋友说:别盲目投简历,先补短板;遇到低薪 offer 别慌,给自己点时间。我整理了面试题,愿意分享,希望大家少走弯路,早点上岸

下面分享一下他整理的面经:

北京畅聊天下\20-21k

一面

1、自我介绍

2、说说你主要在实习公司做了什么?

3、这个引入Token缓存机制是怎么做的?怎 么保证异步更新缓存的数据一致性?当时你接口的请求量有多少?

3、strcut数据类型能不能直接比较?

4、这个大文件上传和断点续传是怎么做的?

5、Grpc的优化拦截器的缓存策略,你的缓存策略是什么样的?

6、在公司里日志是怎么看的?做了ELK日志采集是是吧?这个你做的是什么?

7、如果说出现了错误,服务里面打error,你是怎么定位到关键的错误信息?

8、现在有个字符串,怎么判断字符串里面元素全部不相同?

9、给你个字符串,如何实现字符串的反转?

10、切片和数组的区别?切片由哪几部分组成?

11、channel有哪些种类?有什么区别?如果让你控制goroutine的数量,怎么控制?

12、Redis常用数据结构有哪些?项目里主要用的什么?

13、Redis设置过期时间的命令是什么?

14、TCP与UDP的区别?

15、说说TCP的三次握手和四次挥手?为什么?

16、Redis用的是哪一个库?

17、了解jwt吗?实现的原理?

18、kafka当时用的是哪个库?

19、知道二叉树吗?前序遍历是个什么样的遍历?

20、如果让你总结你在公司的成果和收获,你怎么总结?遇到了哪些关键问题?

武汉-北京思拓合众科技\8-12k 14薪

一面

1、自我介绍

2、make和new的区别

3、数组和切片的区别

4、map为什么无序?怎么有序?

5、函数内部申请的局部变量可以不可以返回?

6、说说内存逃逸?

7、panic怎么恢复?

8、golang的gc原理

9、说一下InnoDB的锁机制?都有什么类型和使用场景?在使用MySQL的场景下比如Select、Update如何触发这些锁的?死锁怎么产生?

10、过期删除和内存淘汰?基于全部数据的淘汰策略,未设置过期时间过期删除的一个键,会不会在内存淘汰中就给他淘汰掉了?

11、项目模糊排序怎么做的?如果说在第二页进行拖动排序拖到第一页,能怎么做?

12、分片上传怎么实现?怎么判断两个分片是同一个文件?

13、jwt的ip的安全校验的背景?为什么要做?怎么做的?

老板面

1、学过什么课程?

2、编程语言学过哪些?

3、大学期间有做过什么有挑战有成就感的事情?这件事情对你来说有什么意义?

4、go做过什么项目?

5、实习期间做了什么?有什么贡献?

6、平常学习提高自己的方式?获取知识的途径?

7、有深入学习过什么开源的项目代码?

8、看书的习惯?

9、空窗期有做过什么项目之类的?

10、后续的职业发展规划

11、ai毕设中主要是干什么?

12、ai工具来辅助开发?

13、公司的业务有了解么?

14、想找一个什么样的工作机会?

广东广起\6-11k 13薪

一面

1、自我介绍

2、GMP模型

3、数组与切片区别?切片的扩容?

4、内存泄露?如何避免

5、GC垃圾回收,避免GC压力过大怎么处理?

6、Mysql索引类型?创建索引的场景?

7、一个接口查询很慢如何排查?

8、redis地理位置?如何用redis实现找到三公里以内的最近的十个商家?

9、数据一致性怎么做?

10、什么原因导致kafka重复消费?如何解决?如何防止kafka数据丢失?

11、Linux怎么看日志更新?

12、如果服务器无法访问外网你如何排查? 有时候可以访问有时候无法访问?

13、硬件设备100M内存,需要大数据排序和去重,如何处理?【提示位图】

14、讲一下raft算法基本原理?

武汉蓝海智控\6-11k

一面

1、GMP调度模型

2、什么情况下内存逃逸

3、kafka+KLE为什么用消息队列?

4、jwt的token如何做的异步?

5、web基本框架用的什么?gin能做分布式的吗?

6、grpc拦截器缓存怎么做的?缓存怎么优化了一致性问题?

7、map构建映射表的需求?

8、ip地址校验的逻辑?

湖北格瑞曼\8-13k 13薪

一面

1、数组和切片

2、map的底层原理,map遍历是否有序,如何有序?

3、对关闭的channel进行读、写、关闭的情况,报panic的的原因是什么?(可能涉及到源码)

4、缓存雪崩、击穿、穿透

5、tcp三次握手、四次挥手

6、HTTP的状态码

7、token异步的操作如何做的?

8、map构建查询的做法?

9、远程调用的sql语句查询,发现执行时间很长,如何排查?

北京与你科技有限公司 base西安\12-17k

一面

1、数组和切片区别 channel的底层,有缓冲无缓冲channel区别 ,数组和链表的区别(在内存中),为什么查找和插入删除的时间复杂度不一样

2、内存泄漏怎么处理?GMP

3、 代码:for range 切片的坑, defer执行顺序,函数传参接口类型的 switch

4、mysql : 索引类型,为什么用B+树索引,主键索引和唯一索引区别,事务的全部

5、redis ,缓存三个问题,基本的数据类型,两种持久化机制,分布式锁怎么实现的,stream作用,原理

6、network全部

7、项目:Grpc缓存参数是怎么做的?token怎么异步存?

8、如何评价自己 ?

9、minio最大分片多少?minio如何配置?初始密码是多少?基于什么协议实现?

10、icmp协议在哪一层?

11、Ping用的什么协议?

天津和众汇富科技有限公司\7-12k 14薪

一面

1、数组和切片的区别

2、go怎么实现并发与同步?waitgroup使用场景?

3、互斥锁Mutex?场景:热点key允许少量穿透,但是不要影响业务?(不去锁但是也能平稳过渡,提前在缓存过期前进行一个异步的处理,提前去触发一个互斥锁,异步去拿数据和更新缓存,对于quest无感)

4、select底层和使用场景?

5、mysql索引优化?

6、联合索引最左匹配原则?

共济经济\10-14k

一面

1、kafka解决缓存一致性

2、Mysql底层数据结构怎么存?B+树存的主键索引,二级索引另外的文件存的,然后指向主键?

3、MVCC?undo log 文件大小太大可能是什么问题?

4、缓存三大问题

5、HTTP几个版本的区别?

6、go变量传递是值传递还是引用传递?append为什么要返回值?

7、接口QPS怎么测的?怎么调?最优的并发量与什么有关?

8、Minio分片怎么分的?单个分片能否做到续传?每个分片是否做分片指纹?

代码题:

输入一个文件列表 输出是自己写的一个文件读取这一批文本文件,合并成一个大的文件

输出:
1、合并按每个文件的行合并,行与行之间保持完整
2、执行时间尽量短,占用内存尽量低
3、程序需要正常退出

一起学习,打怪升级

需要简历优化、就业辅导、学习路线规划的朋友可以关注我,私信我

后面我还会更新更多跟go相关的文章,欢迎关注我一起学习

想和我交流的朋友可以直接私信我,或者通过下面方式找到我

微信号(常用):wangzhongyang1993

公众号:王中阳Go