自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学渣晖sir的博客

ID暴露一切,讨厌学人精的辣鸡程序员

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Windows高效通信模型之IOCP

今晚复习计网去了...然后思考了一下怎么解决今天下午那份代码,客户端被子线程阻塞的问题。就像之前说的,那份代码是“One-thread-per-client“的模型,对每个是客户端的连接请求,都要临时创建一个socket来处理,这样就造成了系统开销比较大的问题,而且线程之间的互相阻塞也是影响效率的重要原因。于是上网找了一下相关的信息,发现Windows下有一种号称性能最好的通信模型,叫做IOC

2017-05-01 01:35:58 11690

原创 windows环境下C++多线程文件传输

把上午写的传输字符串代码改了一下,本来是想实现客户端和服务器一对一多线程分块传输的,结果发现好像变成了一个服务器对多个客户端,每个客户端分配一条线程来处理文件传输任务的模式...直接上代码,使用的是简单的fstream操作。Sever代码:#include "stdafx.h"#include //windows socket的头文件#include #include #in

2017-04-30 17:32:41 6815 2

原创 Windows环境下C++多线程TCP通信

最近突然对传输层的东西有了兴趣...发现自己虽然学过计网也学过C++,却没有真正实现过客户端和服务器之间的通信,于是恶补了一下socket知识,再加上大佬们的指导,模仿着写了个demo...直接上代码。首先是服务器端,要注意如果一开始写了using namespace std; 那么就要注意std里面的bind和socket相关的bind是同名的...如果直接调用bind,实际上调用的是s

2017-04-30 12:16:11 10964 2

原创 C++多线程编程

看了一段时间的JS,是时候捡起老本行C++来复习一下了。发现自己意外地对C++多线程编程没啥了解...就知道Java里面的fork()和join(),剩下的都是再安卓开发的时候涉及的,还有就是看pintos里面的源码了。这次主要是尝试使用STL封装的thread类,它的前身据说是boost::thread,实际使用效果还不错。最简单的,创建线程,输出pid:#include #i

2017-04-29 00:34:34 1243

原创 Agile Lite框架初步认识之单页模式

今天看到Agile Lite中提及了移动端页面的开发模式,其中就涉及了单页模式的详细介绍。按照官方的解释:这实际上也是之前面试的时候被问到的SPA的特点:以HTML为容器,每个页面对应一个HTML片段,通过ajax类实现页面的刷新显示。与看这个框架越发现...面试的问题基本都是围绕着这个框架展开的,Agile Lite还强调了前后端分离的概念,这应该是和公司目前正在开发的项目密切相

2017-04-27 21:20:49 402

原创 移动端开发框架之Agile Lite初探

想起之前面试的时候问过师兄,公司业务主要使用了什么框架,当时只是模糊地听到了一个发音【Anjuly???】,也没办法搜索到。后来无意中在看H5框架的时候看到一个发音非常相似的框架,叫做Agile lite。于是点进官方网站观摩学习了一下,官方的介绍是这样的:原来是一个H5移动应用开发框架,似乎完美贴合移动事业群的开发方向,应该就是它没错了。本来想着继续往下看的,我奶发现它的

2017-04-27 00:14:20 1059

原创 前端面试经历及总结

昨天突然收到今天面试的通知...原来还以为简历沉了,于是跟cao和小明弄互联网+去了,前端没怎么复习。其实问的问题挺基础的,师兄师姐人也不错,就是今天部门行政那边安排有点小失误。面试整个过程发现自己还是对前端学习不够啊,尤其是CSS这方面,之前都交给女生去做了,简直是挖坑给自己跳...先说几个印象比较深刻的问题:1. 说说你对单页面应用的理解老实说这问题确实不太会答,所以直接在百度

2017-04-25 13:05:26 2944

原创 移动端缓存性能和加载速度优化

今晚跟一个前端大佬同学讨论了一下开发中会遇到的问题,其中提到移动端页面的缓存性能优化和加载速度优化。我之前没有考虑过这个问题,于是在请教大佬之余,自己又快速学习一波。总的来说,移动端的缓存主要借助于H5的缓存机制,分别是:1. 浏览器缓存机制;2. Dom Storgage(Web Storage)存储机制;3. Web SQL Database存储机制;4. Applic

2017-04-24 22:42:03 1882

原创 JS异步机制之回调函数

今晚一边复习一遍快速学习,看到JS回调函数这里,猛然回忆起华为面试那天(到底是有多执着于华为),某帅被问到JS的异步机制是如何实现的,没答上来。后来我自己也百度了一下,发现一种可行的方法是使用回调函数。那么回调函数到底是啥,感觉自己以前听过这个名词,但是又想不起来它的作用。实际上,回调函数(Callback Function)就是指本身作为一个参数传递给外部函数,且需要等待外部函数执行完毕

2017-04-24 20:39:02 2746

原创 JavaScript对象和JSON对象的相互转换

之前做安卓应用的时候,为了实现一个抓取网页并推送给用户的功能,接触到了JSON这种神奇的东西。大家都说JSON是一种轻量级的数据交换格式,长得也挺大众,花括号,键值对,在很多编程语言里面都能见到类似的结构。今天刚好有个朋友问我怎么将JavaScript和JSON互相转换,我第一时间想到的就是直接赋值,但是马上就觉得这方法太低端了...讲道理JSON肯定提供了某些舍弃的API可以直接转换,于

2017-04-24 20:15:22 476

原创 基于JavaScript实现动画轮播效果

这是之前做一个仿极客学院网站写的代码了,年代也比较久远。原本是使用jquery写的,后来被强制改回JavaScript...鬼知道我那时经历了什么。直接上代码(Carousel.js): var img_list = document.getElementById("carousel-box").getElementsByTagName("div")[0]; var ori_im

2017-04-24 18:39:21 384

原创 JavaScript闭包的简单理解

之前在上web课的时候,听张老师讲JS闭包感觉很简单,就是函数相互嵌套,内部的函数就叫做外部函数的闭包(Closure)。话说闭包这个词真的挺常出现的,离散里面有它,数据库范式里面也有它。最近看到一个比较正规的表述:有权访问另一个函数作用域内变量的函数都是闭包。闭包的作用实际上是增强了函数的封装性,比如你在外部函数定义了一个局部变量,再将它放入一个闭包中,那么除了这个闭包之外,

2017-04-24 18:15:17 255

原创 JS学习之原型与继承

其实这篇文章很早就想打算写了,不过因为在和同学忙一个互联网+的项目,一直没时间。刚好最近开始复习前端的知识,发现自己以前用JavaScript和jQuery都属于拿来主义,没有真正理解透其中的原理,所以就立马记录下来。之前面试华为的时候,有个同学被面试官问JavaScript的继承是怎么实现的,当时就愣住了,面试官又问异步机制的实现方法,也没答上来,一面就挂了。首先,JavaScr

2017-04-24 16:34:18 265

原创 华为2017暑期实习生面试体会

今天到广州嘉鸿华美达酒店参加了华为2017年实习生的面试...总体感觉比较混乱,而且看到身边好多大神同学都被刷了,有点震惊,下面就讲讲体会。首先是一面等候区,一群人坐在一个区域里,等着面试官出来叫人,叫到之后进入面试区域,里面有很多桌子,每个人和面试官面对面,基本上的贴着脸讲。面试官先让我自我介绍,然后就是根据简历上的问题进行提问,比如项目主要涉及的知识,然后就让你解释一下里面的一些概念和技术

2017-04-08 19:31:11 9200 3

原创 算法导论——插入排序

算法导论开篇就在讲排序算法,首先是最基础的插入排序,过程类似于打牌的时候将手里的牌按大小排好——不断摸牌,将新牌与手里的牌作比较,插入到左侧牌比它小,右侧牌比它大的位置。基础中的基础,算法实现如下:#include using namespace std;int main(){ int N; while(cin >> N){ int arr

2017-03-28 15:44:45 246

原创 读书笔记绪论

学了这么久C++之类的语言,发现自己的基础还是很薄弱,而且算法知识进基本没有(或者说是忘光了)。于是今天决定拿起算法导论来啃一波,顺便再看看C++ Primer Plus,算是复习一下自己这么久以来的学的东西,顺便扫盲。过几天估计就要面试了,希望现在抱佛脚还能来得及吧

2017-03-28 14:48:36 308

原创 2017华为暑期实习生招聘真题(3月24日)

昨天做了一下华为的机考题,难度比之前的有所增加,因为涉及的知识不再是众所周知的东西了。首先第一题就开始坑(对没看过机考经验的人来说)第一题的题目要求是输入两个整数a,b(0 例如:输入 123,456输出 321 + 654 = 975输入 100,200输出 3这道题首先需要处理的就是将int数字反转的问题。这一步可以通过mod 10运算和整除10

2017-03-25 23:41:22 1974 4

原创 华为机试在线训练——计算最后一个单词的长度

没啥好说的...感觉就是帮自己回忆了一下stringstream的用法,思路很简单,但是因为涉及字符串流操作所以效率可能不高,但是写起来方便就没管那么多了。题目如下:这里只要用getline获取整行,然后用stringstream分别将每个单词输入然后存放到向量里面,接下来的事情就很简单了:#include #include #include #include usi

2017-03-24 01:59:34 317

原创 华为2016校园招聘上机笔试题——成绩查询和更新

最近倒回去看了一下去年的华为机考题,发现难度和今年的完全不是一个档次...第一题就有挺多坑的题目如下:嗯,看起来就是用C++实现一下数据库的查询和修改功能。一般来说脑海里想到的第一个算法就是对的了,感觉Q操作可以先排序,也可以直接找最大值。想了想先排序吧,开个临时数组截出指定的一段然后排序完返回头部就好(降序排序)。于是写出代码如下:#include #include

2017-03-23 20:28:29 5722 1

原创 华为研发工程师机考送分题——进制转换

华为研发工程师的机考一共有三题,第一题是小学奥数的经典题目,瓶盖换汽水。第二题是数组的去重和排序。第三题就是将输入的十六进制字符串转换成十进制然后输出。本来想着昨晚的,但一看时间已经这么晚了,就先把相对最简单的一题做了。输入:一个代表十六进制数的字符串输出:对应的十进制数字大概是大一的时候就做过这题,感觉纯粹是考ASCII码的记忆和进制转换算法......不过也可以建立一个对应的t

2017-03-23 01:19:09 738 1

原创 2017网易雷火盘古实习生招聘试题——硬币反转

今天听说cao参加了网易雷火盘古的招聘,做了几道编程题。据他本人的描述,第一道题是这样的:第一行输入两个数字N和M,表示现在有N个硬币,需要反转M次。初始所有硬币都默认为正面,用0表示,反面则用1表示。求经过一系列操作之后的硬币正反排列。根据cao本人的说法,输入输出样例是这样的:感觉比较简单......毕竟第一题都是让应聘者放松警惕的。直接上代码如下:#i

2017-03-22 22:06:36 389 2

原创 2017华为实习生招聘机考模拟题——0交换排序

做完华为的模拟机考题,趁着还记得题目记录下来。问题描述是,给定一个乱序存放着[0, n)的数组,提供一个swap_with_zero(int* array, int len, int n)函数,该函数可以交换数组中n和0的位置。要求调用这个函数完成数组排序(默认应该是升序)。比较坑的一点是刚开始没看到void swap_with_zero(int* array, int len, int

2017-03-22 17:37:57 2939 3

原创 腾讯2017年实习生招聘编程题——构造回文

虽然这是实习生招聘的第一题,但是对我这种不太了解动态规划和LCS(Longest Common Sequence)相关算法的学渣来说,还是有比较多坑的......只隐约记得以前在SOJ见过类似的题目,但是当时比较懒,没有仔细钻研,没想到现在还是得补回来。题目如下:乍一看好像没什么好的方法,但是仔细思考一下,会发现这题真的可以“换个方向”来看。既然题目要求得到的是回文串,那么

2017-03-22 01:27:30 437

原创 腾讯2017年实习生招聘编程题——字符移位

今天看到腾讯的一道实习生编程题,要求将字符串中的所有小写字母移动到大写字母前面,保持相对位置,并且不能申请额外空间。思路不难,但是题目限制了不能申请额外空间,意思大概就是要我们对字符串本身进行操作,不能借助其他的容器。大致的想法就是用一前一后两个指针遍历字符串(下标差值恒为1),当慢指针遇到大写字母,且快指针遇到小写字母的时候,交换两个字符的位置(具体操作跟swap函数类似)。我的方法参考

2017-03-21 23:11:45 372

原创 网易校招基础编程题——计算炮击次数

据说是校招的一道编程题,解题思路很简单,只需要一点基础的数学知识,但是需要注意测试样例有多组。只需要简单的计算欧氏距离,与炮台射程进行比较即可。代码实现如下:#include using namespace std;int main(){ int count; double x[4]; double y[4]; double R;

2017-03-21 01:18:38 438

原创 2017网易雷火盘古实习生招聘编程题之字符串编码——LZ压缩

今天在牛客上刷到网易雷火盘古的实习生招聘真题,第一题说的是字符串编码,题目如下:一开始看错题目,以为只要输出所有不同字符及其出现次数,结果没有通过测试。认真审题后发现,实际上这一题考察的是基础的LZ编码。思路比较简单,只需要遍历字符串,对每一个单独的字符设置一个初始值为1的计数器,然后比较它和相邻的字符是否相同,如果相同则加1,直到遇到不同的字符,输出当前计数器的值并重置为1。具体

2017-03-20 23:05:40 510

电磁波第二章总结

电磁场与电磁波第二章教材知识总结,包括矢量分析,场的梯度,旋度,散度,以及两个零恒等式和亥姆霍兹定理的总结与分析。

2015-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除