先锋战士 level
获赞
141
粉丝
20
关注
61
看过 TA
1038
门头沟学院
2026
golang
IP属地:北京
永不放弃!
私信
关注
以前19年到20年还在鼓吹“宇宙机”这个概念,现在也没人提了,反而是多了一些劝退的声音。因为大家都在反复在积极叙事,我现在内卷学计算机,将来享福。可是这个故事是谁在传递,有思考过吗?别人说学计算机挣大钱,就一定能挣大钱吗?当有人说xx行业挣钱的时候,如果大部分认同,就说明已经开始走下坡路了。我学计算机的原因,就是看到同学都在学,进大厂,所以我也跟风,黑马也在叙事“月薪过w,就来黑马程序员”。我很清楚的记得“黑马发布的19年就业数据,是大多都20k往上,而现在最想公布的数据,没有一个20k,最高才15k,基本8k~到13k左右”。可见一般,计算机由于供需关系不平衡,市场也会调节的。能挣大钱,要么靠信息差,要么靠资源垄断,靠个人能力的例子少之又少。但是我这里并不是鼓吹大家选择一条奇奇怪怪的路,而是说要看清未来10年~20年的趋势,选择有价值的路。未来什么是注定的,比如说老龄化,或者Ai大模型能力,具身智能....比如说有人思考未来老龄化严重,是不是可以提前布局呢?据我了解,反而是哪些本来就没有经过内卷的人,而是思考现状和未来的人,走到我们前面。比如我最近也几家头部培训行业,再培训Ai训练师,也是0代码基础,培训去做Ai训练师,大专,28岁,包就业。这种现象不和当初一样吗?现在Ai是风口,也在大量招人,但往往学习路线不清晰,现在入局人少,才有机会。我认为是好事,你可以选择坚持,也可以选择去一些新的赛道,但值得肯定是“互联网”这艘大船不可能装下所有人的梦想,总有人在某个时间点退场,要么是毕业前,要么是毕业后工作两三年,五年到八年,能干上十年以上的人,少之又少,即便干了十几年的资深程序员,也会面临转型的问题,只是时间或早或晚而已。不管你是自愿还是非自愿,是一腔热血还是消极摆烂,也改变不了历史规律,即到了一定年龄,我们会面临转型问题,除了钱的积累,是否还有其他能力积累。只是希望到最后,希望有人能明白,提前意识到这个问题,早做打算。
0 点赞 评论 收藏
分享
11-07 12:17
已编辑
门头沟学院 golang
1.go中goroutine的调度机制,即GPM模型?2.详细说说这个调度的机制,从不同的角度?底层数据结构,协程的构建,从产生到最终销毁是怎么调度的一个过程,然后在里面的话?这个有多个协程,协程之间是怎么互相进行调度的?3.网络相关的知识,有一个TCP的游戏客户端,建立了一个长连接请求,由于某种情况或者bug导致异常退出了,当客户端异常退出后,服务端能感知到异常吗?4.假如说没有TCP Keep-Alive的这种机制?服务端可以感知到客户端的流程是什么样的?如果服务端没有发送数据呢?5.从刚才讨论的话题展开,你觉得从客户端的这个操作系统OS层面,一个详细的操作系统会做哪些事情?假如说客户端的进程异常退出了,操作系统会做哪些事情?操作系统会做一些回收吗?那你觉得在做这个过程中,对方即服务端能感受到异常吗?6.登入到一台linux服务器上,发现大量tcp连接处于time_wait状态,是什么原因导致的?有哪些场景导致的?7.登入到一台linux服务器上,发现大量进程跑在这个机器上,可能进程会越来越多,物理内存可能越来越少,对服务器上跑的服务,有什么影响?8.如果我们想要实现一个高并发的服务,我们采用多线程的方式,8核16g的机器上,你觉得我们线程的数量是开多少合适的?(和IO时间密切相关)9.聊聊中间件,redis中可以高并发的响应的设计?即为什么redis快?10.IO多路复用,epoll在操作系统是怎么实现?整体思路是什么样的?数据结构?异步召唤的模式?11.redis中的数据持久化机制?12.redis中的RDB和AOF都适用于什么样的业务场景?无算法智力题:1.《决胜21点》电影中的场景。主持人在桌子上放三个倒扣的杯子,三个杯子下面只有一个杯子有硬币,你的目标是找到含有硬币的杯子。一开始,你可以从三个杯子任意选择一个,放在你旁边,但不能查看。然后桌子上还剩两个杯子,主持人从两个杯子中拿掉一个空杯子。此时桌子上还有一个杯子,你旁边还有一个杯子,请问是否选择交换?2.30个关键词,就是一些随机的中午词组,比如你好,浏览器,参加,这些词并不一定是常见的词,也可以选择一些字,拼在一起,比如选择猪,屏,合起来就是“猪屏”。一亿篇文档,文档里面就是800~1500左右的文章,段一段的文章,让你设计一个程序去统计出来这30个关键词,在一亿篇文档中出现的次数,效率要尽可能高?反问:做什么业务?面试这个岗位,你觉得需要什么的特质和品质,才能胜任这个岗位?
0 点赞 评论 收藏
分享
11-06 18:21
已编辑
门头沟学院 golang
0 点赞 评论 收藏
分享
我期望成为的人:1、上班也要高高兴兴,充满干劲,有活人感。2、对技术有热情,爱钻研底层,能解决实际问题,而不是空背八股。3、面相正常,因为很多搞技术的人,面色都不太好,当然也和上班压力过大有关。4、能自驱的完成任务,解决任务。5、除了工作外,还有自己的爱好等等。6、在一个大城市工作的人。秋招一些感悟:1.做完A在做B,严格串行化,如果任务处理过长,分段执行。2.局部最优解。做好每一件小事,认真对待每一场面试,从中收获东西。如何成为我期待的人,那就是先找一份稳定的工作,积累经验,做好当前眼下的事情。3.情绪稳定。4.复盘思维。5.每天学一点新东西。一般来说,现在的面试都要开摄像头面试,所以我会观察面试官的面容。UCloud的面试官,是女技术官,我感觉看上去面色很好,说话逻辑也很清楚,不像是搞技术的。面试上来就自我介绍,姓薄,然后整体给我的感受还是非常专业的,对计算机网络底层非常了解。公司做的业务,和我做的AI方向不是很匹配,所以也是问了一些计算机网络,和八股。在面试的过程中,我突然有一种感觉,我只是在背八股,而不是真正理解八股,这些八股和实习介绍,也是套话。没有真实的业务支持,我学的技术,始终有点纸上谈兵的感觉,所以我还是得积累经验的问题。每天学习一点新东西,而不是复习旧东西了。反问:1.怎么积累经验的问题?上班,工作中遇到的问题都记录下来,深度地剖析可能产生的原因。两个看似非常不一样的问题,可能归根结底是同一个问题。人和人之间的差距拉开在哪儿?对每一个小问题的处理,如果把每个小问题都处理的很好的情况下,你就不会出大问题,经验也会比同龄人积累很多。2.希望候选人具备什么样的品质?3.学习方法?
查看4道真题和解析
0 点赞 评论 收藏
分享
面试官也给我出了《21》中的相关场景电影讲述了一群麻省理工学院的学生在教授指导下,利用数学算牌在拉斯维加斯赌场赢钱的故事。片中有一个关键场景:主角本·坎贝尔(吉姆·斯特吉斯 饰)在课堂上被教授米基·罗沙(凯文·史派西 饰)提问,问题正是“蒙提霍尔问题”。教授用三扇门的比喻来解释这个违反直觉的概率问题,并以此考验主角的逻辑思维能力,这也是主角被招募进算牌团队的“入门测试”。好的,我们来详细说说电影 《21》 中这个经典的“蒙提霍尔问题”桥段。这个片段在电影的开头部分,是整个故事的“引信”,非常重要。🎥 桥段情景再现场景: 麻省理工学院的一间阶梯教室人物:教授米基·罗沙(凯文·史派西 饰):一位精明、具有控制欲的数学教授。主角本·坎贝尔(吉姆·斯特吉斯 饰):一位天赋异禀但经济拮据的学生。情节过程:课堂挑战:米基教授在课上提出了一个看似简单的问题:“假设你参加一个电视游戏节目,有三扇门。一扇门后面是一辆豪车(比如法拉利),另外两扇门后面是山羊。你选择了1号门。”规则阐述:这时,知道车门在哪的主持人,打开了另一扇门(比如3号门),后面是一只山羊。然后,主持人问你:“你是坚持原来的选择(1号门),还是换成2号门?”学生的回答:教室里最聪明、也是最傲慢的学生——科尔,自信满满地站起来回答。他认为:“现在只剩两扇门了,汽车在任一扇门后的概率都是50%,所以换不换都一样,没有区别。” 这代表了绝大多数人的第一直觉。主角的顿悟:米基教授对科尔的答案不置可否,转而点名一直沉默的本。本起初有些犹豫,但在教授的引导下,他开始思考并解释道:第一步: 最初选择时,选中汽车的概率是 1/3,选中山羊的概率是 2/3。第二步: 当主持人(他知道秘密)打开一扇有山羊的门时,他并不是随机行动。这个动作包含了信息。关键结论: 如果你最初选的是山羊(概率为 2/3),那么主持人“必然”会打开另一扇山羊的门,剩下的那扇门就一定是汽车。因此,“换门”的策略会将你最初 2/3 的失败概率转化为 2/3 的成功概率。而坚持原选择的胜率只有最初的 1/3。本的最终答案是:“应该换门,这样胜率会从33%提高到67%。】桥段的深意:米基教授对本的解答非常满意。这个桥段不仅展示了他远超常人的逻辑思维能力和跳出直觉陷阱的潜力,也完美隐喻了电影的核心主题:表象与真相: 就像50/50的直觉是假象一样,赌场赢钱看起来是靠运气,实则可以通过精密的数学和概率来掌控。改变选择的价值: 本当时正面临是坚守原本“平凡”的人生道路(去哈佛医学院),还是冒险加入教授的算牌团队的选择。这个概率问题暗示他,“转换道路”可能会带来更高的回报。💡 总结这个“三扇门”桥段在《21》中绝不仅仅是一个数学课场景。它是一个:角色试金石: 筛选出真正有资格加入团队的天才。故事预告片: 预示了后续利用概率和统计在21点牌桌上战胜赌场的情节。人生隐喻: 鼓励主角(和观众)敢于质疑表面现象,做出反直觉的最优决策。所以,当您提到“赌博电影,三个羊三个门”,几乎可以百分百确定您记忆中的就是这个来自《21》的精彩开场戏。
查看1道真题和解析
0 点赞 评论 收藏
分享
10月31日 10:30面试,下午17:22收到资料审核通知整个面试过程,面试官迟到+网络会议室卡顿HR面:1.最近一段工作经历,什么时候离职?离职原因?2.工作地在深圳,可以接受吗?3.找工作,您会考虑哪些因素?4.当前税前年薪及期望税前年薪是多少呢?5.百度的工作强度?6.后续职业规划?7.有哪些offer,怎么考虑的?8.对自己做一个简单的自我评价吗?你觉得你的优缺点是什么呢?9.家庭情况?10.希望你留在成都当地工作吗?11.是否独生子女?12.感情状况?13.兴趣爱好和特长?14.工作中有过跟别人意见不一致的这种情况吗?怎么处理?二面:1.介绍实习2.对AI大模型本身的介入多吗?微调或者说模型训练,算法的调优?3.百度golang开发框架?如果很多公司的框架已经把很多这些基础能力都包装掉了,一方面简化了开发,但另一方面可能也会导致你们对底层的这些原理不太清楚。因为它被屏蔽掉了,很多细节不是很清楚。假如换了一家公司,你的能力是怎么迁移的呢?对底层的了解怎么样你?特别是偏底层,缓存,多线程的处理,负载均衡等等。4.你了解过,我们国家的安全相关的法律法规,参加过数据的一些脱敏、加密,或者说一些高并发的一些处理?5.优惠券兑换,你们的秘钥是怎么产生的?6.了解过电子密码本技术?(ECB 、CBC)7.数据脱敏?8.网盘数据,会不会我的一些数据出现在别人的网盘里面,怎么保证,怎么设计方案规避?在那种情况下会出现在别人的盘里?9.假如说你来设计一个网盘的存储和权限,访问登陆机制,你觉得有哪些好的办法来避免看到别人的东西。10.RDBC权限控制?11.大学里面有没有开设数据安全的课程反问:做什么业务和技术栈?安全相关的、java的技术栈、缓存的技术、开发金融系统安全相关,定位银行卡的密码,芯片安全认证的,联网交易中的密码安全的处理,电子签名相关的技术。为全行密码提供保密,技术支持的安全平台。你认为这个岗位,候选人具备什么样的特质,能够地landing这个岗位,比如说学习能力,逻辑能力,还是说一些业务领域的沉淀?答:对安全技术有兴趣,没有纯的业务系统,没有那么容易上手或成就感,后台支持的工作。1.安全技术2.责任心3.抗压能力
投递招商银行等公司6个岗位
0 点赞 评论 收藏
分享
算法: java中的缓存你是用哪些实现的?内存缓存?LRU算法淘汰机制?用java中的什么数据结构实现?设计一个简单的缓存的一个淘汰机制,比如说我举个例子,这个缓存只允许上限为十个,超出十个之后,你就要有一个淘汰机制策略?把老的剔除出去?import java.util.LinkedHashMap;import java.util.Map;/*** 简单LRU缓存(上限10个元素,满时淘汰最近最少使用的数据)* @param <K> 缓存键类型* @param <V> 缓存值类型*/public class SimpleLRUCache<K, V> {// 缓存底层存储:LinkedHashMap,开启“按访问顺序排序”private final LinkedHashMap<K, V> cacheMap;// 缓存最大容量(题目要求10)private final int MAX_CAPACITY = 10;// 构造函数:初始化LinkedHashMap,开启访问顺序排序public SimpleLRUCache() {// 参数说明:// 1. initialCapacity:初始容量(设为10,和最大容量一致,避免扩容)// 2. loadFactor:负载因子(0.75是默认最优值,避免频繁扩容)// 3. accessOrder:true=按访问顺序排序,false=按插入顺序排序(LRU必须设为true)cacheMap = new LinkedHashMap<>(MAX_CAPACITY, 0.75f, true) {// 重写此方法:判断是否需要删除最老元素@Overrideprotected boolean removeEldestEntry(Map.Entry<K, V> eldest) {// 当缓存size > 最大容量时,返回true,自动删除最老元素(eldest就是最老的)return size() > MAX_CAPACITY;}};}// 1. 存缓存:key不存在则新增,存在则更新值(更新后会自动移到链表尾部,标记为“最近使用”)public void put(K key, V value) {cacheMap.put(key, value);}// 2. 取缓存:获取值的同时,会自动把该元素移到链表尾部(标记为“最近使用”)public V get(K key) {return cacheMap.get(key); // 若key不存在,返回null}// 3. 删缓存:手动删除指定key的缓存public void remove(K key) {cacheMap.remove(key);}// 4. 辅助方法:查看当前缓存所有数据(用于测试,看淘汰效果)public void printCache() {System.out.println("当前缓存数据(顺序:从左到右是“最久未使用”到“最近使用”):");for (Map.Entry<K, V> entry : cacheMap.entrySet()) {System.out.print(entry.getKey() + "=" + entry.getValue() + " ");}System.out.println("\n当前缓存大小:" + cacheMap.size());}// 测试:验证LRU淘汰效果public static void main(String[] args) {SimpleLRUCache<Integer, String> cache = new SimpleLRUCache<>();// 1. 先存10个元素(达到最大容量)for (int i = 1; i <= 10; i++) {cache.put(i, "value" + i);}System.out.println("=== 存满10个元素后 ===");cache.printCache(); // 输出:1=value1 2=value2 ... 10=value10(1是最老,10是最新)// 2. 访问第3个元素(标记为“最近使用”,会移到尾部)cache.get(3);System.out.println("\n=== 访问key=3后 ===");cache.printCache(); // 输出:1=value1 2=value2 4=value4 ... 3=value3(3移到尾部)// 3. 再存第11个元素(触发淘汰,删除最老的key=1)cache.put(11, "value11");System.out.println("\n=== 存第11个元素后(触发淘汰) ===");cache.printCache(); // 输出:2=value2 4=value4 ... 11=value11(key=1被淘汰,size保持10)}}// 伪码:手动实现LRU缓存(上限10)class SimpleLRUCache {// 缓存实体:存key、value、最后访问时间戳class CacheItem {K key;V value;long lastAccessTime; // 毫秒级时间戳,记录最后访问时间}CacheItem[] cacheArray; // 存储缓存的数组(大小10)int currentSize; // 当前缓存元素个数// 初始化:数组大小10,currentSize=0function SimpleLRUCache() {cacheArray = new CacheItem[10];currentSize = 0;}// 存缓存function put(K key, V value) {1. 检查key是否已存在:- 若存在:更新对应value,同时更新lastAccessTime为当前时间;- 若不存在:a. 若currentSize < 10:直接把新CacheItem放入数组,currentSize+1;b. 若currentSize == 10:找出数组中lastAccessTime最小的元素(最久未使用),替换成新CacheItem;}// 取缓存function get(K key) {1. 遍历数组找对应key:- 若找到:更新其lastAccessTime为当前时间,返回value;- 若没找到:返回null;}// 淘汰逻辑:在put满10个时,调用此方法找最久未使用元素function findOldestItem() {1. 遍历数组,记录lastAccessTime最小的元素索引;2. 返回该元素索引,用于后续替换;}}
投递招商银行等公司6个岗位
0 点赞 评论 收藏
分享
11-02 15:52
已编辑
门头沟学院 golang
10月29日 17:00两位面试官轮番拷打,面试官提醒我说话大声一点第一位面试官登场:1.redis怎么保证数据的一致性?2.kafka中的partition的作用是什么?3.mq怎么确保消息的一个可靠传输呢?(如何保证消息不丢失)?4.spring boot中 怎么去配置一个多数据源呢?5.多数据源,怎么去做动态路由呢?6.在spring Aop中,你认为是通过哪一种设计模式去实现的?7.spring中的单例,有哪两种实现方式?8.在应用中,使用工厂模式做设计的场景吗?9.在支付场景中,会用到签名,你能说一下这个签名的主要用途和意义?10.常见的签名算法?11.mysql中有一个主键,和唯一键有什么区别吗?12.主键和唯一键能是同一个东西吗,能是同一个吗?13.一个表的主键必须是唯一的吗?14.唯一键可以包含null值吗?15.联合索引,(a,b,c) 你判断哪些条件是生效的,ab, bc, ac16.商户表,5000w以上了,但由于是之前的一些原因,它还是一个单表。基于以上场景,希望你提出一些优化的方案,为后续的这个系统逐渐地扩容,提供一些技术上的支持。你能从数据库这个方面,给出一些结构性的建议吗?17.数据库,从部署这个层面来讲,没错,但可以有一些更专业的术语。就是比如数据库,你针对这个架构上来考虑,你觉得有哪些合适的数据库架构可以去做调整的?18.主从数据库,你怎么理解这个组成的?19.读写分离的判断依据,什么时候该采用读写分离的是比较合适的?读写比例是多少?(1:5)第二位面试官登场:20.微服务有什么好处?21.既然他拆这么多应用?以前可能一次调用就要解决的事情,现在换了这么多,但是耗时增加了,这种情况怎么理解?22.比如以前单体应用,你进来一笔请求,如果错了,就在一个应用里面定位到问题。现在说你有很多次调用,很多节点,这种问题的排查该怎么做呢?23.微服务Restful风格,有哪几种请求?分别有什么区别?这样设计的原理是什么?24.两个接口之间不匹配,用什么设计模式?25.怎么利用AI去排查错误26.java里面有哪些锁?27.怎么去创建线程池?28.线程池的7大核心参数?拒绝策略?29.java里面异常的分类?30.有哪些框架实现内存缓存?算法:java中的缓存你是用哪些实现的?内存缓存?LRU算法淘汰机制?用java中的什么数据结构实现?设计一个简单的缓存的一个淘汰机制,比如说我举个例子,这个缓存只允许上限为十个,超出十个之后,你就要有一个淘汰机制策略?把老的剔除出去?没有反问环节
投递招商银行等公司6个岗位
0 点赞 评论 收藏
分享
在线笔试,10月24日发的,10月26日晚上做的30道八股选择题+2道算法题1.你将得到一个仅能有左括号和右括号组成的字符串 x。你的任务是发现字符串中存在几对匹配的括号。public class BracketMatchCounter {// 计算括号字符串中的匹配对数public static int countMatchPairs(String s) {int leftCount = 0;   // 记录未匹配的左括号数量int matchPairs = 0;  // 记录最终匹配的括号对数// 遍历字符串的每个字符for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '(') {// 遇到左括号,未匹配计数+1leftCount++;} else if (c == ')') {// 遇到右括号且有未匹配左括号时,完成一次匹配if (leftCount > 0) {matchPairs++;leftCount--; // 消耗一个未匹配的左括号}}// 若存在非括号字符,直接忽略(按题目“仅含括号”的条件可不处理)}return matchPairs;}public static void main(String[] args) {// 定义测试用例,覆盖多种场景String[] testCases = {"(()())",  // 完全匹配,预期3对"())",     // 右括号多余,预期1对"(((",     // 左括号多余,预期0对"()()()",  // 连续匹配,预期3对")()(",    // 交叉不匹配,预期1对""         // 空字符串,预期0对};// 执行测试并输出结果for (String testStr : testCases) {int result = countMatchPairs(testStr);System.out.printf("字符串 \"%s\" 的匹配括号对数:%d%n", testStr, result);}}}2.小紫有一个 change 函数,每次传入一个整数 x,然后将 x 修改为 x 在二进制之下的一的个数。小紫想要知道在一个元素中所有元素的代价之和,一个元素的代价是将这个元素变成一,需要调用的 change 函数的次数。public class ElementCostCalculator {// 1. 核心change函数:返回x二进制中1的个数private static int change(int x) {if (x == 0) return 0; // 0的二进制无1,特殊处理int count = 0;while (x != 0) {x = x & (x - 1); // 清除x二进制最右侧的1,高效统计1的个数count++;}return count;}// 2. 计算单个元素的代价:从x到1所需的change调用次数private static int getSingleCost(int x) {// 边界条件:x=1时无需调用,代价为0if (x == 1) return 0;int cost = 0;int current = x;// 循环调用change,直到结果为1,每调用一次代价+1while (current != 1) {current = change(current);cost++;}return cost;}// 3. 计算数组所有元素的代价之和public static int getTotalCost(int[] arr) {int total = 0;for (int num : arr) {// 过滤非正整数(题目隐含为正整数,避免无效值影响结果)if (num <= 0) {System.out.printf("警告:元素 %d 为非正整数,无法计算代价,已跳过%n", num);continue;}total += getSingleCost(num);}return total;}// 测试示例public static void main(String[] args) {// 测试数组:包含不同场景的元素int[] testArray = {5, 8, 1, 15, 7, 0, -3};int totalCost = getTotalCost(testArray);System.out.println("=====================");System.out.printf("数组所有元素的代价之和:%d%n", totalCost);}}
投递招商银行等公司6个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务