当前位置: 首页 > article >正文

从准备面试八股文,感悟到技术的本质

工作前几年听说过,大学最重要的几门课其实是数据结构和算法、操作系统、计算机组成原理、计算机网络。

初听时不以为然,感觉没什么用。

近期准备面试八股文得到了一些感悟。这句话随着工作年限和对程序的理解越来越深入,含金量越来越高。

最近面试问的都是技术底层原理和实际使用注意事项。对于技术底层原理,考察的是你使用某一项技术的时候是否会去考虑底层的实现原理。对于实际使用,就是考察你是否真的用过,用的是否合理。

针对于上面提到的两个考察方面要怎么提升呢?

这个也可以拆解成两种努力方向:

第一个是短期内快速提升,就是针对于具体的技术点,去网上找大量的资料,熟悉实际使用经验和底层原理。

第二个方向是长期方向,找到工作以后,每使用一个技术,多思考为啥要这么用?有没有更好的使用方式?底层是怎么实现的?

那么回到开头,为啥那4个科目是最重要的呢?

我们程序员其实就是理解业务需求,进行分析和设计,和其他同事配合,把业务需求用程序软件实现。

最后的成果就是程序和设计文档。

那么程序就是代码,代码包括数据结构和算法。设计就是抽象业务流程,选择合适的数据结构和算法。当然除了专门做算法开发和中间件开发的程序员会自己去用数据结构和算法实现一个需求。但是业务开发程序员的话就是利用一些封装好的框架和工具实现需求,当然框架和工具底层也是算法和数据结构,我们需要去了解。不然永远都是一个只会使用API的码农。

现在程序有了,那程序是怎么运行的呢,这个就需要我们理解操作系统和计算机组成原理。

上面的都搞懂以后,那么在单台计算机上面你已经天下无敌了。那有些需求一台计算机不能满足怎么办,这个时候需要多台计算机配合实现,那么多台计算机之间怎么通信呢?所以就要用到计算机网络了

那么具体对应到面试准备是怎样的一个关系呢?

八股文=考察的是常用技术栈的使用和底层原理

场景题=考察的是你对于一些技术、数据结构和算法、其他技术的底层实现思路能不能灵活应用

算法=纯粹考你的基本逻辑能力,不过一般的公司都不考这个

举个形象的例子

线程池在JAVA面试中常问的有以下的一些问题?

有哪些参数?

考察实际使用

一个任务提交以后运行流程是怎样的?

考察技术底层设计思路

实际工作中各个参数你们怎么配置的?

考察实际使用经验,这个和具体业务相关,以工作队列为例,用无界队列可能会导致OOM,有界队列的话有2种,要怎么选择呢,这个得看底层实现和数据结构。看看哪种运行效率更好,吞吐量更高

线程池底层实现原理、源码?

这个就考的更深入了,需要花大量时间去研究,所以还是的平常多去看,多去学,不要觉得看了好像对当前的工作没用就不看了,面试就是考察这些基本功。

要你自己实现一个线程池,你怎么实现?

这种就是场景题了


http://www.kler.cn/a/320684.html

相关文章:

  • 【HarmonyOS】鸿蒙系统在租房项目中的项目实战(二)
  • STL序列式容器之stack
  • ES6标准-Promise对象
  • 【Android原生问题分析】夸克、抖音划动无响应问题【Android14】
  • LlamaIndex+本地部署InternLM实践
  • 树莓派4B Qt+FFMPEG 多线程录制USB相机mjpeg数据流“h264_omx“硬件编码的MP4文件
  • Flutter局域网广播(UDP通信)与TCP通信
  • ant design vue做表单验证及form表单外验证、父子嵌套多个表单校验
  • MySQL篇(leetcode刷题100(查询))(二)(持续更新迭代)
  • 美食雷达:Spring Boot校园美食探索工具
  • Java实现Excel导入和导出
  • 面对淘宝镜像证书过期,npm怎么办?
  • 撤销与恢复的奥秘:设计模式之备忘录模式详解
  • SLM2304S 600V, 130mA/270mA 高压半桥驱动芯片,隐藏着哪些强大功能?
  • Linux上写Shell脚本遍历多个ip是否能够telnet通
  • 自然语言处理在人工智能领域的发展历程,以及NLP重点模型介绍
  • 计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
  • 深度解读WFST:音频与语音识别领域的关键技术
  • 无人机集群路径规划:雾凇优化算法( rime optimization algorithm,RIME)求解无人机集群路径规划,提供MATLAB代码
  • CentOS:稳定的服务器操作系统选择
  • HTTP和HTTPS的区别,HTTP协议转HTTPS协议测试需要注意内容
  • JVM的基本概念
  • scrapy 爬取微博(四)【最新超详细解析】: 设计篇
  • python学习-13【网络编程】
  • 双端搭建个人博客
  • 安卓中有main函数吗?