多分类模型中的FN、FP怎么算?

根据定义:
假阳性(FP): 实际为负,预测为正
假阴性(FN): 实际为正,预测为负;
对于二分类问题,这个比较清楚。但是对于多分类问题,我仍旧比较迷糊。
比如:
y_true = [0,1,2,0,1,2]
y_pred = [0,2,1,0,0,1]
此时:
1. y_true中的1,2是否都算负类?
2. 如果是,那针对0类,我的理解:TP为2,FP为1,先看预测正类的数目为3,其中2个猜对,1个猜错。
3. FN应该为3,TN为0,因为预测有三个负类,但是都预测错了。
求正解~~

1个回答

多分类问题计算FP和FN你需要先列出混淆矩阵

真实\预测      0      1      2
    0               2      0      0
    1               1      0      1
    2               0      2      0

那么分类讨论:

对于类别0的 FP=1 TP=2 FN=0 TN=3
对于类别1的 FP=2 TP=0 FN=2 TN=2
对于类别2的 FP=1 TP=0 FN=2 TN=3

然后进一步的宏查准率Marco-P、宏查全率Marco-R、宏F1 Macro-F1、微查准率Mirco-P、微查全率Mirco-R、微F1 Micro-F1的计算就是以上面9个值为基准进行的

qq_22440089
浩劫重生 回复lmw0320: 是
大约一年之前 回复
lmw0320
lmw0320 回复浩劫重生: 对于二分类,这个很清楚。但是对于多分类,就有些迷糊了。假使针对类别0,那1,2类的都算是负类吧。
大约一年之前 回复
qq_22440089
浩劫重生 回复lmw0320: FN 假的负样本——就是原本应该是正的样本被分到了负,就是假的负;TN 真的负样本——就是原本是负的样本确实被分到了负,就是真的负;TP+FN=实际正样本个数 TN+FP=实际负样本个数
大约一年之前 回复
lmw0320
lmw0320 列混淆矩阵没什么问题。。我就是看不出来FN和TN。。能否具体解释下,FN和TN的值是怎么来的?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
数据挖掘分类中关于分类器评估度量的一道题

数据元组已经按分类器返回概率值的递减序排序。对于每个元组,计算真正例 (TP)、假正例(FP)、真负例(TN)和假负例(FN)的个数。计算真正例 率(TPR)和假正例率(FPR)。 图片贴不出来,大概就是有十个元组,元组的类是N或者P,还有概率。 比如元组1的类是P,概率是0.95,元组2的类是N,概率是0.85等等递减排列。 我想问的是题目所说的“分类器返回概率值”指的是什么?是贝叶斯方法中的后验概率吗? 如果是的话TP、FP等是怎么根据后验概率算出来的? 如果不是的话那个概率是什么?TP、FP等是怎么算出来的?

一道蓝桥杯斐波那契数列题 数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 public void solve2(int a){ int [] arr=new int[a+1]; arr[1]=arr[2]=1; for(int i=3;i<arr.length;i++){ arr[i]=(arr[i-1]+arr[i-2])%10007;//对每一个斐波那契数列进行取余数 } System.out.println(arr[a]); } 我想问一下 arr[i]=(arr[i-1]+arr[i-2])%10007 对每一斐波那契数列进行取余是什么意思 如何理解 我是这样理解的 例如 当i=4时 余数为 i=3的余数加i=2的余数 再除以10007取余 这样对吗 为什么等于先求值再取余

单例模式中 fn.apply(this,arguments) 问题

最近再学习 javascript 设计模式 第一个 单例模式中 有个例子 如下: ``` <body> <button id="loginBtn">登录</button> <script type="text/javascript"> var createLoginLayer = function(){ var div = document.createElement("div"); div.innerHTML = '我是登录浮窗'; div.style.display = 'none'; document.body.appendChild(div); return div; }; var getSingle = function(fn){ var result; return function(){ return result || (result = fn.apply(this,arguments)); } }; var createSingleLoginLayer = getSingle(createLoginLayer); document.getElementById('loginBtn').onclick = function(){ var loginLayer = createSingleLoginLayer(); loginLayer.style.display = 'block'; }; </script> </body> ``` 实现是 需要登录框时 点击登录时 只出现一个登录框 其中 ``` var getSingle = function(fn){ var result; return function(){ return result || (result = fn.apply(this,arguments)); } }; ``` 这段代码中fn.apply(this,arguments) 不知道怎么理解 用断点查看 其中的this指向window 但是我用fn();替换也是可以的 不知道fn.apply(this,arguments)这段代码怎么理解 我知道apply() 这个第一个参数是绑定上下文用的, 是否当createSingleLoginLayer()被调用时this是否指向createSingleLoginLayer本身 请解答下

如何用BestExporter保存的最优模型验证测试集。

我训练了一个带early stopping的模型,用BestExporter保存最优模型,如何导出最优模型并且读取用测试集验证auc? ``` exporter = tf.estimator.BestExporter( name="best_exporter", serving_input_receiver_fn=serving_input_fn, exports_to_keep=5) # this will keep the 5 best checkpoints os.makedirs(model.eval_dir()) early_stopping = tf.contrib.estimator.stop_if_no_increase_hook(model, metric_name='eval_auc', max_steps_without_increase=20000, run_every_secs=400) train_spec = tf.estimator.TrainSpec(input_fn=make_input_fn('/hdfs/user/reco/sample_v1', 10), hooks=[early_stopping]) eval_spec = tf.estimator.EvalSpec(input_fn=make_evaluate_input_fn(), exporters=exporter, throttle_secs=120) tf.estimator.train_and_evaluate(model, train_spec, eval_spec) ```

用C语言证明费波拉契数列中Fn/Fn+1等于黄金分割。要求有输入输

用C语言证明费波拉契数列中Fn/Fn+1等于黄金分割。要求有输入输出

jquery中 $.fn的使用问题

代码如下: ``` /*test.js*/ (function( $ ){ $.fn.test = function() { var data = {}; alert('test'); return data; }; })( jQuery ); /*test.jsp*/ //引入jquery文件和test.js var a = $("#abc").test(); ``` 当我调用定义的test时,控制台提示找不到test, 但是如果只是一个简单的function则可以调用到,我问题出在哪呢,希望指点一下。

JSTL fn:contains 服务器报错

<c:if test="${fn:contains(${dctable.j0105} ,"因病")}">checked="checked"</c:if> ![图片说明](https://img-ask.csdn.net/upload/201711/20/1511168747_308133.png) 不知道哪里有问题,第一次使用这个JSTL表达式,请求救sos,目的是为了根据从数据库中读取数据并且可以给checkbox打钩

jstl的fn函数replace方法怎么用?

我想用fn的replace方法替换掉从数据库中取出的内容所包含的html标签; ``` ${fn:substring(news.content,0,105).replace("<p>", "")} ``` 我这样写是正常的,可是只能替换p标签,我想用正则表达式去替换 所有的html标签,应该怎么写?

c++内如何导入tensorflow中训练好的模型

我现在用tensorflow训练了一个自己搭建的卷积神经网络,现在需要再用c++实现该网络,不知道如何将这个模型保存成文本文件,然后再导入c++

jquery $.fn $.fx是什么意思

<p><span style="font-size: medium;">最近学习jquery中 发现会有类似$.fn,$.fx等等的东西 ,请问这些是什么意思,哪里有这方面的详细资料吗</span></p>

JQuery中new那点事 jQuery() 返回的是 new jQuery.fn.init()

jQuery() 返回的是 new jQuery.fn.init(),而 var obj = new jQuery(),所以这 2 者是相当的,所以我们可以无 new 实例化 jQuery 对象。 这句话怎么理解,jQuery构造函数返回的是一个new的对象,然后你var obj = new jQuery(),又是一个new对象,相当于new 一个new对象,这是一样的吗,没理解

谁能在Go Tour网站上解释一下compute(fn func())代码吗?

<div class="post-text" itemprop="text"> <pre><code>package main import ( "fmt" "math" ) func compute(fn func(float64, float64) float64) float64 { return fn(3, 4) } func main() { hypot := func(x, y float64) float64 { return math.Sqrt(x*x + y*y) } fmt.Println(hypot(5, 12)) fmt.Println(compute(hypot)) fmt.Println(compute(math.Pow)) } </code></pre> <p>Is the fn func() a function inside a function?? Can someone help with what is exactly the func compute doing here?. And I'm quite new to GO programming.</p> </div>

用C语言证明费波拉契数列中Fn+1/Fn等于黄金分割。要求有输入输出

用C语言证明费波拉契数列中Fn+1/Fn等于黄金分割。要求有输入输出

训练风格迁移模型时遇到一些无法解决的错误

# coding: utf-8 from __future__ import print_function import tensorflow as tf from nets import nets_factory from preprocessing import preprocessing_factory import utils import os slim = tf.contrib.slim def gram(layer): shape = tf.shape(layer) num_images = shape[0] width = shape[1] height = shape[2] num_filters = shape[3] filters = tf.reshape(layer, tf.stack([num_images, -1, num_filters])) grams = tf.matmul(filters, filters, transpose_a=True) / tf.to_float(width * height * num_filters) return grams def get_style_features(FLAGS): """ For the "style_image", the preprocessing step is: 1. Resize the shorter side to FLAGS.image_size 2. Apply central crop """ with tf.Graph().as_default(): network_fn = nets_factory.get_network_fn( FLAGS.loss_model, num_classes=1, is_training=False) image_preprocessing_fn, image_unprocessing_fn = preprocessing_factory.get_preprocessing( FLAGS.loss_model, is_training=False) # Get the style image data size = FLAGS.image_size img_bytes = tf.read_file(FLAGS.style_image) if FLAGS.style_image.lower().endswith('png'): image = tf.image.decode_png(img_bytes) else: image = tf.image.decode_jpeg(img_bytes) # image = _aspect_preserving_resize(image, size) # Add the batch dimension images = tf.expand_dims(image_preprocessing_fn(image, size, size), 0) # images = tf.stack([image_preprocessing_fn(image, size, size)]) _, endpoints_dict = network_fn(images, spatial_squeeze=False) features = [] for layer in FLAGS.style_layers: feature = endpoints_dict[layer] feature = tf.squeeze(gram(feature), [0]) # remove the batch dimension features.append(feature) with tf.Session() as sess: # Restore variables for loss network. init_func = utils._get_init_fn(FLAGS) init_func(sess) # Make sure the 'generated' directory is exists. if os.path.exists('generated') is False: os.makedirs('generated') # Indicate cropped style image path save_file = 'generated/target_style_' + FLAGS.naming + '.jpg' # Write preprocessed style image to indicated path with open(save_file, 'wb') as f: target_image = image_unprocessing_fn(images[0, :]) value = tf.image.encode_jpeg(tf.cast(target_image, tf.uint8)) f.write(sess.run(value)) tf.logging.info('Target style pattern is saved to: %s.' % save_file) # Return the features those layers are use for measuring style loss. return sess.run(features) def style_loss(endpoints_dict, style_features_t, style_layers): style_loss = 0 style_loss_summary = {} for style_gram, layer in zip(style_features_t, style_layers): generated_images, _ = tf.split(endpoints_dict[layer], 2, 0) size = tf.size(generated_images) layer_style_loss = tf.nn.l2_loss(gram(generated_images) - style_gram) * 2 / tf.to_float(size) style_loss_summary[layer] = layer_style_loss style_loss += layer_style_loss return style_loss, style_loss_summary def content_loss(endpoints_dict, content_layers): content_loss = 0 for layer in content_layers: generated_images, content_images = tf.split(endpoints_dict[layer], 2, 0) size = tf.size(generated_images) content_loss += tf.nn.l2_loss(generated_images - content_images) * 2 / tf.to_float(size) # remain the same as in the paper return content_loss def total_variation_loss(layer): shape = tf.shape(layer) height = shape[1] width = shape[2] y = tf.slice(layer, [0, 0, 0, 0], tf.stack([-1, height - 1, -1, -1])) - tf.slice(layer, [0, 1, 0, 0], [-1, -1, -1, -1]) x = tf.slice(layer, [0, 0, 0, 0], tf.stack([-1, -1, width - 1, -1])) - tf.slice(layer, [0, 0, 1, 0], [-1, -1, -1, -1]) loss = tf.nn.l2_loss(x) / tf.to_float(tf.size(x)) + tf.nn.l2_loss(y) / tf.to_float(tf.size(y)) return loss train.py from __future__ import print_function from __future__ import division import tensorflow as tf from nets import nets_factory from preprocessing import preprocessing_factory import reader import model import time import losses import utils import os import argparse slim = tf.contrib.slim def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('-c', '--conf', default='conf/mosaic.yml', help='the path to the conf file') return parser.parse_args() def main(FLAGS): style_features_t = losses.get_style_features(FLAGS) # Make sure the training path exists. training_path = os.path.join(FLAGS.model_path, FLAGS.naming) if not(os.path.exists(training_path)): os.makedirs(training_path) with tf.Graph().as_default(): with tf.Session() as sess: """Build Network""" network_fn = nets_factory.get_network_fn( FLAGS.loss_model, num_classes=1, is_training=False) image_preprocessing_fn, image_unprocessing_fn = preprocessing_factory.get_preprocessing( FLAGS.loss_model, is_training=False) processed_images = reader.image(FLAGS.batch_size, FLAGS.image_size, FLAGS.image_size, 'F:\Anaconda3\7\train2014/', image_preprocessing_fn, epochs=FLAGS.epoch) generated = model.net(processed_images, training=True) processed_generated = [image_preprocessing_fn(image, FLAGS.image_size, FLAGS.image_size) for image in tf.unstack(generated, axis=0, num=FLAGS.batch_size) ] processed_generated = tf.stack(processed_generated) _, endpoints_dict = network_fn(tf.concat([processed_generated, processed_images], 0), spatial_squeeze=False) # Log the structure of loss network tf.logging.info('Loss network layers(You can define them in "content_layers" and "style_layers"):') for key in endpoints_dict: tf.logging.info(key) """Build Losses""" content_loss = losses.content_loss(endpoints_dict, FLAGS.content_layers) style_loss, style_loss_summary = losses.style_loss(endpoints_dict, style_features_t, FLAGS.style_layers) tv_loss = losses.total_variation_loss(generated) # use the unprocessed image loss = FLAGS.style_weight * style_loss + FLAGS.content_weight * content_loss + FLAGS.tv_weight * tv_loss # Add Summary for visualization in tensorboard. """Add Summary""" tf.summary.scalar('losses/content_loss', content_loss) tf.summary.scalar('losses/style_loss', style_loss) tf.summary.scalar('losses/regularizer_loss', tv_loss) tf.summary.scalar('weighted_losses/weighted_content_loss', content_loss * FLAGS.content_weight) tf.summary.scalar('weighted_losses/weighted_style_loss', style_loss * FLAGS.style_weight) tf.summary.scalar('weighted_losses/weighted_regularizer_loss', tv_loss * FLAGS.tv_weight) tf.summary.scalar('total_loss', loss) for layer in FLAGS.style_layers: tf.summary.scalar('style_losses/' + layer, style_loss_summary[layer]) tf.summary.image('generated', generated) # tf.image_summary('processed_generated', processed_generated) # May be better? tf.summary.image('origin', tf.stack([ image_unprocessing_fn(image) for image in tf.unstack(processed_images, axis=0, num=FLAGS.batch_size) ])) summary = tf.summary.merge_all() writer = tf.summary.FileWriter(training_path) """Prepare to Train""" global_step = tf.Variable(0, name="global_step", trainable=False) variable_to_train = [] for variable in tf.trainable_variables(): if not(variable.name.startswith(FLAGS.loss_model)): variable_to_train.append(variable) train_op = tf.train.AdamOptimizer(1e-3).minimize(loss, global_step=global_step, var_list=variable_to_train) variables_to_restore = [] for v in tf.global_variables(): if not(v.name.startswith(FLAGS.loss_model)): variables_to_restore.append(v) saver = tf.train.Saver(variables_to_restore, write_version=tf.train.SaverDef.V1) sess.run([tf.global_variables_initializer(), tf.local_variables_initializer()]) # Restore variables for loss network. init_func = utils._get_init_fn(FLAGS) init_func(sess) # Restore variables for training model if the checkpoint file exists. last_file = tf.train.latest_checkpoint(training_path) if last_file: tf.logging.info('Restoring model from {}'.format(last_file)) saver.restore(sess, last_file) """Start Training""" coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(coord=coord) start_time = time.time() try: while not coord.should_stop(): _, loss_t, step = sess.run([train_op, loss, global_step]) elapsed_time = time.time() - start_time start_time = time.time() """logging""" # print(step) if step % 10 == 0: tf.logging.info('step: %d, total Loss %f, secs/step: %f' % (step, loss_t, elapsed_time)) """summary""" if step % 25 == 0: tf.logging.info('adding summary...') summary_str = sess.run(summary) writer.add_summary(summary_str, step) writer.flush() """checkpoint""" if step % 1000 == 0: saver.save(sess, os.path.join(training_path, 'fast-style-model.ckpt'), global_step=step) except tf.errors.OutOfRangeError: saver.save(sess, os.path.join(training_path, 'fast-style-model.ckpt-done')) tf.logging.info('Done training -- epoch limit reached') finally: coord.request_stop() coord.join(threads) if __name__ == '__main__': tf.logging.set_verbosity(tf.logging.INFO) args = parse_args() FLAGS = utils.read_conf_file(args.conf) main(FLAGS) ` ![图片说明](https://img-ask.csdn.net/upload/202003/08/1583658602_821912.png) 错误情况如图

sql数据误删,昨天删除的数据 sys.fn dblog 有记录吗?

昨天删除的数据 sys.fn dblog 有记录吗? 我怎么查不到,求大神解析

使用TensorFlow Slim微调模型出错,每次保存显示都是第0步

在使用TensorFlow Slim微调模型时,train_dir目录下面总是只保存第0步 的结果,但是还是保持5min更新一次,只是每次更新的都是第0步,我想请问你这是什么原因。我使用的是CPU调试。谢谢!!train_dir目录下保存结果如下图所示:

出错-单值上下文中的多值fn()

<div class="post-text" itemprop="text"> <p>I want to pass the results from a function fn() returning multiple values into a function wantx() that accepts multiple values. This seems to work if the number of values accepted by wantx() matches the number of return values. For example, fn() returns 2 values, and want2() accepts 2 values:</p> <pre><code>r:= want2( fn(5) ) // seems to work fine </code></pre> <p>However, if I want the return values of fn() to act as arguments 2 and 3 of want3(), then I get an error:</p> <pre><code>r:= want3( 1, fn(5) ) // error: multiple-value fn() in single-value context </code></pre> <p>How is want2() a multiple-value context while want3() is not ?</p> <p>How do I get the call to want3() to work ?</p> <p>Here is the full program:</p> <pre><code>package sandbox import "testing" func want3(fac int, i int, ok bool) int { if ok { return i * fac * 2 } return i * fac * 3 } func want2(i int, ok bool) int { if ok { return i * 2 } return i * 3 } func fn(i int) (int, bool) { return i, true } func TestCall(t *testing.T) { // error: multiple-value fn() in single-value context // r := want3(1, fn(5)) r := want2( fn(5) ) // works fine if r != 10 { t.Errorf("Call!") } } </code></pre> </div>

jstl fn.tld 找不到某方法

The class org.apache.taglibs.standard.functions.Functions specified in TLD for the function fn:startsWith cannot be found: org.apache.taglibs.standard.functions.Functions 配置正确,无法找到该方法,求教各位,谢谢。

easyUI数据网格行扩展报错$.fn.datagrid is undefined

![图片说明](https://img-ask.csdn.net/upload/201610/27/1477549439_75501.png)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐