读《朋友去网易面试,挂了》,有感

【智慧城市】GIS数据获取-获取道路/水路数据 【GIS数据获取】获取道路/水路数据 阅读详情

目录

逼逼叨叨

1.不重视底层技术

2.不能在错误中汲取教训

应该怎么做:

3.习惯写烂代码

应该怎么做:

4. 盲目追逐新技术

应该怎么做:

https://mp.weixin.qq.com/s/XndTbHxro23pFb9B6nJRuA

逼逼叨叨

这样的文章自己其实并不是第一次看,为什么就偏偏这次自己看到了后觉得非常有感觉,甚至忍不住再来写个读后感呢?自己剖析了下自己,以前没感觉可能跟自己认知水平有关系,所以就觉得这些人在吹水而已,也不想去 try 一下。结合自己这些年兜兜转转,在弯路上崎岖前行,深刻理解了下,大佬们其实说得是非常有道理的。

先说下自己的入行的经历吧,自己完全就是个野路子不正规军,自己连个培训班都没有去(后期知道2万多培训班没教什么的时候,自己甚至还暗自庆幸过自己多么机智)。主要当时自己工资到手才3000多(那时候在一个工厂,甚至还幻想自己兢兢业业做事,就能出任ceo迎娶白富美的白日梦。现在回头看自己也挺可笑的),听别人说做技术工资每个月8000,然后就心动了。入行的时候就是跟几个水军看了本安卓基础知识的书,然后就上手写代码了,改改应用界面还用ps切图(工作内容是真心的简单),然后就拿着编出来的简历和这点菜鸡知识开始去市场上找工作,然后就觉得自己能够登上人生巅峰了(那时候深圳还有2w左右的房),虽然自己也曾经忽悠拿到了8k的工资沾沾自喜(当自己知道别人一个月28k的是,这感觉跟吃屎一样,PS虽然自己没吃过,唉。)。说正事,计算机体系基础知识大学学了,但不深入,也就学过c语言,写过几行代码。

当时跟着的人水平也不怎么滴,遇到很多难搞的问题,只能百度csdn找到答案然后做出来,然后大家还互相吹水“真牛逼,强啊”。

大多数时候的我们都是,知其然而不知其所以然。(现在想想这是件多么恐怖的事情)

所以自己真的和高手无缘。

“我们以为我们是工作了10年,其实却只有一年的经验,只不过又重复用了九年”。——这句话看得我真的非常有感触,非常真实,不知道你们感觉怎么样?我感觉自己就是重复了这些年。

不重视底层技术,不知其所以然,不知根不知底,对于遇到的问题,永远都只能百度一下得到结果,甚至连英文都看不进去。(当然自己是过了英语4级的)老板吩咐一个功能下来,你也只能通过GitHub或者百度看看有没有可以复用的功能。然后ctrl c、ctrl v,真的就是那种开玩笑说的复制粘贴工程师。那时候觉得自己意气风发,还美滋滋的臆想:想不到这么简单就能拿到高工资(是的,8k就觉得已经很高了,那会自己的认知真的很低)

【别笑,至今现在身边还是有这样的程序员。】

当然自己曾经也追求过新技术,就像大佬说的,你不用真的永远就无法内化成你自己的东西。这就好像学武功,你没有内功心法,只会动作,你只是学会了外形而已,那有什么用呢?

以上是自己的经历,大佬们看看笑笑就好,萌新们,希望你们引以为戒千万别想我这样,除非你真的只是想混生活,反正迟早你也会被生活混的。如果你们是自学,也还想走得更远,想要生活更好,真的需要很强的自学能力和坚持能力(我觉得,7天每天学1个小时,真的比1天学7个小时强多了。这个是我从自己减肥经历领悟出来的)

当然自己也开始慢慢意识到了,慢慢的学英语读英文原版,反正坚持吧。

 


最近推荐一个朋友来网易面试,这哥们在小厂工作6年,研发经验非常丰富,但他却挂在了技术终面。

 

事后和他约了个饭,深聊了一次发现他的技术成长路径还是有点问题。

 

软件开发行业需要经验,需要时间来沉淀,但从我个人发展情况以及带过的下属来看,这种成长绝非线性成长,而是突变式成长。

 

所谓突变式成长就好比豹变和顿悟,仿佛一下子打开了任督二脉成为高手。而硬币的另一面是:不少工作10年的人,从经验和能力上考量和他刚毕业1、2年差距不大。

 

“我们以为我们是工作了10年,其实却只有一年的经验,只不过又重复用了九年”。

 

不少朋友虽然工作了很多年,但他们很少学习计算机体系基础知识、很少在debug能力上突飞猛进、很少去研究计算机底层知识和原理。除了最初几年能成长,之后一直停滞不前,而且他们不明白为什么。

 

这样的朋友在工作3、5年后,想进大厂很难,即便是在中小厂也很难成为架构师或者高级工程师。

 

而有些同学,才工作1,2年就能在工作中展现出优秀的能力、承担重要模块的研发和攻坚,甚至能独立做一个大的产品。

 

今天结合和这个读者朋友的深聊以及过去12年带团队的经验,讲讲作为程序员我们需要避开的4种表现:

 

1.不重视底层技术

 

应用层的技术,程序员们为了完成工作一定会大量学习,但其实底层技术同样重要,甚至更重要。

 

那么哪些是底层技术呢?拿windows C++技术栈举例:

 

  • C++语言高级特性:运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载)、多继承及其二义性、虚继承、多态、函数模板、类模板,模板的继承、程序编译链接机制、内存布局(memory layout)、对象模型、各种容器的实现(vector、map、hashmap)等等;

  • 算法和数据结构:尤其是和C++结合的算法能力及数据结构的应用能力,hash map、B+/B-树、算法在C++容器中的效率应用、DP(动态规划)等;

  • 网络底层:HTTP、HTTPS、DNS、ARP、TCP、IP、ICMP、UDP、FTP、SMTP、的实现底层;

  • 多进程/多线程编程:进程通信的方式(共享内存、pipe、Socket编程等)、同步、死锁及解决方案、线程池的实现、进程/线程的操作系统实现原理、进程的状态及切换和调度等;

  • UI库的实现机制:WTL的实现机制、QT的实现机制、Windows C++底层绘制原理(这块简直博大精深)、窗口消息机制、DUI的实现机制等;

 

很多程序员朋友,完成业务开发没什么问题,但一遇到系统性疑难杂症,立马就失去了方向。原因很多,但最重要的无疑是缺乏底层技术。

 

再举个应用场景的例子:一提到分布式锁问题,大多数同学想到的方案是基于Redis的Master-Slave模式来实现。这个实现方案行不行?分布式锁本质是一个CP需求,基于Redis的实现是一个AP需求,乍一看基于Redis的实现是无法满足的。

 

脱离业务场景来谈架构都是耍流氓。从技术战略的需求层面来看,如果分布式锁在极端情况下获取锁的不一致,社交业务场景能够接受,那么基于Redis的实现是完全可行的。

 

如果业务是交易场景,分布式锁在极端情况下获取锁的不一致性无法接受,那么基于Redis的实现方案是不可行的。在锁强一致性的场景下,需要采取基于CP模型的etcd等方案来实现。

 

做出以上判断,需要深度理解底层系统原理。缺乏了这种理解,无法做出正确的架构抉择,也自然会对工作造成不利影响。

 

夯实的底层技术还会让你具备一通百通的能力,旧文说过:我们要进入高手模式,能举一反三。对于程序员来说,不清楚底层技术基本与高手无缘。

 

底层技术具备可迁移性,更上层的应用技术却被特化。

 

拿我自己举例,早期积累了深厚的C++底层技术基础,2011年在cocs2d还没成熟之际,自己用C++写了一个小的游戏引擎,这套代码应用了大量windows C++的思想,这就是底层技术的可迁移性。

 

另外,大厂的面试官酷爱考察底层能力水平,诸如上来就让你手写算法、通过你的工作经历层层深入问下去,尤其是如何调优之类。

 

2.不能在错误中汲取教训

 

对于软件开发人员来说,在工作中获得反馈,并通过反馈矫正行为和方向非常重要。

 

这其中的重点是:在错误中得到反馈,并汲取教训,获得成长。

 

交付产品的BUG、一次code review的结论、领导对你提的建议等等,这些你是否记录了、沉淀了,并力争在下次得到进步和改进?

 

来自业务、产品和其他人的反馈,会让我们明白自己的短板在哪,应该如何针对性的学习和成长。

 

很遗憾的是,不少同学不仅不会在错误中成长,反而试图掩盖和消弭自己的错误。

 

应该怎么做:

 

  • 对每个反馈保持积极的态度。你可以选择接受或者拒绝,但都应该保持平和和学习的心态。

  • 从错误中学习。没有人能永远正确,终身学习才能让自己持续强大。

 

3.习惯写烂代码

 

大部分优秀程序员或多或少都有代码洁癖,这是因为他们把代码和交付物当作艺术品而不仅仅是完成一项工作。

 

关于这点,我们看看曾经是程序员大神的雷军是怎么说的:

 

“编程的工作和石匠的工作相差不多,是技术活同时也是体力活,而编写优秀的软件,是一件困难的事情。编程不仅仅是技术,更是艺术,也只有具备对艺术的追求,才能催生出更多优秀的产品。”

 

缺乏经验的程序员很难写出优美代码,在看他们的代码总有一种感觉:一不小心就陷入了迷宫,找不到方向和出口。

 

应该怎么做:

 

  • 在动手写代码之前,设计出代码框架并用StarUML等软件绘制出代码时序图和类结构图;

  • 重视命名规范和注释,命名最好能起到部分注释作用;

  • 定期重构代码,无论是函数和类的抽离、还是架构的优化,在不影响业务开发节奏的基础上,需要经常做。

 

追求代码的优美还有一个很明显的好处:会帮助你快速获得结构化能力和思维。

 

别怀疑,有经验的技术面试官可以很轻松的考察出你的思维是否是结构化的。

 

4. 盲目追逐新技术

 

很多开发人员总是在谈论技术潮流,当有了新的技术之际,他们总是异常兴奋,快速投入这项技术的怀抱。

 

过了一段时间,更新的技术出现了,他们又抛弃了刚学会的前一项技术。

 

这就跟狗熊掰玉米一样,他们总是在学习教程,并且总是虚幻的感觉自己都掌握了,但其实真正要掌握一项技术需要长时间的实战应用并需要在反馈中前行。

 

限于公司业务的稳定性,他们学习的新技术大部分不会应用于线上产品,自然很难得到实践和反馈。

 

应该怎么做:

  • 从工作中需要的技术学起,再应用到工作中,同时从线上得到反馈并改进。

  • 即便学习和工作无关的新技术,也要做一些实际的应用或者小玩意出来。

 

2008年我刚加入腾讯,发现我们的QQ游戏大厅调用游戏程序存在1%左右的失败率,这之后我深入学习了管道通信和共享内存通信,并做了一个调用失败立即切换的SDK,替换了原有的多进程通信的方式。上线后失败率下降到1/1000,这个过程让我真正掌握了新技术。

 

以上四点真正在工作中做到,相信大家的进步速度会明显加快。另外程序员常见的一些问题也需要规避下,比如养成工作摸鱼的习惯、傲慢自大(新手在学到一些知识之后,很容易站在愚昧之巅)等。

 

程序员朋友在职场的前5、6年,一定要想办法进大厂,虽然大厂不一定是职场终点,但大厂有这些优势:海量用户量、健全的福利、完整的培训体系、完善的晋升制度,它们会助力大家的发展。

八戒留档之宝塔部署edusoho 1.安装好基础的服务 2.上传你下载的代码到www/wwwroot文件3、配置网站 4.编辑创建的网站修改nginx文件 NGINX配置如下 server { listen 80; server_name 你的域名; root /www/wwwroot/项目文件名称/web/; location / { try_files $uri /app_dev.php$is_args$args; } ... 阅读详情

相关推荐

手把手教你用UNet实现轨道缺陷检测(附RSDDs数据集下载与完整代码)

本文详细介绍了如何使用UNet模型实现轨道缺陷检测,包括RSDDs数据集的下载与处理、UNet架构的改进与优化、训练策略设计以及模型部署的全流程。通过实战案例,展示了如何利用深度学习技术提升工业质检效率,特别适合从事工业缺陷检测和图像处理的开发者参考。

dapp9builder的博客 746

大数相乘(String)Java

不多逼逼,代码。 class Solution { public String multiply(String num1, String num2) { if (num1.equals("0") || num2.equals("0")){ return "0"; } String res = ""; ...

canmengmeng的博客 409

手把手教你用SNAP做全极化SAR图像分类

引言 最近在研究极化SAR图像分类方面的内容,发现用SNAP软件可以很方便的实现图像的分类。因为在入门过程中踩了很多坑,浪费了一些时间,为了不让大家踩坑,所以决定写下这篇教程。 前期准备 软件下载 SNAP是欧空局旗下的一个SAR图像处理软件,可以点击下载地址进行下载。 数据下载 数据下载地址:https://mdacorporation.com/sample_data/RS2_OK76385_...

zz651044657的博客 1万+

行人检测/人体检测综述

行人检测/人体检测综述 更详细的资料整理到了个人的github上,地址为 https://github.com/whitenightwu/11-Algorithm_and_Data\11-Paper Summary(根据应用划分)\53-行人检测和行人重识别\Pedestrian Detection 数据集 现在用的最多的数据集是CityPersons、Caltech-USA和KITTI,二者都是...

wydbyxr的博客 4573

PlutoSDR在matlab中的环境配置(包括驱动和硬件支持包)

双击下载到的驱动,除了点击接受协议和设置安装路径,其他只要点击下一步或者安装即可。登录或者注册你的账号,选择你的matlab版本(这里我的是2023b),点击下一步。设置安装路径,并选择我接受,点击下一步,即可安装完成,并在安装路径中得到。完成后,打开设备管理器,在端口和通用串行总线设备一栏,即可看见下图。点击进入,选择相应的系统安装包,这里我选择的Windows。可看到我们要安装的Pluto支持包,安装即可。右击桌面matlab,选择打开文件所在位置。右上角搜索pluto,选择并点击下一步。

weixin_53160338的博客 4864

从AXI到CHI:深入解析基于Credit的流量控制如何优化NoC设计

本文深入解析了从AXI握手式流控到CHI基于Credit的流量控制机制的演进。通过对比传统流控的瓶颈,详细阐述了Credit机制如何通过信用预分配和记账系统,有效解决FIFO气泡、时序收敛等难题,从而优化NoC设计的带宽利用率、降低延迟并提升系统可扩展性。

weixin_29227585的博客 522

微信小程序——简单的售后服务单

�_�3͚�[l��3vf�f~ ���DZ��2]a)+:“���M9�����%���m1�|���5�M���W[�#�#��&2��0��X���Q�|7;ҚD�� ��"o rl6�+�.� 7��ȃ������V=�������ݜ?t�)�U�Y�e��ؾ��:��t�*����R @�� �9N%�j﨎I�$��zb-e{����s�g�E�+ �5Z�G9�����F�Y�g�@<��w<�H������2�)\i�*

qq_43640874的博客 1990

华为OD机试真题 新系统 9月20号 【字符串分组求和】

华为OD新系统机试真题【字符串分组求和】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【字符串分组求和】解析。

qq_45776114的博客 607

朋友来网易面试,挂了~

阅读本文大概需要8分钟。最近推荐一个朋友来网易面试,这哥们在小厂工作6年,研发经验非常丰富,但他却挂在了技术终面。事后和他约了个饭,深聊了一次发现他的技术成长路径还是有点问题。软件开发行业...

dotNET跨平台 567

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 296

《UDS协议从入门到精通》系列——图解0x23:通过地址读取内存

如何读取ECU中指定内存地址的数据?图解UDS 0x23服务带你快速上手!!

车载系统攻城狮 2622

网易云信(音视频sdk)一面凉经

项目: 1、讲一讲最近几年做的项目里面自己做的功能,然后实现的能力和一些解决的问题 2、这期间除了维护有做过什么优化或者解决什么问题吗? 2.1、app出图速度、回放信令优化、d3d渲染优化(被问到目标分辨率,答实现64路D1不卡顿) 3、项目里有文件流格式吗?,你熟悉这些格式吗?(简单讲了ts和flv) 4、播放器有支持媒体流的快慢放吗?(回放流更多的是依赖设备发流速度,本地文件可以内部控制)==》音频的快放是怎么实现呢?(重采样)==》有做过变速不变调的快放吗?(不支持)==》播放器的视频源旋

一念之间、 880

深度学习工具包 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")

金三银四,我先面为敬了(字节,华为,网易等五家大厂面试有感)

大家好,我是老皮。又到了金三银四找工作的季节,最近听说了很多公司裁员的消息,大家是不是觉得今年的就业环境更难了。 这波裁员其实从年前就开始了,当时我还处于裸辞的状态,身边的朋友都劝我赶紧找工作,不然选择会越来越少。但是我还是坚持休息了几个月,才开始投简历。投出去的简历很快就有了回应,相继给我安排了面试。 就我的经历而言,找工作的过程还算顺利。不过每个人的实际情况有所不同,如果大家有跳槽的想法,可以根据自己的情况提前做好计划。 下面就跟大家讲讲我的面试经历吧~ ps: 如果不想看前面的面试总结,可以直接跳到

老皮的博客 591

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

测试近五年有感

工作三年往往是道坎,和我同期入职的小伙伴很多也在三年左右的时候跳槽另谋高就。15年年后,深圳迎来了一轮房价上涨,感觉买房好吃力,于是动了走的念头。另外在测试理念方面,我在微信支付时逐渐感觉测试的地位不像在财付通时那么重要的,略有不满,但是历史的发展趋势不就是这样的么~

伤心的辣条 1093

面试有感

        自从去年10月份回家呆到2月底过来,也找了近两个星期的工作了,有人说形势不好,但没觉得,基本上投的公司都有回应,也都有面试,除了给不起工资的,基本上都可以谈到差不多最终面,只是愿不愿意去的问题罢了。        面试了大概10家(基本上都是50-150人的公司,几家是150-500人的),总该有点自己的感悟吧。确实,真有点。也和大家分享一下吧。(另,感觉网易的简历筛选太那个了...

编程人生 143

通过“面试造火箭,工作拧螺丝钉”这个现象和网易小姐姐聊了会天

前言 前两天,和一个快半年没有联系,目前在网易的朋友聊了快半个多小时。这位朋友和我同一届,是前年 2018 年秋招进入网易的。我俩都对 “面试造火箭,工作拧螺丝钉” 深有感触,然后就这个话题扯了半天。 于是乎,今天就想写篇文章分享一下自己的看法,留作记录,期待我三年后再回来看看。 下面开始正文。 实际情况 你不得不承认 “面试造火箭,工作拧螺丝钉” 这句话这两年以一个很高的频率出现在我们面前。 下图是我自定义搜索时间范围后,搜索 “面试造火箭,工作拧螺丝钉” 这句话得到的结果。就非常明显的可以看到讨论这个话

215

大厂敲门砖,在阿里工作十年的朋友,总结出这份java面试必看手册

Dubbo 优秀的地方在于,整个架构诞生在 SOS 时代,但是有 RPC 思想的影子,相比传统的 RPC 框架,Dubbo 走的路线更高了一个层级,做大规模服务的解耦和治理的工作,管控服务,实现服务的查找、发现、负载均衡、上线下线以及流量管控等功能。

m0_73311735的博客 289

大厂敲门砖!在阿里工作十年的朋友,总结出这份java面试必看手册

Dubbo 优秀的地方在于,整个架构诞生在 SOS 时代,但是有 RPC 思想的影子,相比传统的 RPC 框架,Dubbo 走的路线更高了一个层级,做大规模服务的解耦和治理的工作,管控服务,实现服务的查找、发现、负载均衡、上线下线以及流量管控等功能。

m0_71777195的博客 269

2024.6.20 网易互娱笔试 (已 ak )

短期突击两周,目前拿到了三个offer(智谱AI,科大讯飞,好未来),工资待遇都很一般,但也只能三选。兄弟们,导师去吃饭不喊我们的时候,自己要主动跟着他们去吃吗,还是自己去吃就好没必要强行融入 #华为#不想抱怨焦虑的,但是很想倾诉出来,被毁约一个星期了,没有找到工作,期间面试了两个,现在都没有消息,现。#运营每日一题# 成熟期的运营最为重要,因为处于稳定期的产品用户量的增长已呈放缓趋势,潜在用户变少,末9本硕自动化女生研一,做过一点vue+nodejs,图神经网络,之后应该找什么样的工作,可能需要稍。

华鑫的专栏 1535

推荐学习!字节跳动上千道精选面试题还不刷起来!面试建议

前言 在去年10月份的时候入职了一家外企,恰逢最近几周公司大规模招聘Android开发,有幸参与了十几场面试,遂有感而发。在其中也从面试官的方面有了一些想法,希望分享给大家。 本来当做面试官对于我来说是一件比较新奇的事,但通过几场面试下来,感觉自己对面试有了更为立体的感觉。希望下面的分享能给大家带来一点点的帮助。以下是正文: 首先说一下感想,在一个整个的面试过程中其实有几个关键的点,关键的点掌握的好有很大的几率通过面试 应届坎坷求职路 一个广州非985/211普通本科生,计算机科学与技术专业。以前老是梦想

507

细节决定成败!阿里P8架构师的Android大厂面试题总结,实战解析

前言 在去年10月份的时候入职了一家外企,恰逢最近几周公司大规模招聘Android开发,有幸参与了十几场面试,遂有感而发。在其中也从面试官的方面有了一些想法,希望分享给大家。 本来当做面试官对于我来说是一件比较新奇的事,但通过几场面试下来,感觉自己对面试有了更为立体的感觉。希望下面的分享能给大家带来一点点的帮助。以下是正文: 首先说一下感想,在一个整个的面试过程中其实有几个关键的点,关键的点掌握的好有很大的几率通过面试 应届坎坷求职路 一个广州非985/211普通本科生,计算机科学与技术专业。以前老是梦想

Sunbuyi的博客 438

我是如何拿到阿里、网易双offer的?吐血整理

前言 在去年10月份的时候入职了一家外企,恰逢最近几周公司大规模招聘Android开发,有幸参与了十几场面试,遂有感而发。在其中也从面试官的方面有了一些想法,希望分享给大家。 本来当做面试官对于我来说是一件比较新奇的事,但通过几场面试下来,感觉自己对面试有了更为立体的感觉。希望下面的分享能给大家带来一点点的帮助。以下是正文: 首先说一下感想,在一个整个的面试过程中其实有几个关键的点,关键的点掌握的好有很大的几率通过面试 1. 我们生活的每天都面临着很严重的挑战 虽然目前看起来我们都在做着自己的事情,一切在顺

164

题解 | #从Products表中检索产品名称以及销售总数#

15分钟,问了个人经历,如何抗压,团队协作等问题反问分部门说是一二面面试官在的部门来挑,但二面面试官说是我们进去以后选择,不懂最后说意向可能节后发许愿招银+顺丰。本来觉得没机会,都不太想面了,又一想涨涨经验也是好的。一面hr面:自我介绍,哪里人,怎么看待加班,你之前最大的工作强度是多少,实习是自己找的吗,摊牌会加班,还有一些就是常规问题记不清了。国企真全**是垃圾,一个号称金融电子结算中心的公司,连个笔试网页都做不明白,记事本写代码(一个半小时,16道单选10多选2简答4代码)没有补全也就算了,我按ta。

每天多一点干货 663
上一篇: Shelve Silently 静默搁置 Android Studio Git 功能
下一篇: 哪些事看似不起眼,却很重要!!!
一休日记
博客等级 码龄11年 43粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一休日记

csdn打赏扣费20点,这

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值