中科院

中科院电面细节总结

第一:首先基本上是,基于你的简历进行初步的了解

1:询问我的github上的项目,是不是自己做的,怎么做的,问了一下那个九宫格游戏,那个是fork别人的,然后他问我自己有没有研究?,那个项目有bug,我就实话实说,然后他问我哪里有bug,如何解决bug,问题出在哪里,,霹雳啪啦,霹雳啪啦。。。。。。。

2:看到我上面写考了会计证,问我是不是有从事金融的打算,学习成绩怎么样?排名如何?这个金融的问题,真是没想到,还以为他们要我去搞金融,原来担心我方向不明确,我说,自己只是想扩展一下各方面的知识,多学点东西对自己总是好的,主要还是从事web前端开发,热爱前端。。。。。。啥啥啥的。。。。

3:针对我的网页简历,提出了一个非常好的问题,网页简历用到了3d模型,从正面看的,问我如果从背面看会产生什么问题?因为我那个是用图片渲染的,图片上面加了文字,问我如果,不要图片,只用文字,实现怎么搞?这个我知道,就霹雳啪啦,霹雳啪啦。。。。。。。的说了一堆。

4:问我对最新前沿的技术有没有什么了解?比如说node.js,我只了解一点点,就说,对于现在的自己,目前太高深的问题不太适合,还是以基础为主。。。。。啥啥啥的。

5:问到考研的问题?问我大三怎么不去考研?

6:问我,自己对学习前端有没有什么规划,主要学习那些?前沿的技术是否了解?。。。。。啥啥啥的。。。。。。。。

7:问我阿里云ECS是怎么弄的,备案怎么搞得,配置环境啊,,是不是都是自己搞得还是一起弄得?我都是自己一个人琢磨出来的。。霹雳啪啦,噼里啪啦。。我说了一堆,跟他讲了一堆,。。,啥啥啥的。。。。。。

8:问我对于WEB UI有什么看法?扯到曾经实习软件公司的经历,在实习公司做了什么,用什么做的?

好吧!上面那些看似不够高大上,其实还是很考验一个人的反应能力的,说错了话,结果就可想而知。。。。。感觉每个问题都在考验我的反应能力。

第二:专业问题

1:如何检测一个变量是字符串?如何检测为对象类型呢?

1:使用typeOF检测字符串    var str;
    alert(typeOf  str)             

2:给测试变量加上一个空白字符,然后与测试变量做全等判断,就可以得出这个变量是否是字符串。  <script type="text/javascript">        var str=‘ss‘;        var stt=str+‘‘;        alert(str==stt);   //输出为真  </script

我只知道上面两种,还有其它方法,麻烦给我留言哈!

1:typeof 可以判断function的类型;在判断除Object类型的对象时比较方便。

2:判断已知对象类型的方法: instanceof
alert(c instanceof Array) ---------------> true
alert(d instanceof Date)
alert(f instanceof Function) ------------> true
alert(f instanceof function) ------------> false
注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

3:根据对象的constructor判断: constructor

alert(c.constructor === Array) ----------> true

alert(d.constructor === Date) -----------> true

alert(e.constructor === Function) -------> true

注意: constructor 在类继承时会出错

eg:

      function A(){};

      function B(){};

      A.prototype = new B(); //A继承自B

      var aObj = new A();

      alert(aobj.constructor === B) -----------> true;

      alert(aobj.constructor === A) -----------> false;

而instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true:

      alert(aobj instanceof B) ----------------> true;

      alert(aobj instanceof B) ----------------> true;

言归正传,解决construtor的问题通常是让对象的constructor手动指向自己:

      aobj.constructor = A; //将自己的类赋值给对象的constructor属性

      alert(aobj.constructor === A) -----------> true;

      alert(aobj.constructor === B) -----------> false; //基类不会报true了;

4:通用但很繁琐的方法: prototype:
alert(Object.prototype.toString.call(a) === ‘[object String]’) -------> true;
alert(Object.prototype.toString.call(b) === ‘[object Number]’) -------> true;
alert(Object.prototype.toString.call(c) === ‘[object Array]’) -------> true;
alert(Object.prototype.toString.call(d) === ‘[object Date]’) -------> true;
alert(Object.prototype.toString.call(e) === ‘[object Function]’) -------> true;
alert(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;
大小写不能写错,比较麻烦,但胜在通用。

2:对于页面加载缓慢,如何进行优化,解决途径是什么?--这个我答的不好

我是先讲页面加载缓慢是那些原因造成的,比如:

  A:后端的问题。

一般网页第一个请求是动态请求的概率比较大,如果这个请求特别耗时,那肯定不是前端的责任。

 B:请求过多

数一下瀑布图总共有多少行,onload之前如果有几百行,那么请求就太多了。一下子加载那么多资源造成拥挤。css,

js该合并的合并,图标该精灵的精灵,使用字体图标也很好。还有,有些不重要的东西不用放到onload之前加载,

放到后面也一样。  网页发请求数越少越好。

比如:HTML的话可以从script标签这里说,比如动态加载script标签,异步加载script标签(IE:defer、标准:async)

还有就是css阻塞和js阻塞问题,将script标签放置于</body>之前就可以,行为层与变现层进行分开。

C:某一个部分请求的时间花费过长。

请求比其他请求的时间大出一个数量级,这种情况一般是因为某一个资源太慢了,导致网页整体变慢,资源慢的原因可能是:

a)资源在第三方站点上,他们很慢;

b)这个资源太大了;

c)这个 资源使用的域名有问题。

D:网络问题

  仔细看一下一个单独的http请求,他们会分为好几段,分别是域名解析、建立连接、发送请求、等待响应和接收数据几个阶段。理论上域名解析和建立连接应该占用的时间很小才对,主要的时间应该用在后面几个阶段上。上图中,浅灰色和灰色分别代表域名解析和建立连接。可以看出这两个请求中花费在网络层上的时间太长了,超过总时间的一半还要多。网络层时间过长除了可能和底层网络有关之外,还可能和站点的服务端性能有关(后端RD的事情哦)。当然,如果这种情况发生在向第三方站点发送的请求上(实际上也经常发生),建议取消或者更换某些站点功能从而避免这样的请求了。

E:接收数据时间过长

上面说了,http请求的大部分时间应该花在后面几个阶段,比如等待响应和接收数据。但是,如果接收数据的时间太长了

长到数百毫秒甚至以秒计算的时候。那也是有问题的。这种情况一般是因为下载的内容太重了,例如大图片、大脚本等。

这类问题可以使用GZIP压缩、图片压缩或者JS/CSS的minify等 手段来解决。

  还有像CSS Sprites,合并CSS文件等方案。

F:js阻塞请求

     

     

      图中两个连续的请求之间出现了一个很大的空隙,为啥会出现这个空隙呢?是因为写的js性能有问题,解析执行js花了很

长时间,导致这段时间的资源加载都被阻塞住了。

G:如果以上都没有

   

    翻看每个http请求,仔细研究每个请求头响应头,看看是不是没有设置缓存啦,图片优化的不够好之类的。可以先找个工具

分析一下,比如:http://speed.mmtrix.com/,问题一目了然。

 

H:采用CDN托管

    CDN的全称是Content Delivery Network,即内容分发网络。CDN的通俗理解就是网站加速,CPU均衡负载,可以解决

跨运营商, 跨地区,服务器负载能力过低,带宽过少等带来的网站打开速度慢等问题。

CDN的基本思路是尽可能避开互联网上有可能影响 数据传输速度和稳定性的瓶颈和环节,使内容传输的更

快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。

    CDN 系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合

信息将用户的请求重新导向离用户最近的服务节点上。 其目的是使用户 可就近取得所需内容,解决

 Internet网络拥挤的状况,提高用户访问网站的响应速度。

M:利用缓存方案

   服务端缓存是通过将相同数据保存下来,当访问用户请求相同内容时,不再重新去数据库查询数据,而是将之前保存在

服务器的数据响应给用户这样就加快了网站页面加载速度,但是临时保存会占用部分服务器资源。其本质是通过空间换取

时间,提高网页加载速度。页面缓存指的是将用户请求过的页面完整保存下来,有相同请求时直接响应给用户,此方式数

据量是最大的;页面部分缓存是指输出缓存页面的某些部分,而不是缓存整个页面内容。

实现页面部分缓存有 两种机制:

第一种:对用户控件进行缓存配置

此种是将页面中需要缓存的部分置于用户控件(.ascx文件)中,并且为用户控件设置缓存功能

(包含用户控件的ASP.NET页面可设置也可不 设置缓存)。

这就是通常所说的“控件缓存”。

主要包括以下3种方法:

一:使用@ OutputCache指令以声明方式为用户控件设置缓存功能,

二:在代码隐藏文件中使用PartialCachingAttribute类设置用户控件 缓存;

三:使用ControlCachePolicy类以编程方式指定用户控件缓存设置。

第二种:“缓存后替换”的方法。

该方法与控件缓存正好 相反,将页面中的某一部分设置为不缓存,因此,尽管缓存了整个页面,

但是当再次请求该页时,将重新处理那些没有设置为缓存的内容。

基本上就问了这么多,还有的记不清了。关于以上问题,大家如果又觉得好的解决方案,麻烦给我留言哈!

时间: 2024-10-06 00:39:08

中科院的相关文章

中科院开源协会镜像站 Android SDK镜像测试发布

科技网最大的镜像站,中科院开源协会镜像站项目正式启动. 目前先行发布Android SDK镜像. 支持IPV6,享受飞一般的速度. 在宿舍下载更可享受不计流量的快感. 使用方法 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Prox

【综述】(中科院)樊彬老师-“局部图像特征描述概述”

[综述](中科院)樊彬老师-“局部图像特征描述概述” 这次我们荣幸地邀请到中国科学院自动化研究所的樊彬老师为我们撰写图像特征描述符方面的最新综述.樊彬老师在图像特征描述方面已连续发表了包括TPAMI.PR.ICCV.CVPR在内的多篇高质量论文.他的个人主页为:http://www.sigvc.org/bfan/ 以后我们将持续邀请国内外众多老师做最新的视觉计算专业综述报告,如特征提取和描述.稀疏表达.人体跟踪.三维衣服布料动画.轻量级Web3D等,并陆续在学术论坛上发布.各位老师会尽量使综述通

中科院随机算法课程(孙晓明主讲)topic list

如题,列出<随机算法>课程的topic list,以记录和供有兴趣的朋友研究. Lession1:生日悖论.生日攻击.两个常用数学工具(马尔科夫不等式.切比雪夫不等式) Lession2:radom quick sort(hw).矩阵乘法判定.min(max())=max(min()).复杂性类(BPP/RP/CORP/ZPP) Lession3:证明BPP2/3=BPP0.99.ZPP<=RP^CORP.Game Tree Lession4:Balls and Bins Lession

中科院中文分词系统ICTCLAS如何在安卓平台上使用

============问题描述============ 最近的安卓开发中需要用到中文分词,就用了中科院的这个分词系统,但是按java应用程序方法引入API中的文件(DATA,ICTCLAS,Configure)等程序总会报错,请问有人在安卓平台上用过吗?麻烦告诉我该如何引用,如果有别的分词系统使用方法也可以~~ ============解决方案1============ dll貌似不能行啊...

Python调用中科院NLPIR(ICTCLAS2015)详解 刘超([email&#160;protected])

Python调用中科院NLPIR(ICTCLAS2015)详解 南京理工大学 计算机科学与工程学院 RuiXia_NUSTM课题组 ChaoLiu([email protected]) ------------------------- 主要讲解内容: 1. NLPIR版本及下载 2. 代码问题 3. userdict的使用问题 ------------------------- 友情提示:如果是swig问题,自己处理.首先下载swig,swig可以帮助我们将C或者C++编写的DLL或者SO文件

针对中科院java接口的用法和问题

1.下载附加的中科院分词工具包(要下载的到我的博客里面免费下载就可以) 2.解压后会看到例如以下几个目录 3.把java工程导入eclipse中.点击import.再选择existing project into workspace 4.导入sample文件下的JnaTest_NLPIR的javaproject文件,按确定就可以导入 5.在NlpirTest类下改动路径问题: (1)我的NLRIR的路径是"E:\数据挖掘\数据挖掘课程作业(大三)\汉语分词20140928\lib\win64\N

中科院分词工具使用

中科院分词工具java的配置与里面自带的讲解相同,下面是代码 package xieru; import hello.Hello.CLibrary; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileRea

自由软件日SFD - 中科院站落幕

2014年9月20日,由中国科学院开源软件协会主办的自由软件日SFD -中国科学院站活动在中科院中关村园区教学楼成功举办.软件自由日(SFD,SoftwareFreedomDay)是一个关于自由软件和开源软件的全球性庆祝活动.从2006年开始,定于每年9月的第三个星期六举行.其目的是向公众推广和宣传自由/开源软件.作为一年一度自由软件文化交流的盛大节日,这次活动的成功反映了学生.老师和教育界对开源软件的支持. 本次活动以"开放.自由.分享"为主题,对开源桌面操作系统.开源手机操作系统.

针对中科院java接口的使用方法和问题

1.下载附加的中科院分词工具包(要下载的到我的博客里面免费下载即可) 2.解压后会看到如下几个文件夹 3.把java工程导入eclipse中,点击import,再选择existing project into workspace 4.导入sample文件下的JnaTest_NLPIR的java工程文件,按确定即可导入 5.在NlpirTest类下修改路径问题: (1)我的NLRIR的路径是"E:\数据挖掘\数据挖掘课程作业(大三)\汉语分词20140928\lib\win64\NLRIR&quo