程序猿面试不想背八股文该怎么做

程序员必备的面试技巧

程序猿面试不想背八股文该怎么做

故事:

wade_crab:小X,你怎么还不准备八股文?不是要准备面试了下午吗?

小X:面试知识走个过场,之前我就打过招呼啦。

wade_crab:还能这样?那可是一家在医疗行业很有名的上市公司呀,大佬。有关系带带小弟我。

小X:没关系啦,后来我才知道,其实平时小H喜欢去认识相关行业的人,也加了很多的社群,更重要的是小H健谈,有很多的求知欲,中午时不时喜欢约个咖啡馆去附近软件园聊聊天。然后就在那附近遇到了很多行业前辈们,有创业的,也有普通职员。

有人就问了:这有啥用,不就唠唠嗑吗?

面试难道不也是唠嗑嘛?面试的目的是为了了解你的能力和过往,知道你能不能胜任,让别人知道你肚子里面有货。其实同理。而且认识后,小X平时也积极发表论文和git开源项目。在小红书和个人账号都有在做。算是把自媒体时代玩的透透的了,说这些只是为了告诉大家,能力怎么被人发现很重要,这样子也许就不用那么繁琐和去背诵让人讨厌的八股文了。

大家了解他的成本就变得很低。而且也信任这么一个经验丰富的人。这样子我想比传统按照两个电子文档,苍白的描述更有说服力。毕竟在学历贬值的年代(学历很重要),会出现高学历低能力的不再少数。因为学历是筛选平均值哈,少数人不会被平均,大多数人只在平均值。

现在再谈谈应届生难入职和年薪40万的看法

我是肯定学历的重要性的,甚至我比大家更了解里面的区别。因为我自己私下也有接毕设类的活:

  • 一个是:某电子学校的大二计算机视觉的作业,自己做三维重建的部分组件,要求可以参考开源项目。
  • 一个是:某二流大学的研究生作业,利用离群算法和关联分析,去做传统煤炉厂的一个异常报警。
  • 一个是:云南某学院的大数据挖掘项目。

这三个区别:

第一个是自己造轮子,必须深刻了解SFM和MVS的原理和算法才能接着进一步去做。非视觉向的人可以下跳去了解这个术语。

第二个是做一些很老的项目吧,这个项目论文是2015年的,他从师兄那改改就上去了。但里面的流程和基础概念他完全不理解,甚至不知道关联分析是为了优化流程。

第三个是挂羊头卖狗肉,说是说大数据挖掘,实际就是利用DEMO数据生成几个图表。

结论:

所以有时候应届生传出大厂年薪40万什么的我真的很能理解。要是他们都有这水平,大学期间打了比赛,做了自己的开源项目,发表了很不错的论文,这样优秀的人。哪个公司不会抢着要呢?

把普通程序猿的能力具体化该是什么?

背面试题?

项目做的特别好?

特别懂业务?

有一定管理能力?

曾经在顶级团队待过?

有自己的开源项目?

经常发表博客论文,技术帖?

拥有软件专利?

这些都是加分项,不过普通程序猿只要做到这些就够够的了:

  1. 数据结构和算法: 数据结构和算法是程序员面试的核心内容。掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、查找、递归、动态规划等)是至关重要的。
  2. 编程语言: 程序员需要熟练掌握一门或多门编程语言,通常是面试所需职位所要求的主要语言。这可能包括Python、Java、C++、JavaScript等。
  3. 操作系统: 了解操作系统的基本原理和概念,包括进程、线程、内存管理和文件系统等。针对特定职位可能需要深入的操作系统知识。
  4. 数据库和SQL: 了解数据库基本概念,如SQL查询、表设计、索引和事务管理。熟悉常见的关系数据库管理系统(如MySQL、PostgreSQL、Oracle等)。
  5. Web开发: 如果面试涉及Web开发,要了解前端和后端开发的基本原理,包括HTML、CSS、JavaScript、Web框架和RESTful API等。
  6. 面向对象编程: 理解面向对象编程的基本概念,包括类、对象、继承、封装和多态等。
  7. 版本控制: 熟悉版本控制工具,如Git,能够有效地管理代码库和协同工作。
  8. 软件工程原则: 理解软件工程原则,如DRY(不要重复自己)、SOLID原则、设计模式等,以编写可维护和可扩展的代码。
  9. 问题解决能力: 在面试中,面试官通常会提出算法和编程问题,要有良好的问题解决能力,能够分析和解决复杂问题。
  10. 系统设计: 对于高级职位,可能需要进行系统设计和架构方面的面试,要能够设计可扩展、高性能的系统。
  11. 沟通能力: 良好的沟通能力是面试中的重要因素,要能够清晰地表达思想和解释解决方案。
  12. 项目经验: 准备在面试中讨论你在过去的项目中的经验,包括你所负责的任务和所面临的挑战。

技术骨干型程序猿只要做到这些就够了:

  1. 网络和安全: 了解计算机网络原理和基本安全概念,以保护应用程序免受攻击。
  2. 性能优化: 能够分析和优化应用程序的性能,提高响应速度和效率。
  3. 系统架构: 了解系统架构设计和微服务概念,对大规模应用程序的设计有经验。
  4. 大数据和云计算: 了解大数据技术(如Hadoop、Spark)和云计算平台(如AWS、Azure、Google Cloud)。
  5. 自动化和部署: 学会自动化部署流程,使用CI/CD工具来持续集成和持续交付。
  6. 学习优秀框架: 如!!!!!!!关注题主 写的一些手写框架类的文章!!!!,思考如何做出企业级中间件,对于性能瓶颈如何应对。
  7. 如何阅读国外最新的论文 ,并且!将他们产业化

业务管理型程序猿只要做到这些就够了:

  1. 法律和伦理: 了解软件开发的法律和伦理问题,确保遵守相关法规和道德准则。
  2. 掌握行业动向,读懂行业报告,掌握行业咨询。了解最新的产品

别再想着35岁失业了!!!

财务自由程序猿只要做到这些就够了(拥有被动收入就可以成为财务自由的人):

  1. 写一个toC端的App
  2. 写企划书去拉投资人
  3. 去寻找商务伙伴
  4. 去寻找科研合作单位

看到这,请点赞一键三连,让平台置顶让更多人看到这篇文章,减少 35 岁失业的人。可以吗?

附录:

SFM和MVS是计算机视觉和计算机图形学领域中的两种不同技术或方法:

  1. SFM (Structure from Motion - 运动估计与三维结构恢复): SFM是一种计算机视觉技术,用于从一系列二维图像中恢复三维场景的几何结构(例如物体的位置和相机的运动)。它基于图像中的特征点和相机的运动信息,通过三角测量和优化技术来估计场景的三维结构。SFM通常用于三维重建、摄影测量和虚拟现实等应用领域。
  2. MVS (Multi-View Stereo - 多视角立体匹配): MVS是一种计算机视觉技术,用于从多个视角的图像中创建高质量的三维模型。它涉及到从不同角度拍摄的图像中的立体匹配,以生成具有深度信息的三维点云或模型。MVS通常用于建立精确的三维模型,如建筑物、雕塑、景观等。

这两种技术通常可以结合使用,以创建更精确和详细的三维重建结果。它们在计算机视觉、计算机图形学、地理信息系统(GIS)和虚拟现实等领域中具有广泛的应用。

相关推荐
Lee川3 小时前
优雅进化的JavaScript:从ES6+新特性看现代前端开发范式
javascript·面试
Lee川6 小时前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
晴殇i8 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
绝无仅有9 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有9 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
AAA梅狸猫10 小时前
Looper.loop() 循环机制
面试
AAA梅狸猫10 小时前
Handler基本概念
面试
Wect10 小时前
浏览器缓存机制
前端·面试·浏览器
掘金安东尼11 小时前
Fun with TypeScript Generics:玩转 TS 泛型
前端·javascript·面试
掘金安东尼11 小时前
Next.js 企业级落地
前端·javascript·面试