面试现场:遇到不会回答的问题,如何力挽狂澜 ?

JAVA面试不背八股文面试就过不了吗?老猿教你一招 不管是想要毕业求职的,还是想要跳槽加薪的,面对面试这座大山,难免感叹一句蜀道难,的确,在这个行行业业都在内卷的时代,你不付出点努力,想进入满意的公司,拿到心仪的offer恐怕是很难的事。每次总会有人抬杠,不背八股文面试就过不了吗?我想说的是,你可以试试PS: 最近有几位小伙伴私信让整理一波面试题,老猿也是兢兢业业下班以后晚上在网上整理了一波初级、中级-高级开发常问的八股文,以及找了几个在大厂的面试官朋友问了一下他们平时都喜欢面试者问什么问题~。 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:blog.youkuaiyun.com/beibei_programme/

article/details/94737215


前言

今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办。

误区

在开始讲解之前,先纠正一个误区,那就是对于一场面试而言,最后的结果好坏并不完全取决于面试当中的问题是否都回答了上来。

能不能录取和是否回答出所有问题并没有直接的联系。

换句话说,我自己经历过的,无论是面试也好,还是面别人也罢,问题没答上来通过的,都答上来没通过的情况太多太多了。

所以对待面试当中回答问题这件事情,可以稍微放平常心一点,不要过于以回答问题为导向。 因为很有可能, 你像是背书一样回答出问题之后,面试官反而扣分更多。

好了,下面我将从具体操作的角度讲讲该怎么做

一.保持冷静,搜集信息

这是第一条,也是最重要的一条。

在面试的时候难免紧张,如果面试官的提问一下子毫无头绪,肯定会更加紧张。所以最重要的是保持冷静,千万不能自乱阵脚。

当然,只冷静是不够的。冷静下来之后,有一件事一定要做,那就是再分析一下面试官的问题,看看有没有理解错,有没有什么信息缺失

除了确认题意之外,其实我们还可以通过询问搜集一些信息。如果是算法题的话,可以试着问一下数据的范围和时间的限制。

数据范围和时间限制有了,基本上就可以确定算法的复杂度了,复杂度确定了可以大大缩小算法的范围,解决问题就容易多了。

二.杜绝沉默,适当表达

这也是很重要的一点,很多人在面试的时候不把问题完全想出来,或者是不想到最优解就不肯罢休。

我自己之前有段时间也这样,有时候能想到解法,但是自己感觉不是最优解,我就会一直想,一直到想出来才跟面试官说。

后来当我自己成了面试官之后,我发现这种做法非常不可取。

因为你不说话面试官并不能知道你的状态,他不知道你是完全没有思路,还是说已经有了想法,还是已经有了一个近似的解法。他得不到反馈,他就不能对你的能力和价值进行评估,所以直到最后一刻才开口的做法是不可取的。

你要把面试当做一次探讨和沟通,即使一时没完全给出答案,也可以和面试官探讨,阐述你不成熟的想法、思路以及困惑。

很多时候面试官的问题只是为了考察你具体的某个点,只要你答到了,哪怕题目没有完全解开也没有关系。

有时候,你的想法可能面试官也没有料到,他会和你一起探讨,探讨的过程当中,也一样能够体现你的价值。

所以不要吝啬开口,勇敢地表达你的想法,哪怕思路不成熟,哪怕只是隐约知道怎么做,也可以试着和面试官分享。

三.回避问题,展示自己

如果面试官问的并不是一个问题或者算法的解决思路,而是一个具体的问题,而这个问题你又刚好不知道,那该怎么办呢?

这种情况的确比较棘手,因为你既不知道答案,也没有办法聊聊思路、旁敲侧击。在这个时候,就需要你用一点技巧,回避这个问题了。

首先,你需要先把自己知道的说出来,不知道的或者比较模糊的最好别说。

因为技术领域的概念比较多,很多名称比较近似,但南辕北辙,所以强行作答很有可能出现驴唇不对马嘴的事情,这是面试的大忌。

知道多少说多少,可是万一实在不知道或者想不起来了,怎么办呢?

想不起来,就是想不起来,千万不要撒谎。但是不撒谎并不意味着没有回旋的余地。你可以说,这个技术平时用的不多,我们某某领域,我对XX技术比较熟,不然我给你讲讲吧。

不要小看了这一小段话,我们仔细分析一下,这一句话当中包含了很多内容。

首先,你诚实地告知了面试官,这个问题可能答不上来。然后你告诉了面试官,虽然问题答不上来,但是你知道这个技术或者这个问题是什么方向的。

最后你给了一个解决方案,虽然我不知道A,但是我知道近似的B,也能起到近似的效果。

只要这里的A和你提供的B没有太大的出入,一般来说都没有问题。如果实在连近似的答案也没有,那么只能强行讲一些自己擅长的方向了。

比如问你数据库,你实在没用过,强行说自己对JVM很熟悉,也不是不可以。至少要比一句我不知道要好得多



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
TIA西门子博途V19安装教程及注意事项 阅读详情

相关推荐

解读Autoware.Universe规划模块:Behavior Path Planner

Behavior Path Planner是一个基于行为生成不同形态路径的路径规划器,负责生成 基于交通状况的路径(path), 车辆可以移动的可行驶区域(drivable area)(在路径消息中定义), 将被发送到车辆接口的转向信号(turn signal) 命令。

策 5491

作为一名Android程序员,面试的时候突然遇到答不上的问题怎么办?

前言今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办。误区在开始讲解之前,先纠正一个误区,那就是对于一场面试而言,最后的结果好坏并不完全取决于面试当中的问题是否都回答了上来。能不能录取和是否回答出所有问题并没有直接的联系。换句话说,我自己经历过的,无论是面试也好,还是面别人也罢,问题没答上来通过的...

weixin_34082177的博客 1414

LED背光驱动电路解析:从MP3394芯片到液晶屏灯管控制

本文深入解析了以MP3394芯片为核心的LED背光驱动电路工作原理。从升压电路的能量转换到多路LED的均流控制,详细阐述了其作为液晶屏背光“大脑”的关键作用,并提供了黑屏、闪屏、亮度不均等常见故障的实战检修思路与排查方法。

agile9scrum的博客 824

32道Java基础面试题,哪些你还不会?(1.4W字详细解析)

1、 Java语言有哪些特点 (1)简单易学、有丰富的类库 (2)面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) (3)与平台无关性(JVM是Java跨平台使用的根本) (4)可靠安全 (5)支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般...

程序员追风的博客 9084

win10 离线安装.Net Framework3.5

起因,安装软件比如3dmax2014等需要.Net Framework3.5支撑,那么需要安装低版本的.Net Framework3.5 闲话少说。 1.下载 NetFx3.cab 链接: https://pan.baidu.com/s/124to7F3BOy4yAlY61OjbDg 提取码: kixu 2.将NetFx3.cab 放入 系统盘的windows目录下(示例 C:\Wi...

m0_37615458的博客 7725

大疆sdkV4以及V5webrtc推流

webrtcSDK中要用它的VideoCapturer来初始化推流 ViewdoCapturer是一个接口我们继承它 然后重建创建文件CapturerAircraft.java文件。CameraUtil.java这个是我们用来创建CapturerAircraft的一个工具。除了CapturerAircraft这个文件不一样外其他都是一样的。PlayBodyBean.java这个是我们的配置文件。下面的有个代码块第一个是v4的 第二个是v5的。接着我们来创建几个推流用到的webrtc工具。

weixin_41624865的博客 1188

技术面试中,遇到不会回答的问题怎么破?来,教3招!

在技术面试过程,遇到自己不会回答的问题怎么处理? 其实,无论是技术面试,或者是在开发软件过程中,我们总是能遇到很多自己不会,但别人擅长的技术领域,这时候就是考验一个人的临场应变能力的时刻了。无论是从别人嘴里问出答案,还是面试中巧妙回答自己不会的问题,都是一种本领。而这种本领,不是天生的,是你总结经验得来的。

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 5186

第201期 解锁科研效率新高度:Claude 科学技能插件(claude-scientific-skills)深度体验

科研AI助手Claude Scientific Skills开源工具为Claude大模型扩展科学能力,覆盖数据可视化、数学计算、学术格式处理等科研全流程需求。该插件支持LaTeX公式生成、自动化科研图表绘制、学术文档规范校正等功能,让研究人员通过自然语言指令即可完成专业任务。项目开源可定制,支持特定学科需求扩展,目前已托管于GitHub。使用门槛低,只需配置Claude API密钥即可快速启用,帮助科研人员从繁琐技术细节中解放,聚焦核心研究创新。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1359

回顾这10年软件测试生涯,原来一切都很简单。

Time will tell. 不知不觉在测试行业已经过了10年。一路上有很多的故事,踩过坑、有过迷茫、有过付出、有过收获、有过坚持! 许多同学好友已经转行,选择了更适合自己的路。 前两天和从上海回来的某厂CTO一起吃饭,谈到软件测试的发展,突然发觉软件测试已经在不知不觉中发生了非常大的改变。 很多年前的测试行业还是一个风口,而随着各行各业的人员不断地涌入,目前测试行业最基础的功能测试岗位需求量已经很少了。 身边很多朋友都会问一些关于软件测试行业的问题。 在这十年测试行程当中,我看到了太多想提升测试技.

kami_ochin_akane的博客 557

帝企鹅优化器(EPO)详解:从基础原理到代码实战

帝企鹅优化器(EPO)是受帝企鹅群体在极寒环境中抱团取暖行为启发,于2018年提出的一种群体智能优化算法。其核心机制是模拟帝企鹅种群通过动态调整位置来维持体温的过程,主要包括确定集群边界、计算温度分布、衡量个体间距离以及更新位置四个步骤,从而在求解复杂优化问题时有效平衡全局探索与局部开发。该算法具有参数少、结构清晰、易于实现等优点,在工程优化、图像处理、机器学习特征选择以及冷链物流车辆路径规划等领域展现出良好的应用潜力。

qq_42212808的博客 140

鲁棒控制理论 --- H∞ 控制(被裁篇)

鲁棒控制理论 --- H∞ 控制

记录老板的每次pua,分享领导每天的毒鸡汤... 6万+

【美团面试现场】高并发场景下订单超卖10W+,我是如何用一把分布式锁力挽狂澜的?

今天给大家带来一道美团二面的高频场景题——。这道题看似基础,但90%的候选人都栽在细节实现上!本文将带你从问题分析到代码实现,手把手教你如何用分布式锁解决超卖问题。

Leaton的博客 1221

基于STM32L4XX、HAL库的ICM-42670-P姿态传感器驱动程序设计

sprintf(buffer, "温度: %.1f °C\r\n\r\n", sensor_data.temperature);sprintf(buffer, "陀螺仪: X=%.2f Y=%.2f Z=%.2f rad/s\r\n",sprintf(buffer, "加速度: X=%.2f Y=%.2f Z=%.2f m/s²\r\n",sprintf(buffer, "开始校准IMU,请保持传感器静止...\r\n");sprintf(buffer, "读取传感器数据失败\r\n");

zhusl6688的博客 643

极限压测第8小时:面试官质疑JVM调优方案,应届生手撕线程池源码力挽狂澜

在一场紧张的终面中,面试官设定了一道高难度场景:某系统在高并发压测第8小时出现性能瓶颈。面试官质疑应届生提出的JVM调优方案,要求其在白板上手撕线程池源码,深入解释线程池的实现细节,并提出优化建议。应届生凭借扎实的基础知识和快速的反应能力,成功化解危机,赢得面试官的认可。

Ared 631

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

我曾经是怎么做面试官的

阅读提示 更新于2019年2月3日:本文过于注重技巧,很多内容笔者已不再使用。这是成长的必经过程,正如独孤求败的剑术精进之路,先注重技巧,再内化,变得不拘泥于形式。 纵然本文内容已不完全与笔者真正的面试风格吻合,考虑到可能有开阔视野,启发思路的作用,对新人仍有参考价值,故分享出来。读者可结合自身实践,批判性地看待本文内容,不需要全盘接受。 形势分析 在线上沟通的时候,就可以分析双方的形式,即我方究...

公瑾说 193

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 厉害了!把 HashMap 剖析的只剩渣了!
下一篇: Spring Boot 解决跨域问题的 3 种方案!
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值