Code Monkey home page Code Monkey logo

interview_internal_reference's People

Contributors

63isok avatar artariscn avatar dengchaoyun007 avatar evanleung08 avatar fnlearner avatar gythw avatar innei avatar jiaoqiyuan avatar keytouch avatar kunpengdai avatar likunyao avatar macyrate avatar octobug avatar ohiamfine avatar pyinx avatar senzhangai avatar shikunx avatar sjshenjian avatar wangbojing avatar wansho avatar wenchao1024 avatar xiepeiyang avatar yangdaidai avatar yttsam avatar zhiyong0804 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interview_internal_reference's Issues

1.1.9 输入 ping IP 后敲回车,发包前会发生什么?这题回答讲的不明白

ping目标ip时,如果在相同网段直接先查询arp缓存,如果找到目标ip的mac地址,直接发送出去,如果缓存中查不到,则从相同网段的网卡发arp问目标ip的mac地址,拿到mac地址后发送出去。如果不在主机的网段里,会查询默认网关ip,接着查询arp缓存,是否有网关的mac地址记录,如果有,填充该mac地址,发送出去,如果没有,发arp问网关的mac地址,得到结果,发送出去。

倒数第K个节点

设置一个头结点,它的下一个节点是原始指针,设置两个指针,一个快指针,一个慢指针,快指针多走n+1步,这样当快指针到达尾部的下一个节点的时候,慢指针的下一个节点就是要删除的节点

var removeNthFromEnd = function(head, n) {
    let dummy = new ListNode(0);
    dummy.next= head;
    let slow =dummy;
    let fast = dummy;
    while(n>=0){
        fast = fast.next;
        n--;
    }
    if(!fast) return head.next;
    while(fast!=null){
        fast = fast.next;
        slow = slow.next;
    }  
    slow.next = slow.next.next; 
    return dummy.next;

};

Can not clone the repo: File name too long

Cloning into '~/0voice/interview_internal_reference'...
remote: Enumerating objects: 263, done.
remote: Counting objects: 100% (263/263), done.
remote: Compressing objects: 100% (169/169), done.
remote: Total 263 (delta 96), reused 247 (delta 93), pack-reused 0
Receiving objects: 100% (263/263), 367.17 KiB | 4.32 MiB/s, done.
Resolving deltas: 100% (96/96), done.
error: cannot stat '1.3.0 在云计算大数据处理场景中,每天运行着成千上万的任务,每个任务都要进行 IO 读写。存储系统为了更好的服务,经常会保证高优先级的任务优先执行。当多个作业或用户访问存储系统时,如何保证优先级和公平性.md': File name too long
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

数据库优化思路

2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0

--------------------分割线-------------------------------
不是非我杠精,关于null,isNull,isNotNull其实是要看成本的,是否回表等因素总和考虑,才会决定是要走索引还是走全表扫描

也给大家找了一个作者的博文,仅供参考!!!

百度3.4.8

1.建立一个键值对
2.遍历数组
3.每次读到一个数
3.1如键值对为空,则填入这个数及值1
3.2如数与键相同,则值加1
3.3如键与数不同,则值减1,当值为0时清除键
4.可运行到数组结尾,也可判断当值大于等于数组剩余未遍历元素个数的二分之一时退出

请教问题

linux的零拷贝和写时复制这中特性有什么书籍或者资料可以系统学习吗?

1.1.2 sqrt实现

var EPSINON = 0.0000000001;

function sqrt2( ){
    var low = 1.4, high = 1.5;
    var mid = (low + high) / 2;
    while (high-low>EPSINON){
		console.log(low, high, mid)
        if (mid*mid>2){
            high = mid;
        }
        else{
            low = mid;
        }
        mid = (high + low) / 2;
    }
    
    return mid;
}
console.log(Math.sqrt(2),  sqrt2())

其中,mid*mid>2符号反了

建议

建立一个页面,类似左边是目录,右边是内容,可以便于查看。

关于面试问题的应用场景

RT,我想对于绝大多数(特别是第一次求职的)应聘者来说,对目标公司的业务是非常陌生的,在这样的情况下,生搬硬套地强行记忆诸如:

给定一个链表,删除链表的倒数第N个节点,并且返回链表的头结点
jvm的垃圾回收机制?
java类加载机制?如何实现自定义类加载器?findClass与loadClass的区别?

这样的问题,即便是用九牛二虎之力记住了,也是没有根基的浅层记忆。如果在这些面试题的后面附上不光是简单的答案,更加上一些实际在此公司中业务场景中,为何需要这样的知识的解说,那样不仅会容易理解很多,对面试者准备来说,时间也花得更加的有意义,学习到了真正的东西。

同学,学成了就来阿里天猫国际试试吧,实习社招都可以

天猫国际是**消费升级的第一跨境平台,是阿里经济体5年2000亿美金进口承诺的主力军。2019年天猫国际技术部和考拉合并成立了阿里巴巴大进口技术部,是阿里巴巴国际化战略的核心技术部门。致力于进口业务的技术突破和创新,助力**的消费者实现“买遍全球”的需求,跨入未来的万亿级市场。想了解更多的话,直接联系我吧,我帮你组内直推,大量HC,走过路过不可错过。
邮箱:[email protected]
微信:isHunterZhang

11.1.6 MongoDB和关系型数据库术语对比图.md

写了一下MySQL与MongoDB的对比

概念对比

MySQL MongoDB
Database Database
Table Collection
Row JSON or BSON
Column Field
Index Index
table joins(表连接) $lookup或嵌套文档
primary key(主键) _id
统计分析 aggregation
Redo日志 Journal日志
Binlog日志 Oplog日志

模式语句对比

SQL模式语句 MongoDB模式语句
create table db.test.insert({x:1})或db.createCollection("test")
alter table add column db.test.update({},{'$set':{a:2}})
alter table drop column 删除字段$unset
create index db.test.createIndex({x:1,a:-1})
drop table或者truncate table db.test.drop()
drop database db.dropDatabase()
insert into db.test.insertOne()或db.test.insert()
select col1 from test order by a limit 1,2 db.test.find({xxx:10},{x:1,a:1}).sort({a:1}).skip(1).limit(2)
update db.test.update({x:1},{$set:{a:6}})
delete from db.test.deleteMany({x:1})

1.1.3 思路完善

BST(二叉搜索树)在wiki中已经有详细的描述了,下面陈述一下我个人的思路:
对于bst的搜索,有两种常用的编码实现,递归和迭代。对于普通的通过key来查找,
递归和迭代都很容易实现,如果添加一个影响因子(比如说通过key查找的同时,还要满足父节点的value是多少...),这样通过递归实现,也就是添加一个参数,函数体里添加一个逻辑即可,但对于迭代来说,实现的复杂度就增加了很多。本例就是一个典型,所以这题推荐使用递归实现,主要因为递归实现难度不高。

下面分析一下,本题用递归实现的方式。(从不同的角度看问题,就有不同的解决方案)


求bst第k小的节点?

角度1:也就是示例中的解法,我用自己的语言翻译一遍:如果存在某个节点n,她的左子树中节点的个数是k-1,那么这个节点n就是要找的节点。此时会存在3种情况:(bingo,左子树节点个数正好是k-1;左子树节点数大于k-1,那么以节点n的左子节点为基础,重新找;左子树的节点数小于k-1,说明要找的节点在节点n的右子树上,以n的右子节点为基础,继续查找,此时k因子也会有响应的调整),这种解法,我称为"多次左子树遍历"

角度2:基于bst的特性,中序遍历的结果,取第k个节点,就是问题的解,这种解法,我称为"中序遍历 + 计数"

两种解法的对比:

  • 两者都是基于递归来实现
  • 多次左子树遍历,会存在多次遍历; 中序+计数的方式则不会,对性能有要求的,可以选择后一种解法

1.3.5 答案有误

原题目:
给定一个整数数组和一个整数,返回两个数组的索引,这两个索引指向的数字的加和等于指定的整数。需要最优的算法,分析算法的空间和时间复杂度

分析:答案给的two pointers解法,但是前提是数组是有序的才行

修改建议:
把题目中数组改为从小到大排列的有序数组
或修改算法,先将数组排序,这样时间复杂度为O(nlogn)

git clone failed

on windows:
$ git clone https://github.com/0voice/interview_internal_reference.git
Cloning into 'interview_internal_reference'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 733 (delta 8), reused 4 (delta 1), pack-reused 710
Receiving objects: 100% (733/733), 514.31 KiB | 54.00 KiB/s, done.
Resolving deltas: 100% (349/349), done.
error: unable to create file 02.华为篇/2.1.0 static有什么用途?.md: Invalid argument
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

1.1.9 答案完善

#9 里面提得非常详细,原文我觉得应该要修改一下
再者,还要考虑对应网卡是否是多路访问网络

ping目标ip时,先查路由表,确定出接口

  • 如果落在直连接口子网内,此时若为以太网等 多路访问网络 则先查询arp缓存,命中则直接发出,否则在该接口上发arp询问目标ip的mac地址,取得后发出,若为ppp等 点对点网络 ,则直接可以发出;
  • 如果查表落在缺省路由上,此时若为以太网等 多路访问网络 则先查询网关arp缓存,命中则直接发出,否则在该接口上发arp询问网关的mac地址,取得后发出,若为ppp等 点对点网络 ,则直接可以发出;
  • 若查表未命中,则返回不可达。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.