双非本科Android开发,如何逆袭拿到大厂 Offer?

腾讯TEG AI平台部门一面+二面面经 为什么一面和二面写在同一篇,是因为这两个面试就在同一天,我还没来得及写一面面经,二面就打电话过来了。 一面 一面时长近一个小时,快把我所有东西都掏空了。 首先是面试官小哥哥进行部门介绍,大概了解了他们部门是做游戏的,主要是用强化学习等方式训练出AI机器人进行模拟对战,可以用于游戏队员训练等等,目前已经可以战胜职业选手,还有像围棋、德州扑克这种的模拟对战。 保持着一种非常疑惑的态度听面试官介绍完,然后面试官问我有什么问题吗? 我想了一下说,我投的好像是PCG的ARC lab,然后面试官问我对PCG有 阅读详情

从2020年3月18日投出第一份暑期实习简历至今,已经过去400多天。我也尘埃落定,即将去CVTE做Android开发。

休息了很长时间,如今已经能够很平静地回首这段历程,写下这篇文,致敬曾经走过的漫长求职路。如果还能对即将或正在求职的人有所帮助,也算是功德一件。

开头补充

一、个人背景

双非本科,先后在网易和字节跳动实习,都是做Android开发。

二、时间线

2020年3月初开始准备暑期实习,腾讯3捞3败,最终以 0 offer告终 2020年5月中旬开始投递日常实习,收到网易的两个offer及滴滴OC。2020年8月初开始投递秋招,面试了一些大厂,没有满意的offer。

2021年春招,收到CVTE、乐视offer,知乎一面挂。

三、毕业后进互联网大厂的三个机会

1.暑期实习/春招实习:面向次年毕业的学生,一般随应届春招同步开启(3月左右)竞争相对较小,有转正,转正几率视不同公司而定。

2.秋招:面向应届生,一般在7月中旬陆续开启网申,整个招聘过程持续到9月甚至十月(12月左右零星开始补录)竞争大,HC相对较多。

3.春招:面向应届生,一般在2月中旬陆续开启网申,整个招聘过程持续到4月甚至5月(但其实4月初基本就招完了)竞争巨大,HC极其之少。

一、准备

2020年7月开始准备秋招,直到春招才找到满意的工作,有了暑期实习备战的经验,已经能够清楚所有的流程和准备要点,准备阶段所做的步骤基本如下:

其实每个人都有自己特有的学习方法,我们都需要寻找到最适合自己的,在这里我只是列举出我复习的技巧,大家只需要选择适合自己的就行。

书籍和网站

我觉得看书真的是十分的重要,每一本书都有自己的知识体系,但是好书确实不多,需要经历一番挑选;关于网站则是对一些体系较小的知识进行汇总,这里推荐的是设计模式。以下我列举一些个人觉得不错的一些书籍和网站:

  • Android 相关
  • 《Android开发艺术探索》
  • 《深入理解Android虚拟机》
  • 《Android源码设计模式解析与实战》
  • Java相关
  • 《Java编程思想》
  • 《深入理解Java虚拟机》
  • 《图解Java多线程设计模式》
  • 网络相关
  • 《计算机网络》(谢希仁 编著)
  • 《网络是怎么连接的》
  • 数据结构与算法相关
  • 《算法导论》
  • 《算法》(第4版)
  • 设计模式相关
  • 练习相关

知识总结

看了这么多书籍和网站之后需要对这些知识做一个比较系统的整理,这里推荐使用思维导图工具,下图则是我总结的Android复习体系图

面试技巧

  • 面试前需要对自己总结的知识重新回顾一遍,以便在被问及时能够快速并且全面的回答问题。

  • 面试前对该公司稍做了解,可以从官网或者从产品等方面了解,如果有产品的话还可以使用,看看有没有存在一些bug,当面试官要你提问题的时候可以跟他一起讨论。

  • 面试完之后做稍做记录,记下自己回答的不好的问题,方便查漏补缺。

由于篇幅限制,这里只能展示部分内容,朋友们如果需要这份完整版的PDF资料合集,微信扫描下方优快云官方二维码【免费获取】。

部分面试经历

CVTE

一面 (电话面)

  • 讲讲你看的Android源码
  • 说说你在项目中用到的MVC
  • 说说观察者设计模式
  • 讲讲对线程安全的理解
  • JVM内存模型
  • HashMap的工作原理
  • 知不知道可重入锁
  • GC回收算法(凉)
  • 引用方式
  • 内存溢出和内存泄露的区别,内存泄露一定会内存溢出吗?
  • 四大组件有哪些
  • Activity的启动模式
  • Activity的生命周期
  • wait使用时要注意什么(答了死锁,面试官换了题目,应该是没有get到它的点) —和notify成对出现
  • ArrayMap和HashMap区别(没答出来,之前看过ArrayMap但忘完了…)

二面

二面应该是总监面,问题主要偏向项目,有一些问题已经忘记了,只能列出一些还记得的:

  • 做了哪些项目?详细说一下项目。
  • 讲一下RXJava原理;subscribeOn()与observeOn()哪一个方法多次切换线程只有第一次有效?为什么?
  • Volley原理?
  • Retrofit原理?
  • Volley与Retrofit缓存机制有哪些区别?
  • 简单工厂,工厂方法,抽象工厂三种设计模式的优缺点?
  • 什么是内存泄露,什么是内存溢出?
  • 平常使用什么分析工具来优化APP的性能?
  • 手写算法题————实现一个栈
  • Java的集合类包括哪些?各自有什么特点?
  • 为什么写博客?
  • 今后想要往哪些方面发展?

终面(视频面)

我并不认为我能走到最后[不是矫情和装],因为面过CVTE的人都知道,最可怕的是它的终面,终面是被人诟病的,说CVTE不好的基本都是吐槽它的终面,还是有点慌的。又过了好几天,约好了终面的时间==

  • 给前两次面试打分,满分10分。为什么这么打?
  • 有没有面试过哪些公司了,有收到多少offer了,为什么?
  • 工作的薪资期望,地点和时长?
  • 家庭情况,爸妈性格怎么样,你觉得跟谁的比较像,家里人对工作有什么要求吗?
  • 你父母小时候是怎么教育你的?
  • 有没有女朋友?
  • 你未来有什么规划?(我说了一个三年目标和五年目标)
  • 你在技术方面最有成就感的一件事情是什么?
  • 最近压力最大的是什么事情,如何调解?
  • 为什么没有留在之前的公司?
  • 如果你面试没有通过,你觉得是什么原因呢?
  • 你会因为什么原因拒绝我司的Offer?(个人觉得这个问题回答的很关键,我说我不会拒绝的,因为贵公司就是我想去的公司)

仔细回想发现有点强行跪舔的感觉,中间也暗示过几次只要你要我,我TM就去。

在两天后的晚上官网刷新状态— 终面通过了,bingo!!!

乐视

笔试:

笔试没啥特别的东西,都是一些java基础,安卓基础,几道中规中矩的算法。

一面:

  • 四种启动模式?写了几个情况,让我说back键的情况?
  • LayoutManager和MeasureSpec之间的关系?
  • 堆排的思想?快排的时间复杂度?手写一下快排?
  • Handler机制?
  • Service即start又bind,怎么才能彻底停止?IntentService怎么实现的?
  • Aidl中Stub和Proxy的区别?聊一聊对Binder的理解?
  • 手写一个有序数组的合并?

二面:

二面整体就是根据我的简历,问了问。让我聊一聊看过的OkHttp的源码。
手写了俩个算法:

  • 用最小的时间复杂度判断单链表是否有交点。
  • 手写二叉树的按层级进行遍历。

HR面:

谈人生谈理想…

乐视的效率不算高…一周后给了答复,可以给offer…不过鉴于乐视最近的情况…再考虑吧

知乎

知乎算是一次体验比较差的体验…一面就让我走了,而且我都不知道啥原因。手动摊手.png

一面:

  • 聊一聊ArrayList源码?什么时候初始化数组?怎么扩容?扩容时使用什么样的方式增大数组?
  • 聊一聊HashMap源码?怎么扩容?源码的hash是怎么保证平均散列的?hash冲突后,使用什么方式解决?插入的时候在头结点,还是尾结点?key为空的处理?
  • java中的序列化和安卓中的序列化
  • 聊一聊安卓中特有的集合
  • 线程安全的Map有什么?使用什么样的方式保证线程安全?分段锁和重入锁的区别?
  • synchronized和Lock的区别?
  • Measure的三种情况?
  • 切圆角有几种方式?(必须吐槽这个题…)
  • Handler机制?postDelayed怎么处理的?
  • 算法:翻转一个int型的大数

一面结束…就没有然后了…

总结

闭关了几个月也有了一些心得(也许是废话):

提前准备(越早越好)+心态良好(打不倒你的终将使你强大)+坚持脚踏实地(对于常问的知识点一定要由浅入深的弄懂到自己可以说出来)+运气(有时候你没面过,不要去怀疑你的实力,可能只是一时运气不好)+注意一些技巧(太老实也不一定是件好事)

对于那些想进大厂的同学一定要刷算法题。对于我那些笔试挂了的,应该都是算法题没做好,尤其是字节跳动,它的笔试题就是五个算法题。

上面的内容里内心戏(废话)比较多,其实笔者真的比较菜,标题不是自嘲。这个Offer在很多大牛看来很普通,一般只是作为备胎。但对于笔者来说真但不太容易,自己也很满意了,我拿到offer后,没有怎么考虑,直接接受了offer,准备把学校的最后琐碎事弄好就过去就职。

下面放一些我在准备面试看的一些感觉很不错资料,也祝在找工作的小伙伴早日找到心仪的工作

ESP32-CAM搭建Arduino及简单使用 配置环境 方法一 文件 → 首选项 http://wechat.doit.am/package_esp8266com_index.json https://dl.espressif.com/dl/package_esp32_index.json 工具 → 开发板 → 开发板管理器 等待安装 方法二 https://github.com/espressif/arduino-esp32 Arduino安装目录下,找到hardware文件夹 建立文件夹espressif,然后在里面再建立一个esp32文件夹 阅读详情

相关推荐

《深入 UFS Explorer:自定义 RAID 配置指南》

UFS Explorer支持以虚拟模式组装任何受支持的RAID配置,以便后续访问其内容或恢复丢失数据。启动RAID构建器;向RAID构建器主内容区域的列表中添加RAID组件;为不可用组件插入占位符(需当前RAID级别支持且软件兼容);调整组件的准确顺序;在“虚拟RAID配置”区域设置RAID参数;以虚拟模式组装阵列各部分。程序主窗口“存储设备导航面板”中打开的任何存储设备(包括驱动器、逻辑卷、磁盘镜像、虚拟磁盘及其他复杂存储设备)均可作为RAID组件。

melonbo的专栏 1404

好未来(已拿offer)+ CVTE(3面通过)

发个面经来回馈牛客网,灰常感谢找工作以来牛客网各种资源的共享,offer在大神们看来都不好,但余已知足。排版了3次,终于好了。。。。 首先说明自身情况:非985、211本科生一枚计算机专业的渣渣。 提前批快结束了,终于有了一个offer了,实属不易,从实习到现在也面过了BAT,金山电话面过了在等宣讲会现场面。再不拿offer都开始要怀 疑人生了。。。。提前批阿里面了2面,感觉还可以,但是还是

MachineLP的专栏 2万+

从SolidWorks到URDF:插件使用、关节配置与PyBullet仿真避坑指南

本文提供了一份从SolidWorks导出URDF模型并导入PyBullet进行仿真的完整实战指南。详细讲解了SolidWorks插件的正确安装与配置、关节类型的选择与坐标系对齐的核心技巧,并针对PyBullet仿真中常见的模型散架、路径错误、物理属性异常等问题提供了深度避坑解决方案,帮助机器人开发者高效完成从设计到仿真的全流程。

weixin_29081101的博客 543

CVTE面试总结(全网面经,已收offer)

文章目录`CVTE网上面试题总结`JAVA基础1.Servlet的生命周期2.session和cookie的区别3.对Java的集合类了解哪一些4.ConcurrentHashMap的细节5.string stringbuilder stringbuffer6.switch中可以用string吗 为什么7.equals ==区别8.hashmap结构9.hashmap扩容10.hashmap为什么...

qq_38056704的博客 5万+

TEC控制器芯片 ADN8835 中文数据手册

ADN8835是一款高集成度的单芯片TEC控制器。它包括线性电压调节模块脉冲宽度调制(PWM) 电压调节模块和两个零漂移、轨到轨斩波放大器。线性控制器和PWM驱动器用于控制H桥配置中的内部功率MOSFET。通过测量热传感器反馈电压,并使用集成的运算放大器作为比例-积分-微分(PID)补偿器来调理信号,ADN8835通过TEC驱动电流,将连接至TEC模块的激光二极管或无源组件的温度稳定到编程的目标温度。

lu2289504634的博客 9538

数字IC后端实战:Innovus与ICC2中如何巧妙规避Filler1缺失引发的DRC问题?

本文针对数字IC后端设计中工艺厂不提供最小填充单元Filler1的常见挑战,深入剖析了由此引发的DRC问题根源。详细对比了在Cadence Innovus和Synopsys ICC2两大主流PR工具中,如何通过设置单元间距约束来系统性规避物理缝隙,确保电源网络完整性与制造可靠性,为工程师提供了一套稳健的实战解决方案。

weixin_29303701的博客 306

终面后拿offer几率_故事分享02 | 做了一份调查报告,我初面就拿到offer了

分享嘉宾:Alex,山东大学本科,布里斯托大学硕士。1份销售实习经历秋招收获包括强生、Top房地产等6个offer最终选择房地产甲方,目前年薪20w。Hi 大家好,我是Alex。作为一个实习经历不太丰富,但是在秋招中还算有收获的过来人,我今天想要分享的主题是:作为没有让人眼前一亮的闪光经历的普通留学生,该如何从其他方面弥补,让自己在秋招中脱颖而出。没有实习,如何从其他方面弥补?我走到了宝洁的终面,...

weixin_39997194的博客 2114

LBS之五:时空索引--空间邻域搜索的高效实践

时空索引的原理及最佳实践

whascj的博客 1365

AIDL与Binder的区别

Binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。 它是对IBinder类的实现,其中IBinder类提供了这样一个类的标准的本地化实现方式。 大多数开发者不会去直接实现Binder类,而是用AIDL工具来描述他们自己想要的接口,借助它来生成一个合适的Binder之类。 AIDL(Android Interface Define

sunny_girl_11的博客 6770

【rk3566/3568】Android 11移植gms

【rk3566/3568】Android 11移植gms 1、前言 测试功能时,想去Google play store去下个应用测试,发现通过网页搜索总是下载不到正确的谷歌服务框架;于是就不得不去搞一个内置的gms。 2、移植 1、需要下载Android 11对应的gms的包 opengapps 2、看下文件目录 直接移植core里面的文件,GAPPs Optional按需添加 3、在vendor下创建google目录 ...

lin_ff的博客 7646

ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南

本文介绍 ESP-SPARKBOT AI 智能机器人 v1.2 版本的全流程复刻,包含 PCB 、3D 打印、固件烧录、常见问题解决、参考资料等

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9255

Android跨进程通信--Binder机制及AIDL是什么?

Android跨进程通信--Binder机制及AIDL是什么?

qq_44023485的博客 2211

环境配置与基础教程:当前大厂主流套路:使用 MLflow 全链路管理 YOLO 实验参数、指标与模型版本

YOLO26与MLflow结合实现高效实验管理 YOLO26通过移除DFL模块和实现无NMS端到端推理,在CPU推理速度上提升43%,同时简化了模型导出流程。MLflow 3.10/3.11版本新增多工作区支持、成本追踪和安全序列化等功能,为机器学习实验提供全生命周期管理。两者结合可解决传统"截图+Excel"式实验管理的痛点,实现参数追踪、指标对比和模型版本控制的自动化。 关键优势: YOLO26架构优化带来显著性能提升 MLflow提供实验到生产的全链路管理 原生集成简化了计算机视觉

ZXSXJ的博客 191

双非本科Android开发,如何逆袭拿到大厂 Offer?(1)

看了这么多书籍和网站之后需要对这些知识做一个比较系统的整理,这里推荐使用思维导图工具,下图则是我总结的Android复习体系图,完整的版本大家可以点击这里下载。Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。资源持续更新中,欢迎大家一起学习和探讨。

2301_82242251的博客 786

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

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

从零开始学Android!渣本毕业两年经验,附超全教程文档

背景 本人双非渣本 今年由于疫情,上半年一直在家里。2月份本来无忧无虑,呆在家里不给国家添乱的时候,发现身边的同学找到了大厂的offer。心里开始有点慌张。本来想在3月份如果能回到学校,就开始考研之路,但谁曾想这个假期,一直到了9月份。在家也尝试过考研,自己还是耐不住学习的寂寞,放弃了。走上了找工作的路途。 3月份,开始投简历,在牛客网上,找了几个内推,投了字节,阿里和腾讯。(ps:那时候也不知道谁给的勇气)。本来以为自己的简历不可能过筛选的,但每个投的简历都收到了面试通知。 无一例外,每一次的失败都是以

fanzhang_vip0723的博客 663

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

一个双非软件工程本科生的逆风翻盘经历

写在前面 我的高考分数不高,只上了一个很一般的学校,也对自己的专业不感兴趣。但庆幸的是,大学四年,我慢慢的对编程产生了兴趣,学会了如何学习并走入了编程的大门。 后来还算顺利吧!考上了某211硕,去年秋招也拿到了很多大厂的 offer ,目前工作之余也能写写文章给大家分享一些技术。 下面我就给大家讲述一下我读本科的经历,也希望给现在同样处境的朋友一点帮助。 迷茫期 2015年9月,我趁着我们省高校软件工程专业大幅扩招,以一个不高的分数上了一个还算凑合的文科型双非院校。 其实,我对编程本身没有一点兴趣,甚至当.

Android23333的博客 1193

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

无名双非逆袭阿里,成功方法竟如此简单...

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。所谓高级工程师就是在技术上逐步沉淀,逐步体系掌握核心技术得来的。架构师这个词,在我大学期间也觉得遥不可及。从来没有想到过自己有一天也会戴上这个头衔。其实,只要按照我上述的思路,按部就班,脚踏实地的不断的学习、进阶,并不难的。

m0_56255097的博客 201

12GB显卡也能跑?Minimax-h3-Singularity-V2-Pruned-GGUF 视频生成模型完全解读:34GB 原模如何瘦身 130 亿参数

Minimax-h3-Singularity-V2-Pruned-GGUF 是一套面向 ComfyUI 的量化 GGUF 视频生成模型,由 Abiray 对 34GB 的 MiniMax-H3 Singularity 视频模型做剪枝与量化:一次性砍掉约 **130.3 亿参数**、节省约 26GB 磁盘,最终最轻版本仅需 **8.9GB**,让 12GB 显存的显卡也能跑通文生视频、图生视频。本文

gitblog_01089的博客 244

Binder 与AIDL

Binder AIDL常见概念1.IPC2.Binder3.AIDLBinder与AIDL关系Binder机制如何实现进程间通信 常见概念 1.IPC IPC:Inter-Process Communication,进程间的通信或跨进程通信 2.Binder Binder是Android的一个类,它实现了IBinder接口。 从IPC角度来说,Binder是Android中的一种跨进程通信方式。通过这个Binder对象,客户端就可以获取服务端提供的服务或数据,这里的服务包括普通服务和基于AIDL的服务。

amynn的博客 650

Android开发还不会这些?一篇文章教你搞定计算机网络面试,使用指南

前言 跳槽容易,但想拿大厂的offer可不那么容易。很多小伙伴一直叨叨要跳槽,大大小小的公司面试了很多,但却很难拿到一个满意的offer,要么package太低,要么就是面试被虐。经过多次面试失利之后,方能明白什么叫基础不牢,地动山摇。面试官随便针对一个知识点深入考察一下,就回答不出来,这样还怎么能通过面试? 那么大厂到底面试到底需要哪些技术功底呢?这个就多了,不同公司的技术要求也不一样,但是相同的点在于,大公司对于技术的要求都不会很表面,必然会在一定广度的基础上要求有一定的深度。 快看看下面这些面试真题

Sunbuyi的博客 430

终面后拿offer几率_金蝶职能岗面试分享-快准狠拿Offer

背景:前期在公司官网以及合作网站前程无忧上投了人力资源岗,过了两周后HR电话进行初步沟通,隔天就反馈预约面试。面试当天一共三轮,HRM初面,HRD二面,HR总终面。次日,招聘小哥哥反馈通过面试,就薪酬福利等进行了详细沟通。洋葱(做得好):1、专业性,从前期电话沟通到最后HR总面试,每个面试官通过结构化面试呈现出来的专业性让人不得不佩服。最后的答疑环节看得出来HR对于公司的介绍以及目前的业务现状都十...

weixin_39886929的博客 2758

终面后拿offer几率_2021地产秋招之路冲冲冲,拿offer!!!

简单介绍一下自己,普通本科,985硕士,两段乙方总包单位经历,一段设计院经历,秋招海投地产公司。写在前面:地产秋招真的很看中实习经历,面试官也大部分围绕着这块去提问,所以没有地产实习的我泪奔……好吃亏呀。。。告诉自己:我是打不死的小强第一阶段(海投)9.1-9.15号左右,基本上在疯狂投简历,不断网申测评的阶段,回到了考研那会不断刷题的状态,这个没得办法,大部分公司都是行测+性格测试,有些公司像碧...

weixin_39533174的博客 2895

Binder与AIDL:跨进程通信的两种实现方式分析

AIDL是Android提供的接口定义工具,其本质是Binder的抽象层。开发者通过.aidl客户端代理类:封装Binder调用,隐藏底层细节。服务端存根类:处理远程调用并返回结果。AIDL通过将Binder的复杂操作简化为接口调用,降低了开发门槛。Binder是Android跨进程通信的基石,其内核级设计确保了高效与安全;AIDL则通过抽象接口简化了开发流程,成为应用层IPC的首选方案。随着Android架构演进,Binder机制持续优化(如binderFS驱动),而AIDL也通过支持。

2501_93893138的博客 645
上一篇: 两年Android开发三面上岸腾讯,这些核心知识点建议
下一篇: Android NDK 直播推流与引流
Agent学习路线
博客等级 码龄6年 1万+粉丝 1903原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值