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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

举个形象的例子

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

有哪些参数?

考察实际使用

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

考察技术底层设计思路

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

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

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

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

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

这种就是场景题了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149590.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

[利用python进行数据分析01] “来⾃Bitly的USA.gov数据” 分析出各个地区的 windows和非windows用户

2011 年, URL 缩短服务 Bitly 跟美国政府⽹站 USA.gov 合作,提供 了⼀份从⽣成 .gov 或 .mil 短链接的⽤户那⾥收集来的匿名数据。 在 2011 年,除实时数据之外,还可以下载⽂本⽂件形式的每⼩时 快照。 数据集下载:通…

复杂网络(Complex Network)社团数据可视化分析(gephi)实验

Experiment Report of complex network course 复杂网络实验报告 目录 Experiment Report of complex network course 复杂网络实验报告 实验目标(The objective of the experiment): 实验流程(The flow of the experiment&a…

实验室ICPR 2024论文分享┆FPMT: 基于增强型半监督模型的交通事件检测(含详细视频解读)

目录 论文分享简介 1. 会议介绍 2. 研究背景及主要贡献 3. 方法 4. 实验 5. 结论 6. 论文介绍视频 论文分享简介 本推文详细介绍了一篇实验室的最新论文成果《FPMT: Enhanced Semi-Supervised Model for Traffic Incident Detection》,该论文已被第27届国际…

23中设计模式,以及三种常见的设计模式demo

常见的23种设计模式 Java设计模式是软件工程中常见的解决方案,用于解决在软件设计中反复出现的问题。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。这里,我将简单介绍三种常见的设计模式,并给出相应的Java代码示例…

序列化和自定义协议

序言 在上一篇文章中,我们介绍了Socket 编程,已经可以简单地使用该方法来进行服务端和客户端的数据了。在这篇文章中我们将在此基础上学习序列化和反序列化,以及在应用层上自定义协议。 序列化和反序列化 1. 为什么需要序列化和反序列化&…

网页跨域异常100%解决(谷歌浏览器)

目的: 1.开发过程中,经常出现浏览器提示跨域 2.原因新版本浏览器拦截跨域请求 3.错误关键消息如下: Access-Control-Allow-Origin cess to XMLHttpRequest at http://192.168.1.104:3080/api/Login/Store from origin http://yingyongliere…

数据分析学习之学习路线

前言 我们之前通过cda认证了解到数据分析行业,但是获取到证书,并不代表着,我们已经拥有的数据分析的能力,所以通过系统的学习数据分析需要掌握的能力,并学习大佬们的分析经验、分析思路,才是成为数据分析师…

为什么会出现电话机器人?语音电话机器人的出现起到了什么作用?

电话机器人的出现是科技发展与市场需求相结合的产物,它们的广泛应用反映了现代社会对效率、成本和服务质量的不断追求。以下是电话机器人出现的几个主要原因。 1. 市场需求的变化 随着经济的发展和消费模式的转变,客户对服务的期望不断提高。他们希望能…

数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall

数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall 数据集-目标检测系列-海洋鱼类检测数据集 fish 数据量:1W 数据项目地址: gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview github: https://github.com/…

时间序列数据可视化

#时间序列可视化 #离散数据的时间序列可视化 import numpy as np import pandas as pdts pd.Series(np.random.randn(1000), indexpd.date_range(1/1/2000, periods1000)) ts ts.cumsum() ts.plot() #%% #连续数据的时间序列可视化 import matplotlib.pyplot as plt df pd.D…

论文复现:考虑电网交互的风电、光伏与电池互补调度运行(MATLAB-Yalmip-Cplex全代码)

论文复现:考虑电网交互的风电、光伏与电池储能互补调度运行(MATLAB-Yalmip-Cplex全代码) 针对风电、光伏与电化学储能电站互补运行的问题,已有大量通过启发式算法寻优的案例,但工程上更注重实用性和普适性。Yalmip工具箱则是一种基于MATLAB平台的优化软件工具箱,被广泛应用…

AWS注册时常见错误处理

引言 创建AWS账号是使用AWS云服务的第一步,但在注册过程中可能会遇到一些常见的问题。本文中九河云将帮助您排查和解决在创建AWS账户时可能遇到的一些常见问题,包括未接到验证电话、最大失败尝试次数错误以及账户激活延迟等。 常见问题及解决方法 1. …

生成式AI赋能:对话式BI引领数据分析新潮流

引言:数据交互的革新之旅 在信息爆炸的今天,我们与数据交互的方式正经历着前所未有的变革。静态的仪表盘,尽管曾以视觉上的革新引领一时风尚,但如今已难以满足用户对动态、深度数据洞察的迫切需求。用户不再满足于仅仅观赏精美的…

Go weak包前瞻:弱指针为内存管理带来新选择

在介绍Go 1.23引入的unique包的《Go unique包:突破字符串局限的通用值Interning技术实现》一文中,我们知道了unique包底层是基于internal/weak包实现的,internal/weak是一个弱指针功能的Go实现。所谓弱指针(Weak Pointer,也称为弱…

线程池和JUC

1. 线程池 1.1 线程状态介绍 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程 状态被定义在了java.lang.Thread.Stat…

C# Socket 服务端

WPF 项目 引入 Socket using System.Net.Sockets; 声明 Socket 并创建对象等待客户端连接 开启线程等待客户端连接并接收消息 接收消息并解析 发送消息 完整代码

【设计模式-访问者模式】

定义 访问者模式(Visitor Pattern)是一种行为型设计模式,允许你在不修改已有类的情况下向这些类添加新的功能或行为。它通过将操作的执行逻辑从对象的类中分离出来,使得你可以在保持类的封闭性(符合开闭原则&#xff…

【有啥问啥】 Self-Play技术:强化学习中的自我进化之道

Self-Play技术:强化学习中的自我进化之道 在人工智能的快速发展中,强化学习(Reinforcement Learning, RL)已成为推动智能体自主学习与优化的关键力量。Self-Play技术,作为强化学习领域的一项前沿创新,通过…

【工作流集成】springboot+vue集成工作流activiti,flowable,智能审批系统,集成方案(源码)

基于Javavue开发的智能审批系统,低代码平台 软件资料清单列表部分文档清单:工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需…

教育在线答题在线小程序源码系统 PHP+MySQL组合开发源码开源可二次开发 带搭建部署教程

系统概述 教育在线答题在线小程序源码系统是一款专为教育行业设计的,集在线题库管理、智能组卷、在线答题、自动评分、成绩分析等功能于一体的综合性平台。该系统采用PHP作为后端开发语言,结合MySQL数据库进行数据存储与管理,确保了系统的稳…