大家好呀,我是飞鱼。
文章首发到公众号:月伴飞鱼,每天分享程序员职场经验!
文章内容收录到个人网站,方便阅读:hardyfish.top/
当面试问及程序员未来规划时,他们都会千篇一律地说想提升技术水平,很少有人会思考去深耕一个细分领域成为这个领域的专家。
咱们程序员啊,往往容易陷入一个误区,觉得技术就是一切,只要技术够牛,就能在职场稳如泰山。
❝
可现实真的是这样吗?对于咱们大龄程序员来说,情况可能更严峻。
随着年龄增长,我们在技术钻研上花费了大量的时间和精力,代码写得越来越溜,各种技术难题也能攻克不少。
但与此同时,我们却可能忽视了其他同样重要,甚至更为关键的能力培养。
在商业世界里,赚钱可不仅仅是靠技术。
❝
你技术再好,如果缺乏商业能力、变现能力,那也只能是拿着一份相对固定的工资,做着被安排的项目,很难实现收入的大幅提升。
而且一旦面临裁员危机,就会显得特别的绝望和无助。
比如说,你知道怎么选一个有潜力的项目赛道吗?
你懂得如何去营销推广自己做出来的产品,让它能真正产生经济效益吗?
你又是否具备和客户、合作伙伴有效沟通,拿下订单的能力呢?
这些商业方面的能力,很多大龄程序员可能都不太擅长。
看看那些成功的创业者或者企业管理者,他们不一定技术出身。
❝
但人家懂得把握市场需求,知道如何整合资源,通过各种商业运作让项目盈利。
而我们,一味地在技术的小圈子里打转,等到被裁员的那一天,才发现除了写代码,自己好像啥也不会,那得多心酸。
所以,大龄程序员们别再只盯着技术,要开始关注商业能力和变现能力的提升。
可以利用业余时间去学习一些市场营销、项目管理、商务沟通之类的知识,拓宽自己的视野和技能树。
❝
当面临职场变动时,我们不仅不会绝望无助,反而能凭借这些新培养的能力,找到更好的发展机会,开启人生的新篇章。
那么30岁以后的程序员出路又在哪里呢?
❝
我认为最好的办法就是拥抱业务。
努力深耕一个细分领域,比如物流、电商、金融等。
在做这个领域的同时努力思考这个领域客户的真实痛点是什么,什么样的技术能给他们带来效率或者收入的提高。
怎么样利用技术降本增效,让你的企业在同行的竞争中脱颖而出,让公司具有更强的竞争力,从而带动公司的业务和收入的增长。
国内公司现状,90%公司纯做业务吧,还是有些公司技术有东西的。
所以对技术执着的话,就去那10%,关键是很多公司业务也是没太大壁垒的,主要靠销售而已。
有啥其他看法,欢迎在评论区留言讨论。
❝
想看技术文章的,可以去我的个人网站:hardyfish.top/。
- 目前网站的内容足够应付基础面试(
P7)了!
每日一题
题目描述
❝
给你两棵二叉树
root和subRoot。检验
root中是否包含和subRoot具有相同结构和节点值的子树。如果存在,返回
true,否则,返回false。二叉树
tree的一棵子树包括tree的某个节点和这个节点的所有后代节点。
tree也可以看做它自身的一棵子树。
解题思路
❝
首先判断一个树是否是另一棵树的子树,很明显想到可以用递归。
但是两棵树完全相同也可以看做一棵树是另一棵树的子树。
所以自然而然想到用一个判断两棵树是否相同的递归函数。
代码实现
Java代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSubtree(TreeNode s, TreeNode t) {
if (t == null) {
return true; // t 为 null 一定都是 true
}
if (s == null) {
return false; // 这里 t 一定不为 null, 只要 s 为 null,肯定是 false
}
return isSubtree(s.left, t) || isSubtree(s.right, t) || isSameTree(s,t);
}
/**
* 判断两棵树是否相同
*/
public boolean isSameTree(TreeNode s, TreeNode t){
if (s == null && t == null) {
return true;
}
if (s == null || t == null) {
return false;
}
if (s.val != t.val) {
return false;
}
return isSameTree(s.left, t.left) && isSameTree(s.right, t.right);
}
}